Systemd/src/resolve
Daniel Mack 0afa57e2e7 resolved: implement query coalescing
Implement dns_transaction_make_packet_mdns(), a special version of
dns_transaction_make_packet() for mDNS which differs in many ways:

a) We coalesce queries of currently active transaction on the scope.
   This is possible because mDNS actually allows many questions in a
   to be sent in a single packet and it takes some burden from the
   network.

b) Both A and AAAA query keys are broadcast on both IPv4 and IPv6
   scopes, because other hosts might only respond on one of their
   addresses but resolve both types.

c) We discard previously sent packages (t->sent) so we can start over
   and coalesce pending transactions again.
2015-12-08 16:51:41 +01:00
..
.gitignore resolve: add more record types and convert to gperf table 2014-08-03 22:02:32 -04:00
Makefile resolved: add daemon to manage resolv.conf 2014-05-19 18:14:56 +02:00
dns-type.c treewide: fix typos 2015-07-29 12:29:46 +02:00
dns-type.h resolved: rr - ignore pseudo types in NSEC(3) bitmaps 2015-07-23 18:06:50 +02:00
org.freedesktop.resolve1.conf resolved: add legacy dbus service and policy files 2014-07-16 03:41:39 +02:00
org.freedesktop.resolve1.service resolved: add legacy dbus service and policy files 2014-07-16 03:41:39 +02:00
resolved-bus.c resolved: add a concept of "authenticated" responses 2015-12-03 21:17:49 +01:00
resolved-bus.h resolved: rename resolved.h to resolved-manager.h 2014-08-01 16:14:59 +02:00
resolved-conf.c resolved: introduce a dnssec_mode setting per scope 2015-12-03 21:17:49 +01:00
resolved-conf.h resolved: introduce a dnssec_mode setting per scope 2015-12-03 21:17:49 +01:00
resolved-def.h resolved: add packet header details for mDNS 2015-12-08 16:41:45 +01:00
resolved-dns-answer.c resolved: fully support DNS search domains 2015-11-25 21:59:16 +01:00
resolved-dns-answer.h resolved: make sure DNS_ANSWER_FOREACH() can be nested 2015-12-02 20:43:11 +01:00
resolved-dns-cache.c resolved: flush keys when DNS_RESOURCE_KEY_CACHE_FLUSH is set 2015-12-08 16:51:39 +01:00
resolved-dns-cache.h resolved: add a concept of "authenticated" responses 2015-12-03 21:17:49 +01:00
resolved-dns-dnssec.c resolve: remove unused variable 2015-12-06 13:49:33 +01:00
resolved-dns-dnssec.h resolved: introduce a dnssec_mode setting per scope 2015-12-03 21:17:49 +01:00
resolved-dns-packet.c resolved: allow name compression in NSEC records 2015-12-08 16:51:40 +01:00
resolved-dns-packet.h resolved: add code to join/leave mDNS multicast groups 2015-12-08 16:41:45 +01:00
resolved-dns-query.c resolved: add a concept of "authenticated" responses 2015-12-03 21:17:49 +01:00
resolved-dns-query.h resolved: add a concept of "authenticated" responses 2015-12-03 21:17:49 +01:00
resolved-dns-question.c resolved: fully support DNS search domains 2015-11-25 21:59:16 +01:00
resolved-dns-question.h resolved: make sure DNS_ANSWER_FOREACH() can be nested 2015-12-02 20:43:11 +01:00
resolved-dns-rr.c resolved: rework how we allow allow queries to be dispatched to scopes 2015-12-03 21:17:49 +01:00
resolved-dns-rr.h resolved: add cache flush flag to DnsResourceKey 2015-12-08 16:41:45 +01:00
resolved-dns-scope.c resolved: create dns scopes for mDNS 2015-12-08 16:41:45 +01:00
resolved-dns-scope.h resolved: add code to join/leave mDNS multicast groups 2015-12-08 16:41:45 +01:00
resolved-dns-search-domain.c dns-domain: simplify dns_name_is_root() and dns_name_is_single_label() 2015-11-25 22:00:07 +01:00
resolved-dns-search-domain.h resolved: fully support DNS search domains 2015-11-25 21:59:16 +01:00
resolved-dns-server.c resolved: announce support for large UDP packets 2015-11-27 01:35:47 +01:00
resolved-dns-server.h resolved: introduce a dnssec_mode setting per scope 2015-12-03 21:17:49 +01:00
resolved-dns-stream.c util-lib: split out allocation calls into alloc-util.[ch] 2015-10-27 13:45:53 +01:00
resolved-dns-stream.h remove unused includes 2015-02-23 23:53:42 +01:00
resolved-dns-transaction.c resolved: implement query coalescing 2015-12-08 16:51:41 +01:00
resolved-dns-transaction.h resolved: add 'next_attempt_after' field to DnsTransaction 2015-12-08 16:51:41 +01:00
resolved-dns-trust-anchor.c resolved: add a simple trust anchor database as additional RR source 2015-12-03 21:17:49 +01:00
resolved-dns-trust-anchor.h resolved: add a simple trust anchor database as additional RR source 2015-12-03 21:17:49 +01:00
resolved-dns-zone.c resolved: optionally, allocate DnsResourceKey objects on the stack 2015-12-03 21:17:49 +01:00
resolved-dns-zone.h Merge pull request #1947 from phomes/sort-includes2 2015-11-19 23:32:30 +01:00
resolved-gperf.gperf resolved: introduce a dnssec_mode setting per scope 2015-12-03 21:17:49 +01:00
resolved-link.c resolved: create dns scopes for mDNS 2015-12-08 16:41:45 +01:00
resolved-link.h resolved: create dns scopes for mDNS 2015-12-08 16:41:45 +01:00
resolved-llmnr.c tree-wide: sort includes 2015-11-16 22:09:36 +01:00
resolved-llmnr.h resolved: use a #define for LLMNR port 2015-07-13 11:28:29 -04:00
resolved-manager.c resolved: create dns scopes for mDNS 2015-12-08 16:41:45 +01:00
resolved-manager.h resolved: add infrastructure for mDNS related sockets 2015-12-08 16:37:40 +01:00
resolved-mdns.c resolved: add mDNS packet dispatcher 2015-12-08 16:51:40 +01:00
resolved-mdns.h resolved: add infrastructure for mDNS related sockets 2015-12-08 16:37:40 +01:00
resolved-resolv-conf.c resolved: flush the global DNS cache if /etc/resolv.conf is touched 2015-11-27 00:46:51 +01:00
resolved-resolv-conf.h resolved: split out all code dealing with /etc/resolv.conf into its own .c file 2015-11-25 21:58:37 +01:00
resolved.c resolved: make sure FallbackDNS= overrides built-in servers, doesn't extend them 2015-11-25 21:58:37 +01:00
resolved.conf.in resolved: introduce a dnssec_mode setting per scope 2015-12-03 21:17:49 +01:00
test-dnssec.c resolved: move algorithm/digest definitions into resolved-dns-rr.h 2015-12-03 00:26:58 +01:00