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: [email protected]
> From: [email protected]
> 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/dllmain.c?rev=48522&r1=48521&r2=48522&view=diff
> ==============================================================================
> --- 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;
> +                     else
> +                             return 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;
> +                     }
> +                     else
> +                             return 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;
>      }
>  }
>  
> 
> 
                                          
_______________________________________________
Ros-dev mailing list
[email protected]
http://www.reactos.org/mailman/listinfo/ros-dev

Reply via email to