[PATCH] Disabling IPV6_V6ONLY on AF_INET succeeds in Windows starting with Vista

Bruno Jesus 00cpxxx at gmail.com
Wed Jan 11 14:25:23 CST 2017


On Wed, Jan 11, 2017 at 5:59 PM, Anton Romanov <theli.ua at gmail.com> wrote:
> On Wed, Jan 11, 2017 at 11:54 AM, Bruno Jesus <00cpxxx at gmail.com> wrote:
>> On Wed, Jan 11, 2017 at 5:25 PM, Anton Romanov <theli.ua at gmail.com> wrote:
>>> On Wed, Jan 11, 2017 at 10:51 AM, Bruno Jesus <00cpxxx at gmail.com> wrote:
>>> Sure. Didn't open a new bug though, hijacked existing MTGO one,
>>> https://bugs.winehq.org/show_bug.cgi?id=40030
>>> Attached +winsock log as well as ingame exception details there.
>>
>> Unfortunately you attached the same file twice =)
>
> Uh, sorry, fixed.

Thanks for the log, the main part:

trace:winsock:WSASocketW af=2 type=1 protocol=6 protocol_info=(nil)
group=0 flags=0x1
trace:winsock:WSASocketW created 03d8
trace:winsock:WS_setsockopt (socket 03d8, level IPPROTO_IPV6, name
IPV6_V6ONLY, optval 0xb65d788 (0), optlen 4)
...
trace:winsock:WS_setsockopt Setting socket error, 10042
warn:winsock:wsaErrno errno 92, (Protocol not available).
trace:winsock:WS_shutdown socket 03d8, how 0x2, options 0x0

My concerns for the patch is that you are adding what looks like a
workaround. Please rework the patch into the proper case
WS_IPV6_V6ONLY (move the case to after case WS_IPV6_PROTECTION_LEVEL).
Use a shorter description like "If the socket is not bound it will
always succeed.". Is it true that this only happens for IPV4 sockets?
Is it true that this only happens when value = 0?

Please, improve you tests by extending the existing test function
test_ipv6only, tests for both IPv4 and 6 and checking if the value is
really not changed using getsockopt.

Best wishes,
Bruno



More information about the wine-devel mailing list