From 3fb5e2867c947de65d0c75a2ea1b9be46bbc5346 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 11 Jan 2002 00:23:29 +0000 Subject: make sure resolve_name() only returns valid IP addresses this is actually a workaround for old broken nmbd daemons, especially from Samba 2.0 (This used to be commit 12021a8de6a1dc2e43cc62f094a57c57283dfaf4) --- source3/libsmb/namequery.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/source3/libsmb/namequery.c b/source3/libsmb/namequery.c index 6bf34c730c..d7e0af11df 100644 --- a/source3/libsmb/namequery.c +++ b/source3/libsmb/namequery.c @@ -954,10 +954,19 @@ BOOL resolve_name(const char *name, struct in_addr *return_ip, int name_type) struct in_addr *ip_list = NULL; int count = 0; - if(internal_resolve_name(name, name_type, &ip_list, &count)) { - *return_ip = ip_list[0]; - SAFE_FREE(ip_list); - return True; + if (internal_resolve_name(name, name_type, &ip_list, &count)) { + int i; + /* only return valid addresses for TCP connections */ + for (i=0; i