http://bugs.winehq.org/show_bug.cgi?id=11248
Summary: fixme:winsock:WSASocketW Unsupported socket family -1! Product: Wine Version: 0.9.53. Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P1 Component: winsock AssignedTo: wine-bugs@winehq.org ReportedBy: andrej.andolsek@gmail.com
Hello guys!
If I run Bitvise Tunnelier (Tunnelier.exe, installer can be downloaded from www.bitvise.com/download-area) in Wine 0.9.53 I get the following problem when I try to login (establish a TCP/IP connection):
fixme:winsock:convert_af_w2u unhandled Windows address family -1 fixme:winsock:WSASocketW Unsupported socket family -1!
---
This is how Tunnelier calls WSASocketW():
WSASocketW(FROM_PROTOCOL_INFO, FROM_PROTOCOL_INFO, FROM_PROTOCOL_INFO, &m_protocolInfo, 0, WSA_FLAG_OVERLAPPED);
and FROM_PROTOCOL_INFO has the value of -1.
If you check WSASocket() in MSDN - http://msdn2.microsoft.com/en-us/library/ms742212(VS.85).aspx - the 3rd paragraph of Remarks says the following:
If the lpProtocolInfo is not NULL, the socket will be bound to the provider associated with the indicated WSAPROTOCOL_INFO structure. In this instance, the application can supply the manifest constant FROM_PROTOCOL_INFO as the value for any of af, type, or protocol parameters. This indicates that the corresponding values from the indicated WSAPROTOCOL_INFO structure (iAddressFamily, iSocketType, iProtocol) are to be assumed. In any case, the values specified for af, type, and protocol are passed unmodified to the transport-service provider.
So, in dlls/ws2_32/socket.c WSASocketW() something like the code following needs to be added (taking into account that the trasport-service provider requirements doesn't affect Wine):
if (lpProtocolInfo) { if (af == FROM_PROTOCOL_INFO) af = lpProtocolInfo->iAddressFamily; if (type == FROM_PROTOCOL_INFO) type = lpProtocolInfo->iSocketType; if (protocol == FROM_PROTOCOL_INFO) protocol = lpProtocolInfo->iProtocol; }
So you see, it's a show stopper with a very simple solution.
Keep up the good work!
Andrej Andolsek
http://bugs.winehq.org/show_bug.cgi?id=11248
Scott Ritchie scott@open-vote.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |scott@open-vote.org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #1 from Scott Ritchie scott@open-vote.org 2008-02-18 20:10:21 --- Is this fix strictly for times when the socket family has value -1? I get other socket family errors in other apps.
http://bugs.winehq.org/show_bug.cgi?id=11248
--- Comment #2 from Andrej Andolsek andrej.andolsek@gmail.com 2008-02-18 20:18:26 --- Yes, this proposed fix is only for -1 (FROM_PROTOCOL_INFO) values.
http://bugs.winehq.org/show_bug.cgi?id=11248
Kai Blin kai.blin@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED
--- Comment #3 from Kai Blin kai.blin@gmail.com 2008-05-25 04:49:29 --- Uh, I think I've seen another bug report about this. Thanks for the pointer to FROM_PROTOCOL_INFO.
http://bugs.winehq.org/show_bug.cgi?id=11248
--- Comment #4 from Kai Blin kai.blin@gmail.com 2008-05-25 08:37:56 --- Patch sent.
http://bugs.winehq.org/show_bug.cgi?id=11248
Kai Blin kai.blin@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED
--- Comment #5 from Kai Blin kai.blin@gmail.com 2008-05-29 03:04:32 --- Patch committed as cabb350f2f7310759b2c2cd9232980d260e6d584
http://bugs.winehq.org/show_bug.cgi?id=11248
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #6 from Alexandre Julliard julliard@winehq.org 2008-05-31 04:18:31 --- Closing bugs fixed in 1.0-rc3.