You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by sf...@apache.org on 2012/05/21 22:38:42 UTC

svn commit: r1341196 - /apr/apr/trunk/network_io/unix/sockaddr.c

Author: sf
Date: Mon May 21 20:38:41 2012
New Revision: 1341196

URL: http://svn.apache.org/viewvc?rev=1341196&view=rev
Log:
If we retry getaddrinfo() without AI_ADDRCONFIG, we should really only remove
AI_ADDRCONFIG and not all flags.

When the retry logic was added in r64571, this was equivalent because not
other flags were set. But this has changed since then.

Modified:
    apr/apr/trunk/network_io/unix/sockaddr.c

Modified: apr/apr/trunk/network_io/unix/sockaddr.c
URL: http://svn.apache.org/viewvc/apr/apr/trunk/network_io/unix/sockaddr.c?rev=1341196&r1=1341195&r2=1341196&view=diff
==============================================================================
--- apr/apr/trunk/network_io/unix/sockaddr.c (original)
+++ apr/apr/trunk/network_io/unix/sockaddr.c Mon May 21 20:38:41 2012
@@ -365,8 +365,8 @@ static apr_status_t call_resolver(apr_so
     error = getaddrinfo(hostname, servname, &hints, &ai_list);
 #ifdef HAVE_GAI_ADDRCONFIG
     if (error == EAI_BADFLAGS && family == APR_UNSPEC) {
-        /* Retry with no flags if AI_ADDRCONFIG was rejected. */
-        hints.ai_flags = 0;
+        /* Retry without AI_ADDRCONFIG if it was rejected. */
+        hints.ai_flags &= ~AI_ADDRCONFIG;
         error = getaddrinfo(hostname, servname, &hints, &ai_list);
     }
 #endif