On Wed, Jan 11, 2017 at 5:59 PM, Anton Romanov theli.ua@gmail.com wrote:
On Wed, Jan 11, 2017 at 11:54 AM, Bruno Jesus 00cpxxx@gmail.com wrote:
On Wed, Jan 11, 2017 at 5:25 PM, Anton Romanov theli.ua@gmail.com wrote:
On Wed, Jan 11, 2017 at 10:51 AM, Bruno Jesus 00cpxxx@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