summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Prouty <tprouty@samba.org>2008-12-22 15:04:10 -0800
committerTim Prouty <tprouty@samba.org>2008-12-22 15:15:16 -0800
commit50feca550eed7828198b7c0fc5f0e5ddc863313d (patch)
tree82640ac5e121b7034027517ccc6b9641453a7698
parente9deb757594bef54f126a6ac4463b86c1eb83099 (diff)
downloadsamba-50feca550eed7828198b7c0fc5f0e5ddc863313d.tar.gz
samba-50feca550eed7828198b7c0fc5f0e5ddc863313d.tar.bz2
samba-50feca550eed7828198b7c0fc5f0e5ddc863313d.zip
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.
-rw-r--r--source4/libcli/resolve/dns_ex.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/source4/libcli/resolve/dns_ex.c b/source4/libcli/resolve/dns_ex.c
index 948ad9f134..17e7aad290 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;