[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Patch] Windows sockets version 2.2
[Thread Prev] | [Thread Next]
- Subject: Re: [Patch] Windows sockets version 2.2
- From: Aris Adamantiadis <aris@xxxxxxxxxxxx>
- Reply-to: libssh@xxxxxxxxxx
- Date: Wed, 7 Jun 2017 18:39:27 +0200
- To: libssh@xxxxxxxxxx
Hi Chris, Total noob here. Does winsock 2.2 change some semantics/fix some bugs from 2.0 we were used to see on windows? I'm thinking about WSAPoll that we had to stop supporting because it was so buggy. I don't understand this comment: + /* Validate version it can fallback to 2.0 */ If winsock 2.2 works on everything above 95, we don't really need a fallback anyway. I doubt libssh would run on 98 anyway. Aris On 7/06/17 07:37, Chris Ruehl wrote: > Window Sockets 2.2 is the recommended DLL version, this patch > change from v2.0 to v2.2 and add fallback check. > > Windows Sockets version 2.2 is supported on Windows Server 2008, > Windows Vista, Windows Server 2003, Windows XP, Windows 2000, Windows > NT 4.0 with Service Pack 4 (SP4) and later, Windows Me, Windows 98, > and Windows 95 OSR2. Windows Sockets version 2.2 is also supported on > Windows 95 with the Windows Socket 2 Update. Applications on these > platforms should normally request Winsock 2.2 by setting the > wVersionRequested parameter accordingly. > > > diff --git a/src/socket.c b/src/socket.c > index 022c9a76..372b669a 100644 > --- a/src/socket.c > +++ b/src/socket.c > @@ -107,10 +107,15 @@ int ssh_socket_init(void) { > struct WSAData wsaData; > > /* Initiates use of the Winsock DLL by a process. */ > - if (WSAStartup(MAKEWORD(2, 0), &wsaData) != 0) { > + /* Winsock v2.2 */ > + if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) { > + return -1; > + } > + /* Validate version it can fallback to 2.0 */ > + if (LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != > 2) { > + WSACleanup(); > return -1; > } > - > #endif > ssh_poll_init(); > >
Re: [Patch] Windows sockets version 2.2 | Chris Ruehl <chris.ruehl@xxxxxxxxxxxx> |
Re: [Patch] Windows sockets version 2.2 | Chris Ruehl <chris.ruehl@xxxxxxxxxxxx> |
[Patch] Windows sockets version 2.2 | Chris Ruehl <chris.ruehl@xxxxxxxxxxxx> |