chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
hostnamed: watch system hostname changes and update LLMNR RRs accordingly
[elogind.git]
/
src
/
resolve
/
resolved-dns-scope.h
diff --git
a/src/resolve/resolved-dns-scope.h
b/src/resolve/resolved-dns-scope.h
index 6c93fa80be3a1c4ec3399a6f0ecc263c8f877e07..67a6ba2901196f231926b211873f1b52cf274a1e 100644
(file)
--- a/
src/resolve/resolved-dns-scope.h
+++ b/
src/resolve/resolved-dns-scope.h
@@
-31,6
+31,8
@@
typedef struct DnsScope DnsScope;
#include "resolved-dns-packet.h"
#include "resolved-dns-query.h"
#include "resolved-dns-cache.h"
#include "resolved-dns-packet.h"
#include "resolved-dns-query.h"
#include "resolved-dns-cache.h"
+#include "resolved-dns-zone.h"
+#include "resolved-dns-stream.h"
typedef enum DnsScopeMatch {
DNS_SCOPE_NO,
typedef enum DnsScopeMatch {
DNS_SCOPE_NO,
@@
-51,8
+53,9
@@
struct DnsScope {
char **domains;
DnsCache cache;
char **domains;
DnsCache cache;
+ DnsZone zone;
- LIST_HEAD(Dns
Query
Transaction, transactions);
+ LIST_HEAD(DnsTransaction, transactions);
LIST_FIELDS(DnsScope, scopes);
};
LIST_FIELDS(DnsScope, scopes);
};
@@
-61,12
+64,17
@@
int dns_scope_new(Manager *m, DnsScope **ret, Link *l, DnsProtocol p, int family
DnsScope* dns_scope_free(DnsScope *s);
int dns_scope_send(DnsScope *s, DnsPacket *p);
DnsScope* dns_scope_free(DnsScope *s);
int dns_scope_send(DnsScope *s, DnsPacket *p);
-int dns_scope_tcp_socket(DnsScope *s);
+int dns_scope_tcp_socket(DnsScope *s
, int family, const union in_addr_union *address, uint16_t port
);
DnsScopeMatch dns_scope_good_domain(DnsScope *s, const char *domain);
int dns_scope_good_key(DnsScope *s, DnsResourceKey *key);
DnsScopeMatch dns_scope_good_domain(DnsScope *s, const char *domain);
int dns_scope_good_key(DnsScope *s, DnsResourceKey *key);
+int dns_scope_good_dns_server(DnsScope *s, int family, const union in_addr_union *address);
DnsServer *dns_scope_get_server(DnsScope *s);
void dns_scope_next_dns_server(DnsScope *s);
int dns_scope_llmnr_membership(DnsScope *s, bool b);
DnsServer *dns_scope_get_server(DnsScope *s);
void dns_scope_next_dns_server(DnsScope *s);
int dns_scope_llmnr_membership(DnsScope *s, bool b);
+
+void dns_scope_process_query(DnsScope *s, DnsStream *stream, DnsPacket *p);
+
+DnsTransaction *dns_scope_find_transaction(DnsScope *scope, DnsQuestion *question);