From 900812481ed9f7bd425301399ab22196aa9d1324 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikola=20Forr=C3=B3?= Date: Fri, 9 Jul 2021 17:45:37 +0200 Subject: [PATCH 2/2] resolv.conf.5: update information about search list and attempt to clarify domain/search interaction --- man-pages/man5/resolv.conf.5 | 47 +++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/man-pages/man5/resolv.conf.5 b/man-pages/man5/resolv.conf.5 index 93c6b47..a14e0ca 100644 --- a/man-pages/man5/resolv.conf.5 +++ b/man-pages/man5/resolv.conf.5 @@ -39,10 +39,9 @@ The configuration file is considered a trusted source of DNS information (e.g., DNSSEC AD-bit information will be returned unmodified from this source). .PP -If this file does not exist, -only the name server on the local machine will be queried; -the domain name is determined from the hostname -and the domain search path is constructed from the domain name. +If this file does not exist, only the name server on the local machine +will be queried, and the search list contains the local domain name +determined from the hostname. .PP The different configuration options are: .TP @@ -63,20 +62,15 @@ try the next, until out of name servers, then repeat trying all the name servers until a maximum number of retries are made.) .TP -\fBdomain\fP Local domain name. -Most queries for names within this domain can use short names -relative to the local domain. -If set to \(aq.\(aq, the root domain is considered. -If no \fBdomain\fP entry is present, the domain is determined -from the local hostname returned by -.BR gethostname (2); -the domain part is taken to be everything after the first \(aq.\(aq. -Finally, if the hostname does not contain a domain part, the root -domain is assumed. -.TP \fBsearch\fP Search list for host-name lookup. -The search list is normally determined from the local domain name; -by default, it contains only the local domain name. +By default, the search list contains one entry, the local domain name. +It is determined from the local hostname returned by +.BR gethostname (2); +the local domain name is taken to be everything after the first +\(aq.\(aq. +Finally, if the hostname does not contain a \(aq.\(aq, the +root domain is assumed as the local domain name. +.IP This may be changed by listing the desired domain search path following the \fIsearch\fP keyword with spaces or tabs separating the names. @@ -104,8 +98,21 @@ traffic if the servers for the listed domains are not local, and that queries will time out if no server is available for one of the domains. .IP -The search list is currently limited to six domains +If there are multiple +.B search +directives, only the search list from the last instance is used. +.IP +In glibc 2.25 and earlier, the search list is limited to six domains with a total of 256 characters. +Since glibc 2.26, +.\" glibc commit 3f853f22c87f0b671c0366eb290919719fa56c0e +the search list is unlimited. +.IP +The +.B domain +directive is an obsolete name for the +.B search +directive that handles one search list entry only. .TP \fBsortlist\fP This option allows addresses returned by @@ -312,10 +319,6 @@ in This option disables automatic reloading of a changed configuration file. .RE .PP -The \fIdomain\fP and \fIsearch\fP keywords are mutually exclusive. -If more than one instance of these keywords is present, -the last instance wins. -.PP The \fIsearch\fP keyword of a system's \fIresolv.conf\fP file can be overridden on a per-process basis by setting the environment variable .B LOCALDOMAIN -- 2.31.1