From: Tim Prouty Date: Mon, 22 Dec 2008 23:04:10 +0000 (-0800) Subject: s4: Fix a getaddrinfo/EAI_NODATA portability issue X-Git-Tag: samba-4.0.0alpha6~407^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=50feca550eed7828198b7c0fc5f0e5ddc863313d;p=thirdparty%2Fsamba.git s4: Fix a getaddrinfo/EAI_NODATA portability issue FreeBSD has explicitly deprecated EAI_NODATA as a return value from getaddrinfo by removing it from netdb.h. On systems that don't have EAI_NODATA, EAI_NONAME should be used instead. --- diff --git a/source4/libcli/resolve/dns_ex.c b/source4/libcli/resolve/dns_ex.c index 948ad9f134e..17e7aad290b 100644 --- a/source4/libcli/resolve/dns_ex.c +++ b/source4/libcli/resolve/dns_ex.c @@ -278,7 +278,11 @@ static void run_child_getaddrinfo(struct dns_ex_state *state, int fd) hints.ai_flags = AI_ADDRCONFIG | AI_NUMERICSERV; ret = getaddrinfo(state->name.name, "0", &hints, &res_list); +#if defined(EAI_NODATA) && (EAI_NODATA != EAI_NONAME) if (ret == EAI_NODATA && state->do_fallback) { +#else + if (ret == EAI_NONAME && state->do_fallback) { +#endif /* getaddrinfo() doesn't handle CNAME records */ run_child_dns_lookup(state, fd); return;