summaryrefslogtreecommitdiff
path: root/src/resolve/resolved-dns-scope.h
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2014-08-06 16:15:35 +0200
committerLennart Poettering <lennart@poettering.net>2014-08-11 15:06:22 +0200
commita407657425a3e47fd2b559cd3bc800f791303f63 (patch)
tree9d7dd0f9a286eb364769d9d39c6cdfce36e0a18a /src/resolve/resolved-dns-scope.h
parent3ef77d0476046a660c1b4704140797c447e6ce3a (diff)
resolved: implement full LLMNR conflict detection logic
Diffstat (limited to 'src/resolve/resolved-dns-scope.h')
-rw-r--r--src/resolve/resolved-dns-scope.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/resolve/resolved-dns-scope.h b/src/resolve/resolved-dns-scope.h
index ae9469a39f..6ba5ef2419 100644
--- a/src/resolve/resolved-dns-scope.h
+++ b/src/resolve/resolved-dns-scope.h
@@ -55,6 +55,9 @@ struct DnsScope {
DnsCache cache;
DnsZone zone;
+ Hashmap *conflict_queue;
+ sd_event_source *conflict_event_source;
+
RateLimit ratelimit;
LIST_HEAD(DnsTransaction, transactions);
@@ -65,7 +68,7 @@ struct DnsScope {
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);
+int dns_scope_emit(DnsScope *s, DnsPacket *p);
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);
@@ -80,3 +83,6 @@ 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, bool cache_ok);
+
+int dns_scope_notify_conflict(DnsScope *scope, DnsResourceRecord *rr);
+void dns_scope_check_conflicts(DnsScope *scope, DnsPacket *p);