From: Dr. Stephen Henson Date: Wed, 25 May 2011 12:36:59 +0000 (+0000) Subject: PR: 2512 X-Git-Tag: OpenSSL_1_0_1-beta1~302 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=419b09b053fdcb4306284061ca4477c2beefd2be;p=oweals%2Fopenssl.git PR: 2512 Submitted by: Robin Seggelmann Reviewed by: steve Fix BIO_accept so it can be bound to IPv4 or IPv6 sockets consistently. --- diff --git a/crypto/bio/b_sock.c b/crypto/bio/b_sock.c index 54112e6ebe..d47310d650 100644 --- a/crypto/bio/b_sock.c +++ b/crypto/bio/b_sock.c @@ -683,6 +683,7 @@ int BIO_get_accept_socket(char *host, int bind_mode) * note that commonly IPv6 wildchard socket can service * IPv4 connections just as well... */ memset(&hint,0,sizeof(hint)); + hint.ai_flags = AI_PASSIVE; if (h) { if (strchr(h,':')) @@ -695,7 +696,10 @@ int BIO_get_accept_socket(char *host, int bind_mode) #endif } else if (h[0]=='*' && h[1]=='\0') + { + hint.ai_family = AF_INET; h=NULL; + } } if ((*p_getaddrinfo.f)(h,p,&hint,&res)) break;