Fallback to the internal resolver on EAI_FAIL.
authorLandon Fuller <landonf@bikemonkey.org>
Sun, 17 Feb 2013 03:57:40 +0000 (22:57 -0500)
committerAndrew Bartlett <abartlet@samba.org>
Sun, 17 Feb 2013 06:06:36 +0000 (07:06 +0100)
commit6dfb35f3ff7ad2d2089c0a3e5eab342384e45e4c
treed5ed356d6aeb395e0453b83e66b70f2404387a9b
parent05235d5b444558f6d06ef12ea7d74850800425cf
Fallback to the internal resolver on EAI_FAIL.

On Linux, non-RFC 1034-complaint names (such as gc._msdsc.example.org)
will result in the resolver returning the non-POSIX EAI_NODATA. In that
case, the case statement here would fall back on the internal resolver,
allowing resolution to complete successfully.

On FreeBSD, the libc resolver uses the same validation code, but
the POSIX result of EAI_FAIL is returned instead of EAI_NODATA. Since
there was no case for this error code, no fallback to the internal
resolver would occur. This led to replication failing on FreeBSD.

Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Sun Feb 17 07:06:36 CET 2013 on sn-devel-104
source4/libcli/resolve/dns_ex.c