mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 21:23:00 +00:00
[MSWSOCK] Revert r74753 and r74755 as it showed regressions
svn path=/trunk/; revision=74756
This commit is contained in:
parent
a59bc8597f
commit
21b16a63ed
3 changed files with 425 additions and 489 deletions
|
@ -16,7 +16,6 @@ add_library(mswsock SHARED
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/mswsock.def)
|
${CMAKE_CURRENT_BINARY_DIR}/mswsock.def)
|
||||||
|
|
||||||
set_module_type(mswsock win32dll UNICODE)
|
set_module_type(mswsock win32dll UNICODE)
|
||||||
target_link_libraries(mswsock wine)
|
|
||||||
add_importlibs(mswsock ws2_32 advapi32 dnsapi msvcrt kernel32 ntdll)
|
add_importlibs(mswsock ws2_32 advapi32 dnsapi msvcrt kernel32 ntdll)
|
||||||
add_pch(mswsock precomp.h SOURCE)
|
add_pch(mswsock precomp.h SOURCE)
|
||||||
add_cd_file(TARGET mswsock DESTINATION reactos/system32 FOR all)
|
add_cd_file(TARGET mswsock DESTINATION reactos/system32 FOR all)
|
||||||
|
|
|
@ -12,9 +12,6 @@
|
||||||
#include <winsock2.h>
|
#include <winsock2.h>
|
||||||
#include <mswsock.h>
|
#include <mswsock.h>
|
||||||
|
|
||||||
#include <wine/debug.h>
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(mswsock);
|
|
||||||
|
|
||||||
LPFN_TRANSMITFILE pfnTransmitFile = NULL;
|
LPFN_TRANSMITFILE pfnTransmitFile = NULL;
|
||||||
LPFN_GETACCEPTEXSOCKADDRS pfnGetAcceptExSockaddrs = NULL;
|
LPFN_GETACCEPTEXSOCKADDRS pfnGetAcceptExSockaddrs = NULL;
|
||||||
LPFN_ACCEPTEX pfnAcceptEx = NULL;
|
LPFN_ACCEPTEX pfnAcceptEx = NULL;
|
||||||
|
@ -33,10 +30,8 @@ TransmitFile(SOCKET Socket,
|
||||||
{
|
{
|
||||||
GUID TransmitFileGUID = WSAID_TRANSMITFILE;
|
GUID TransmitFileGUID = WSAID_TRANSMITFILE;
|
||||||
DWORD cbBytesReturned;
|
DWORD cbBytesReturned;
|
||||||
BOOL Ret;
|
|
||||||
|
|
||||||
TRACE("TransmitFile %p %p %ld %ld %p %p %lx\n", Socket, File, NumberOfBytesToWrite, NumberOfBytesPerSend, Overlapped, TransmitBuffers, Flags);
|
if (WSAIoctl(Socket,
|
||||||
if (!pfnTransmitFile && WSAIoctl(Socket,
|
|
||||||
SIO_GET_EXTENSION_FUNCTION_POINTER,
|
SIO_GET_EXTENSION_FUNCTION_POINTER,
|
||||||
&TransmitFileGUID,
|
&TransmitFileGUID,
|
||||||
sizeof(TransmitFileGUID),
|
sizeof(TransmitFileGUID),
|
||||||
|
@ -46,22 +41,16 @@ TransmitFile(SOCKET Socket,
|
||||||
NULL,
|
NULL,
|
||||||
NULL) == SOCKET_ERROR)
|
NULL) == SOCKET_ERROR)
|
||||||
{
|
{
|
||||||
ERR("TransmitFile WSAIoctl %lx\n", WSAGetLastError());
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
Ret = pfnTransmitFile(Socket,
|
return pfnTransmitFile(Socket,
|
||||||
File,
|
File,
|
||||||
NumberOfBytesToWrite,
|
NumberOfBytesToWrite,
|
||||||
NumberOfBytesPerSend,
|
NumberOfBytesPerSend,
|
||||||
Overlapped,
|
Overlapped,
|
||||||
TransmitBuffers,
|
TransmitBuffers,
|
||||||
Flags);
|
Flags);
|
||||||
if (!Ret)
|
|
||||||
{
|
|
||||||
ERR("TransmitFile %lx\n", WSAGetLastError());
|
|
||||||
}
|
|
||||||
return Ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -81,10 +70,8 @@ AcceptEx(SOCKET ListenSocket,
|
||||||
GUID AcceptExGUID = WSAID_ACCEPTEX;
|
GUID AcceptExGUID = WSAID_ACCEPTEX;
|
||||||
GUID GetAcceptExSockaddrsGUID = WSAID_GETACCEPTEXSOCKADDRS;
|
GUID GetAcceptExSockaddrsGUID = WSAID_GETACCEPTEXSOCKADDRS;
|
||||||
DWORD cbBytesReturned;
|
DWORD cbBytesReturned;
|
||||||
BOOL Ret;
|
|
||||||
|
|
||||||
TRACE("AcceptEx %p %p %p %ld %ld %ld %p %p\n", ListenSocket, AcceptSocket, OutputBuffer, ReceiveDataLength, LocalAddressLength, RemoteAddressLength, BytesReceived, Overlapped);
|
if (WSAIoctl(ListenSocket,
|
||||||
if (!pfnAcceptEx && WSAIoctl(ListenSocket,
|
|
||||||
SIO_GET_EXTENSION_FUNCTION_POINTER,
|
SIO_GET_EXTENSION_FUNCTION_POINTER,
|
||||||
&AcceptExGUID,
|
&AcceptExGUID,
|
||||||
sizeof(AcceptExGUID),
|
sizeof(AcceptExGUID),
|
||||||
|
@ -94,11 +81,10 @@ AcceptEx(SOCKET ListenSocket,
|
||||||
NULL,
|
NULL,
|
||||||
NULL) == SOCKET_ERROR)
|
NULL) == SOCKET_ERROR)
|
||||||
{
|
{
|
||||||
ERR("AcceptEx WSAIoctl %lx\n", WSAGetLastError());
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!pfnGetAcceptExSockaddrs && WSAIoctl(ListenSocket,
|
if (WSAIoctl(ListenSocket,
|
||||||
SIO_GET_EXTENSION_FUNCTION_POINTER,
|
SIO_GET_EXTENSION_FUNCTION_POINTER,
|
||||||
&GetAcceptExSockaddrsGUID,
|
&GetAcceptExSockaddrsGUID,
|
||||||
sizeof(GetAcceptExSockaddrsGUID),
|
sizeof(GetAcceptExSockaddrsGUID),
|
||||||
|
@ -108,12 +94,11 @@ AcceptEx(SOCKET ListenSocket,
|
||||||
NULL,
|
NULL,
|
||||||
NULL) == SOCKET_ERROR)
|
NULL) == SOCKET_ERROR)
|
||||||
{
|
{
|
||||||
ERR("GetAcceptExSockaddrs WSAIoctl %lx\n", WSAGetLastError());
|
|
||||||
pfnAcceptEx = NULL;
|
pfnAcceptEx = NULL;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
Ret = pfnAcceptEx(ListenSocket,
|
return pfnAcceptEx(ListenSocket,
|
||||||
AcceptSocket,
|
AcceptSocket,
|
||||||
OutputBuffer,
|
OutputBuffer,
|
||||||
ReceiveDataLength,
|
ReceiveDataLength,
|
||||||
|
@ -121,11 +106,6 @@ AcceptEx(SOCKET ListenSocket,
|
||||||
RemoteAddressLength,
|
RemoteAddressLength,
|
||||||
BytesReceived,
|
BytesReceived,
|
||||||
Overlapped);
|
Overlapped);
|
||||||
if (!Ret)
|
|
||||||
{
|
|
||||||
ERR("AcceptEx %lx\n", WSAGetLastError());
|
|
||||||
}
|
|
||||||
return Ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -143,12 +123,8 @@ GetAcceptExSockaddrs(PVOID OutputBuffer,
|
||||||
LPSOCKADDR* RemoteSockaddr,
|
LPSOCKADDR* RemoteSockaddr,
|
||||||
LPINT RemoteSockaddrLength)
|
LPINT RemoteSockaddrLength)
|
||||||
{
|
{
|
||||||
TRACE("AcceptEx %p %ld %ld %ld %p %p %p %p\n", OutputBuffer, ReceiveDataLength, LocalAddressLength, RemoteAddressLength, LocalSockaddr, LocalSockaddrLength, RemoteSockaddr, RemoteSockaddrLength);
|
if (pfnGetAcceptExSockaddrs)
|
||||||
if (!pfnGetAcceptExSockaddrs)
|
|
||||||
{
|
{
|
||||||
ERR("GetAcceptExSockaddrs is NULL\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
pfnGetAcceptExSockaddrs(OutputBuffer,
|
pfnGetAcceptExSockaddrs(OutputBuffer,
|
||||||
ReceiveDataLength,
|
ReceiveDataLength,
|
||||||
LocalAddressLength,
|
LocalAddressLength,
|
||||||
|
@ -157,5 +133,6 @@ GetAcceptExSockaddrs(PVOID OutputBuffer,
|
||||||
LocalSockaddrLength,
|
LocalSockaddrLength,
|
||||||
RemoteSockaddr,
|
RemoteSockaddr,
|
||||||
RemoteSockaddrLength);
|
RemoteSockaddrLength);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue