Systemd/src/resolve
Martin Pitt b9fe94cad9 resolved: don't query domain-limited DNS servers for other domains (#3621)
DNS servers which have route-only domains should only be used for
the specified domains. Routing queries about other domains there is a privacy
violation, prone to fail (as that DNS server was not meant to be used for other
domains), and puts unnecessary load onto that server.

Introduce a new helper function dns_server_limited_domains() that checks if the
DNS server should only be used for some selected domains, i. e. has some
route-only domains without "~.". Use that when determining whether to query it
in the scope, and when writing resolv.conf.

Extend the test_route_only_dns() case to ensure that the DNS server limited to
~company does not appear in resolv.conf. Add test_route_only_dns_all_domains()
to ensure that a server that also has ~. does appear in resolv.conf as global
name server. These reproduce #3420.

Add a new test_resolved_domain_restricted_dns() test case that verifies that
domain-limited DNS servers are only being used for those domains. This
reproduces #3421.

Clarify what a "routing domain" is in the manpage.

Fixes #3420
Fixes #3421
2016-09-30 09:30:08 +02:00
..
test-data resolve: always align flags to 8th column and print CAA flags 2016-02-12 20:00:42 -05:00
.gitignore resolve: add more record types and convert to gperf table 2014-08-03 22:02:32 -04:00
dns-type.c resolved: explicitly refuse zone transfers using the bus API 2016-06-21 13:20:48 +02:00
dns-type.h resolved: explicitly refuse zone transfers using the bus API 2016-06-21 13:20:48 +02:00
Makefile resolved: add daemon to manage resolv.conf 2014-05-19 18:14:56 +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
resolv.conf resolved: respond to local resolver requests on 127.0.0.53:53 2016-06-21 14:15:23 +02:00
resolve-tool.c nspawn,resolve: short --help output to fit within 80 columns 2016-08-04 09:03:42 -04:00
resolved-bus.c resolved: when using the ResolveRecord() bus call, adjust TTL for caching time 2016-06-21 13:20:48 +02:00
resolved-bus.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
resolved-conf.c tree-wide: rename config_parse_many to …_nulstr 2016-09-16 10:32:03 -04:00
resolved-conf.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
resolved-def.h resolved: include inttypes.h in resolved-def.h given that we use UINT64_C 2016-02-10 14:32:27 +01:00
resolved-dns-answer.c treewide: fix typos and remove accidental repetition of words 2016-07-11 16:18:43 +02:00
resolved-dns-answer.h resolved: add dns_answer_is_empty() and dns_question_is_empty() helpers 2016-06-21 13:20:48 +02:00
resolved-dns-cache.c treewide: fix typos and remove accidental repetition of words 2016-07-11 16:18:43 +02:00
resolved-dns-cache.h resolved: when using the ResolveRecord() bus call, adjust TTL for caching time 2016-06-21 13:20:48 +02:00
resolved-dns-dnssec.c treewide: fix typos and remove accidental repetition of words 2016-07-11 16:18:43 +02:00
resolved-dns-dnssec.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
resolved-dns-packet.c resolved: replace bitwise and with logical and 2016-07-18 22:42:13 +02:00
resolved-dns-packet.h resolved: respond to local resolver requests on 127.0.0.53:53 2016-06-21 14:15:23 +02:00
resolved-dns-query.c treewide: fix typos and remove accidental repetition of words 2016-07-11 16:18:43 +02:00
resolved-dns-query.h resolved: respond to local resolver requests on 127.0.0.53:53 2016-06-21 14:15:23 +02:00
resolved-dns-question.c Replace DNS_RESOURCE_KEY_NAME with a version which always returns "." for root 2016-02-16 19:55:51 -05:00
resolved-dns-question.h resolved: add dns_answer_is_empty() and dns_question_is_empty() helpers 2016-06-21 13:20:48 +02:00
resolved-dns-rr.c resolved: when using the ResolveRecord() bus call, adjust TTL for caching time 2016-06-21 13:20:48 +02:00
resolved-dns-rr.h resolved: respond to local resolver requests on 127.0.0.53:53 2016-06-21 14:15:23 +02:00
resolved-dns-scope.c resolved: don't query domain-limited DNS servers for other domains (#3621) 2016-09-30 09:30:08 +02:00
resolved-dns-scope.h resolved: make sure we initialize the ifindex of direct zone answers properly 2016-06-14 23:28:54 +02:00
resolved-dns-search-domain.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
resolved-dns-search-domain.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
resolved-dns-server.c resolved: don't query domain-limited DNS servers for other domains (#3621) 2016-09-30 09:30:08 +02:00
resolved-dns-server.h resolved: don't query domain-limited DNS servers for other domains (#3621) 2016-09-30 09:30:08 +02:00
resolved-dns-stream.c resolved: respond to local resolver requests on 127.0.0.53:53 2016-06-21 14:15:23 +02:00
resolved-dns-stream.h resolved: respond to local resolver requests on 127.0.0.53:53 2016-06-21 14:15:23 +02:00
resolved-dns-stub.c resolved: respond to local resolver requests on 127.0.0.53:53 2016-06-21 14:15:23 +02:00
resolved-dns-stub.h resolved: respond to local resolver requests on 127.0.0.53:53 2016-06-21 14:15:23 +02:00
resolved-dns-synthesize.c Replace DNS_RESOURCE_KEY_NAME with a version which always returns "." for root 2016-02-16 19:55:51 -05:00
resolved-dns-synthesize.h resolved: synthesize RRs for data from /etc/hosts 2016-01-25 17:19:19 +01:00
resolved-dns-transaction.c Merge pull request #3594 from poettering/resolved-servfail 2016-06-24 08:01:49 +02:00
resolved-dns-transaction.h Merge pull request #3594 from poettering/resolved-servfail 2016-06-24 08:01:49 +02:00
resolved-dns-trust-anchor.c resolved: include d.f.ip6.arpa in default NTA list 2016-08-31 20:12:11 +02:00
resolved-dns-trust-anchor.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
resolved-dns-zone.c resolved: make sure we initialize the ifindex of direct zone answers properly 2016-06-14 23:28:54 +02:00
resolved-dns-zone.h resolved: make sure we initialize the ifindex of direct zone answers properly 2016-06-14 23:28:54 +02:00
resolved-etc-hosts.c tree-wide: make ++/-- usage consistent WRT spacing 2016-02-22 20:32:04 -08:00
resolved-etc-hosts.h resolved: synthesize RRs for data from /etc/hosts 2016-01-25 17:19:19 +01:00
resolved-gperf.gperf resolved: add option to disable caching (#3592) 2016-06-24 07:54:28 +02:00
resolved-link-bus.c resolved: respond to local resolver requests on 127.0.0.53:53 2016-06-21 14:15:23 +02:00
resolved-link-bus.h resolved: rename "SearchDomains" property in the Manager interface to "Domains" 2016-02-13 20:33:49 +01:00
resolved-link.c resolved: make sure DNS configuration pushed in by the user stays around on restarts 2016-06-21 13:20:48 +02:00
resolved-link.h resolved: make sure DNS configuration pushed in by the user stays around on restarts 2016-06-21 13:20:48 +02:00
resolved-llmnr.c resolved: respond to local resolver requests on 127.0.0.53:53 2016-06-21 14:15:23 +02:00
resolved-llmnr.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
resolved-manager.c resolved: add test for route-only domain filtering (#3609) 2016-06-28 18:18:27 +02:00
resolved-manager.h resolved: add option to disable caching (#3592) 2016-06-24 07:54:28 +02:00
resolved-mdns.c Replace DNS_RESOURCE_KEY_NAME with a version which always returns "." for root 2016-02-16 19:55:51 -05:00
resolved-mdns.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
resolved-resolv-conf.c resolved: don't query domain-limited DNS servers for other domains (#3621) 2016-09-30 09:30:08 +02:00
resolved-resolv-conf.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
resolved.c resolved: respond to local resolver requests on 127.0.0.53:53 2016-06-21 14:15:23 +02:00
resolved.conf.in resolved: add option to disable caching (#3592) 2016-06-24 07:54:28 +02:00
RFCs tree-wide: use mdash instead of a two minuses 2016-04-21 23:00:13 -04:00
test-dns-packet.c resolved: when using the ResolveRecord() bus call, adjust TTL for caching time 2016-06-21 13:20:48 +02:00
test-dnssec-complex.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
test-dnssec.c test-dnssec: drop unused variable 2016-04-12 13:51:28 +02:00
test-resolve-tables.c test-resolve-tables: verify that dns type/class length is within limits 2016-02-16 19:55:51 -05:00