summaryrefslogtreecommitdiff
path: root/network_io
diff options
context:
space:
mode:
authorsf <sf@13f79535-47bb-0310-9956-ffa450edef68>2012-05-21 20:38:41 +0000
committersf <sf@13f79535-47bb-0310-9956-ffa450edef68>2012-05-21 20:38:41 +0000
commit284b11598b50b29c03952262d064fa360b304538 (patch)
tree31cbe3ca7d509087cfe3f8c7893ec01e21eae818 /network_io
parentdbaadf18d32f6c1ff1043941638d8e85df771492 (diff)
downloadlibapr-284b11598b50b29c03952262d064fa360b304538.tar.gz
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. git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1341196 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'network_io')
-rw-r--r--network_io/unix/sockaddr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/network_io/unix/sockaddr.c b/network_io/unix/sockaddr.c
index 3a98267c9..efa7ee09e 100644
--- a/network_io/unix/sockaddr.c
+++ b/network_io/unix/sockaddr.c
@@ -365,8 +365,8 @@ static apr_status_t call_resolver(apr_sockaddr_t **sa,
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