[MSAFD] We support SOCK_RAW and IPPROTO_RAW also. CORE-12104

svn path=/trunk/; revision=72952
This commit is contained in:
Peter Hater 2016-10-10 07:57:34 +00:00
parent f58ddd3b46
commit 81eb620cc0

View file

@ -103,15 +103,43 @@ WSPSocket(int AddressFamily,
AddressFamily = AF_INET;
if (SocketType == 0)
SocketType = SOCK_STREAM;
{
switch (Protocol)
{
case IPPROTO_TCP:
SocketType = SOCK_STREAM;
break;
case IPPROTO_UDP:
SocketType = SOCK_DGRAM;
break;
case IPPROTO_RAW:
SocketType = SOCK_RAW;
break;
default:
TRACE("Unknown Protocol (%d). We will try SOCK_STREAM.\n", Protocol);
SocketType = SOCK_STREAM;
break;
}
}
if (Protocol == 0)
{
if (SocketType == SOCK_STREAM)
switch (SocketType)
{
case SOCK_STREAM:
Protocol = IPPROTO_TCP;
if (SocketType == SOCK_DGRAM)
break;
case SOCK_DGRAM:
Protocol = IPPROTO_UDP;
break;
case SOCK_RAW:
Protocol = IPPROTO_RAW;
break;
default:
TRACE("Unknown SocketType (%d). We will try IPPROTO_TCP.\n", SocketType);
Protocol = IPPROTO_TCP;
break;
}
}
/* Get Helper Data and Transport */