[PATCH 4/5] ws2_32: Reimplement WSASocketW() on top of NtOpenFile() and IOCTL_AFD_CREATE.

Jacek Caban jacek at codeweavers.com
Sun Sep 13 03:21:48 CDT 2020


Hi Zebediah,


On 12/09/2020 18:10, Zebediah Figura wrote:
> +        if (err == WSAEACCES) /* raw socket denied */
> +        {
> +            if (type == SOCK_RAW)
> +                ERR_(winediag)("Failed to create a socket of type SOCK_RAW, this requires special permissions.\n");
> +            else
> +                ERR_(winediag)("Failed to create socket, this requires special permissions.\n");
> +        }


Shouldn't this be part of init ioctl error handling instead?


> +        WSASetLastError(err);
> +        return INVALID_SOCKET;
>       }
> -    SERVER_END_REQ;
> -    if (ret)
> +
> +    create_params.family = unixaf;
> +    create_params.type = unixtype;
> +    create_params.protocol = protocol;
> +    create_params.flags = flags & ~WSA_FLAG_NO_HANDLE_INHERIT;


It may probably be taken care later, but note that it would eventually 
need to pass Windows variant of family and type instead. PE modules 
should not need to know host values.


Thanks,

Jacek




More information about the wine-devel mailing list