Was this meant for trunk instead of a branch ? After this commit DNS resolution doesn't work. Thanks.
Gabriel.
Date: Thu, 12 Aug 2010 13:13:21 +0000 To: ros-diffs@reactos.org From: cgutman@svn.reactos.org Subject: [ros-diffs] [cgutman] 48522: [MSAFD] - Update lpcbBytesReturned when FIONREAD is called - Fix the value inside lpErrno when XxxSocketInformation() fails - Pass the unrecognized IOCTLs to the winsock helper (no behavior change for this yet because wshtcpip's WSHIoctl is unimplemented)
Author: cgutman Date: Thu Aug 12 13:13:19 2010 New Revision: 48522
URL: http://svn.reactos.org/svn/reactos?rev=48522&view=rev Log: [MSAFD]
- Update lpcbBytesReturned when FIONREAD is called
- Fix the value inside lpErrno when XxxSocketInformation() fails
- Pass the unrecognized IOCTLs to the winsock helper (no behavior change for this yet because wshtcpip's WSHIoctl is unimplemented)
Modified: trunk/reactos/dll/win32/msafd/misc/dllmain.c
Modified: trunk/reactos/dll/win32/msafd/misc/dllmain.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msafd/misc/dllmai... ============================================================================== --- trunk/reactos/dll/win32/msafd/misc/dllmain.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msafd/misc/dllmain.c [iso-8859-1] Thu Aug 12 13:13:19 2010 @@ -1910,6 +1910,7 @@ OUT LPINT lpErrno) { PSOCKET_INFORMATION Socket = NULL;
BOOLEAN NeedsCompletion;
/* Get the Socket Structure associate to this Socket*/ Socket = GetSocketStructure(Handle);
@@ -1918,6 +1919,8 @@ *lpErrno = WSAENOTSOCK; return SOCKET_ERROR; }
*lpcbBytesReturned = 0;
switch( dwIoControlCode ) {
@@ -1928,17 +1931,44 @@ return SOCKET_ERROR; } Socket->SharedData.NonBlocking = *((PULONG)lpvInBuffer) ? 1 : 0;
return SetSocketInformation(Socket, AFD_INFO_BLOCKING_MODE, (PULONG)lpvInBuffer, NULL);
*lpErrno = SetSocketInformation(Socket, AFD_INFO_BLOCKING_MODE, (PULONG)lpvInBuffer, NULL);if (*lpErrno != NO_ERROR)return SOCKET_ERROR;elsereturn NO_ERROR; case FIONREAD: if( cbOutBuffer < sizeof(INT) || IS_INTRESOURCE(lpvOutBuffer) ) { *lpErrno = WSAEFAULT; return SOCKET_ERROR; }
return GetSocketInformation(Socket, AFD_INFO_RECEIVE_CONTENT_SIZE, (PULONG)lpvOutBuffer, NULL);
*lpErrno = GetSocketInformation(Socket, AFD_INFO_RECEIVE_CONTENT_SIZE, (PULONG)lpvOutBuffer, NULL);if (*lpErrno != NO_ERROR){*lpcbBytesReturned = sizeof(ULONG);return SOCKET_ERROR;}elsereturn NO_ERROR; default:
*lpErrno = WSAEINVAL;return SOCKET_ERROR;
*lpErrno = Socket->HelperData->WSHIoctl(Socket->HelperContext,Handle,Socket->TdiAddressHandle,Socket->TdiConnectionHandle,dwIoControlCode,lpvInBuffer,cbInBuffer,lpvOutBuffer,cbOutBuffer,lpcbBytesReturned,lpOverlapped,lpCompletionRoutine,(LPBOOL)&NeedsCompletion);if (*lpErrno != NO_ERROR)return SOCKET_ERROR;else }return NO_ERROR;}