Bug 16475

Summary: gethostbyaddr without /etc/{resolv,nsswitch}.conf
Product: glibc Reporter: Ludovic Courtès <ludo>
Component: networkAssignee: Not yet assigned to anyone <unassigned>
Status: NEW ---    
Severity: normal Flags: fweimer: security-
Priority: P2    
Version: 2.18   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:

Description Ludovic Courtès 2014-01-21 17:30:11 UTC
(Initially discussed at <http://sourceware.org/ml/libc-alpha/2014-01/msg00351.html>.)

Consider an environment without /etc/resolv.conf.

When doing a host name lookup, ‘dns’ returns NSS_STATUS_UNAVAIL, so we go on with ‘files’ and /etc/hosts is honored as expected

Conversely, when doing a reverse lookup when /etc/resolv.conf is missing, the 'dns' name service returns NSS_STATUS_NOTFOUND, leading 'gethostbyaddr' to return immediately without invoking the 'files' NSS (thus ignoring /etc/hosts.)

It seems that 'dns' should instead always return UNAVAIL when resolv.conf is missing, but that is an ABI break.