From dda8dcd2c0f9e00ae6e203ad1c0314bc654e0db3 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Wed, 25 May 2011 12:36:50 +0000 Subject: [PATCH] PR: 2512 Submitted by: Robin Seggelmann Reviewed by: steve Fix BIO_accept so it can be bound to IPv4 or IPv6 sockets consistently. --- crypto/bio/b_sock.c | 4 ++++ 1 file changed, 4 insertions(+) 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; -- 2.25.1