CVSROOT: /cvs Module name: src Changes by: flor...@cvs.openbsd.org 2023/11/20 05:15:16
Modified files: lib/libc/asr : asr_private.h asr_utils.c getaddrinfo_async.c gethostnamadr_async.c Log message: localhost is either 127.0.0.1 or ::1, nothing else. RFC 6761, 6.3 Domain Name Reservation Considerations for "localhost.": 3. Name resolution APIs and libraries SHOULD recognize localhost names as special and SHOULD always return the IP loopback address for address queries and negative responses for all other query types. Name resolution APIs SHOULD NOT send queries for localhost names to their configured caching DNS server(s). This makes sure that the getaddrinfo(3) and gethostbyname(3) family of functions always return the loopback address and do not send queries to name servers. This includes "localhost", "localhost." and everything under ".localhost" and ".localhost.". For example, a host underneath the .com.ar zone will per default have a search list of "com.ar.". resolv.conf(5) has a default of "lookup bind file". Both combined will result in lookups for "localhost" to not return 127.0.0.1 because localhost.com.ar is registered in DNS. It has been known for decades that this is a problem, especially for localhost. Problem recently spotted by gonzalo@ and debugged by sthen@ Testing sthen, gonzalo Input & OK phessler, eric, millert OK sthen, kn, deraadt