[SCM] Samba Shared Repository - branch master updated

Stefan Metzmacher metze at samba.org
Wed Jan 6 06:27:14 MST 2010


The branch, master has been updated
       via  a2044b9... s4: Fix result check for getaddrinfo()
      from  f6bd654... Fix bug #7020 - smbd using 2G memory.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit a2044b9a61d9c8ca66067b286ad9bc01cf0490b9
Author: Kamen Mazdrashki <kamen.mazdrashki at postpath.com>
Date:   Wed Jan 6 13:40:33 2010 +0200

    s4: Fix result check for getaddrinfo()
    
    I think this completes commit 50feca550eed7828198b7c0fc5f0e5ddc863313d.
    Now result should be handled correctly both for systems that
    support EAI_NODATA but returns EAI_NONAME (as my Ubuntu 9.x)
    and systems that doesn't support EAI_NODATA at all.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 source4/libcli/resolve/dns_ex.c |   17 +++++++++++------
 1 files changed, 11 insertions(+), 6 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/libcli/resolve/dns_ex.c b/source4/libcli/resolve/dns_ex.c
index 1b50372..79ed783 100644
--- a/source4/libcli/resolve/dns_ex.c
+++ b/source4/libcli/resolve/dns_ex.c
@@ -283,14 +283,19 @@ 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);
+	/* try to fallback in case of error */
+	if (state->do_fallback) {
+		switch (ret) {
 #ifdef EAI_NODATA
-	if (ret == EAI_NODATA && state->do_fallback) {
-#else
-	if (ret == EAI_NONAME && state->do_fallback) {
+		case EAI_NODATA:
 #endif
-		/* getaddrinfo() doesn't handle CNAME records */
-		run_child_dns_lookup(state, fd);
-		return;
+		case EAI_NONAME:
+			/* getaddrinfo() doesn't handle CNAME records */
+			run_child_dns_lookup(state, fd);
+			return;
+		default:
+			break;
+		}
 	}
 	if (ret != 0) {
 		goto done;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list