On May 7, 2011, at 11:14 PM, Justin Schoeman wrote: > Michael Tüxen wrote: >> On May 7, 2011, at 10:40 PM, Justin Schoeman wrote: >> >> >>> William A. Rowe Jr. wrote: >>> >>>> On 5/7/2011 7:16 AM, Justin Schoeman wrote: >>>> >>>>> It does not matter which of these I try, openssl always binds to >>>>> '::1:8008', which does >>>>> not accept IPV4. >>>>> >>>> >>>>>> I have tried various combinations of: >>>>>> BIO_new_accept("0.0.0.0:8008") >>>>>> >>>> This syntax should have bound to all IPv4 interfaces alone, >>>> so as Michael suggests, it's certainly a bug. >>>> >>>> >>> Thanks. If I get a chance I will have a further look on Monday. Can I >>> just post a patch here if I manage to figure it out? >>> >> I know what is going on... I contacted Stephen to figure out what >> the correct behavior is for >> BIO_new_accept("8008") >> BIO_new_accept("*:8080") >> Currently it is platform specific whether it returns an IPv4 or IPv6 >> socket. >> >> The fix is that you need to add >> hint.ai_family = AI_PASSIVE; >> and depending on the semantic of the above hint.ai_family = AF_INET or >> hint.ai_family = AF_INET6 for the above cases in BIO_get_accept_socket(). >> >> As soon as I get an answer from Stephen, I provide a patch. Hi,
the attached patch (submitted to the RT tracker) does the following: 1. BIO_new_accept("8008") will give an IPv4 or IPv6 socket, depending on the system. 2. BIO_new_accept("*:8080") will give an IPv4 socket. 3. BIO_new_accept("::8080") will give an IPv6 socket. Best regards Michael
bio.patch
Description: Binary data
>> >> Best regards >> Michael >> > Great! Thanks! > Justin > ______________________________________________________________________ > OpenSSL Project http://www.openssl.org > User Support Mailing List openssl-users@openssl.org > Automated List Manager majord...@openssl.org >