From b99b0f93ee8762fe53ff65802deb6f00700b9924 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Fri, 17 Dec 2021 12:01:20 +0100 Subject: nss: Use "files dns" as the default for the hosts database (bug 28700) This matches what is currently in nss/nsswitch.conf. The new ordering matches what most distributions use in their installed configuration files. It is common to add localhost to /etc/hosts because the name does not exist in the DNS, but is commonly used as a host name. With the built-in "dns [!UNAVAIL=return] files" default, dns is searched first and provides an answer for "localhost" (NXDOMAIN). We never look at the files database as a result, so the contents of /etc/hosts is ignored. This means that "getent hosts localhost" fail without a /etc/nsswitch.conf file, even though the host name is listed in /etc/hosts. Reviewed-by: Carlos O'Donell --- nss/XXX-lookup.c | 2 +- nss/nss_database.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'nss') diff --git a/nss/XXX-lookup.c b/nss/XXX-lookup.c index 302c6361e0..e129f699fa 100644 --- a/nss/XXX-lookup.c +++ b/nss/XXX-lookup.c @@ -28,7 +28,7 @@ |* ALTERNATE_NAME - name of another service which is examined in *| |* case DATABASE_NAME is not found *| |* *| -|* DEFAULT_CONFIG - string for default conf (e.g. "dns files") *| +|* DEFAULT_CONFIG - string for default conf (e.g. "files dns") *| |* *| \*******************************************************************/ diff --git a/nss/nss_database.c b/nss/nss_database.c index ab121cb371..54561f0328 100644 --- a/nss/nss_database.c +++ b/nss/nss_database.c @@ -80,7 +80,7 @@ enum nss_database_default { nss_database_default_defconfig = 0, /* "nis [NOTFOUND=return] files". */ nss_database_default_compat, /* "compat [NOTFOUND=return] files". */ - nss_database_default_dns, /* "dns [!UNAVAIL=return] files". */ + nss_database_default_dns, /* "files dns". */ nss_database_default_files, /* "files". */ nss_database_default_nis, /* "nis". */ nss_database_default_nis_nisplus, /* "nis nisplus". */ @@ -133,7 +133,7 @@ nss_database_select_default (struct nss_database_default_cache *cache, #endif case nss_database_default_dns: - line = "dns [!UNAVAIL=return] files"; + line = "files dns"; break; case nss_database_default_files: -- cgit 1.4.1