diff options
author | Rich Felker <dalias@aerifal.cx> | 2015-10-26 18:42:22 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2015-10-26 18:42:22 -0400 |
commit | 2683e267fa6c20d2e7a498a85f79a1dfc4301f23 (patch) | |
tree | 27b7c8e3e3888b65dd788e6919a30a5b2deca3d5 /src/network/dns_parse.c | |
parent | b114190b29417fff6f701eea3a3b3b6030338280 (diff) | |
download | musl-2683e267fa6c20d2e7a498a85f79a1dfc4301f23.tar.gz musl-2683e267fa6c20d2e7a498a85f79a1dfc4301f23.tar.xz musl-2683e267fa6c20d2e7a498a85f79a1dfc4301f23.zip |
safely handle failure to open hosts, services, resolv.conf files
previously, transient failures like fd exhaustion or other resource-related errors were treated the same as non-existence of these files, leading to fallbacks or false-negative results. in particular: - failure to open hosts resulted in fallback to dns, possibly yielding EAI_NONAME for a hostname that should be defined locally, or an unwanted result from dns that the hosts file was intended to replace. - failure to open services resulted in EAI_SERVICE. - failure to open resolv.conf resulted in querying localhost rather than the configured nameservers. now, only permanent errors trigger the fallback behaviors above; all other errors are reportable to the caller as EAI_SYSTEM.
Diffstat (limited to 'src/network/dns_parse.c')
0 files changed, 0 insertions, 0 deletions