]> git.ipfire.org Git - thirdparty/systemd.git/commit - src/resolve/resolved-dns-rr.c
resolved: fully support DNS search domains
authorLennart Poettering <lennart@poettering.net>
Wed, 25 Nov 2015 19:47:27 +0000 (20:47 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 25 Nov 2015 20:59:16 +0000 (21:59 +0100)
commit801ad6a6a9cd8fbd58b9f9c27f20dbb3c87d47dd
treedb95ac0b7a04e4c0a0135d64c3077391eaea7356
parent7f220d94a938a99c77400fa0ca30485e269bae7c
resolved: fully support DNS search domains

This adds support for searching single-label hostnames in a set of
configured search domains.

A new object DnsQueryCandidate is added that links queries to scopes.
It keeps track of the search domain last used for a query on a specific
link. Whenever a host name was unsuccessfuly resolved on a scope all its
transactions are flushed out and replaced by a new set, with the next
search domain appended.

This also adds a new flag SD_RESOLVED_NO_SEARCH to disable search domain
behaviour. The "systemd-resolve-host" tool is updated to make this
configurable via --search=.

Fixes #1697
17 files changed:
src/resolve-host/resolve-host.c
src/resolve/resolved-bus.c
src/resolve/resolved-def.h
src/resolve/resolved-dns-answer.c
src/resolve/resolved-dns-answer.h
src/resolve/resolved-dns-query.c
src/resolve/resolved-dns-query.h
src/resolve/resolved-dns-question.c
src/resolve/resolved-dns-question.h
src/resolve/resolved-dns-rr.c
src/resolve/resolved-dns-rr.h
src/resolve/resolved-dns-scope.c
src/resolve/resolved-dns-scope.h
src/resolve/resolved-dns-search-domain.h
src/resolve/resolved-dns-transaction.c
src/resolve/resolved-dns-transaction.h
src/resolve/resolved-dns-zone.c