- Fix ICMP

svn path=/trunk/; revision=40215
This commit is contained in:
Cameron Gutman 2009-03-25 02:28:40 +00:00
parent 88ab954b0b
commit e6b79399bb

View file

@ -191,7 +191,7 @@ NTSTATUS RawIPSendDatagram(
{ {
IP_PACKET Packet; IP_PACKET Packet;
PTA_IP_ADDRESS RemoteAddressTa = (PTA_IP_ADDRESS)ConnInfo->RemoteAddress; PTA_IP_ADDRESS RemoteAddressTa = (PTA_IP_ADDRESS)ConnInfo->RemoteAddress;
IP_ADDRESS RemoteAddress; IP_ADDRESS RemoteAddress, LocalAddress;
USHORT RemotePort; USHORT RemotePort;
NTSTATUS Status; NTSTATUS Status;
PNEIGHBOR_CACHE_ENTRY NCE; PNEIGHBOR_CACHE_ENTRY NCE;
@ -212,10 +212,17 @@ NTSTATUS RawIPSendDatagram(
return STATUS_UNSUCCESSFUL; return STATUS_UNSUCCESSFUL;
} }
LocalAddress = AddrFile->Address;
if (AddrIsUnspecified(&LocalAddress))
{
if (!IPGetDefaultAddress(&LocalAddress))
return STATUS_UNSUCCESSFUL;
}
Status = BuildRawIpPacket( &Packet, Status = BuildRawIpPacket( &Packet,
&RemoteAddress, &RemoteAddress,
RemotePort, RemotePort,
&AddrFile->Address, &LocalAddress,
AddrFile->Port, AddrFile->Port,
BufferData, BufferData,
DataSize ); DataSize );