Author: cgutman
Date: Fri Aug  7 04:39:38 2009
New Revision: 42453

URL: http://svn.reactos.org/svn/reactos?rev=42453&view=rev
Log:
 - Fix a bug resulting in ROS discarding all gratuitous ARP packets
 - Remove an unnecessary check

Modified:
    trunk/reactos/lib/drivers/ip/network/arp.c

Modified: trunk/reactos/lib/drivers/ip/network/arp.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/drivers/ip/network/arp.c?rev=42453&r1=42452&r2=42453&view=diff
==============================================================================
--- trunk/reactos/lib/drivers/ip/network/arp.c [iso-8859-1] (original)
+++ trunk/reactos/lib/drivers/ip/network/arp.c [iso-8859-1] Fri Aug  7 04:39:38 
2009
@@ -179,7 +179,6 @@
     IP_ADDRESS Address;
     PVOID SenderHWAddress;
     PVOID SenderProtoAddress;
-    PVOID TargetProtoAddress;
     PNEIGHBOR_CACHE_ENTRY NCE;
     PNDIS_PACKET NdisPacket;
     PIP_INTERFACE Interface = (PIP_INTERFACE)Context;
@@ -202,17 +201,6 @@
 
     SenderHWAddress    = (PVOID)((ULONG_PTR)Header + sizeof(ARP_HEADER));
     SenderProtoAddress = (PVOID)((ULONG_PTR)SenderHWAddress + 
Header->HWAddrLen);
-
-    /* Check if we have the target protocol address */
-
-    TargetProtoAddress = (PVOID)((ULONG_PTR)SenderProtoAddress +
-        Header->ProtoAddrLen + Header->HWAddrLen);
-
-    if( !AddrLocateADEv4( *((PIPv4_RAW_ADDRESS)TargetProtoAddress),
-                         &Address) ) {
-        TI_DbgPrint(DEBUG_ARP, ("Target address (0x%X) is not mine.\n", 
*((PULONG)TargetProtoAddress)));
-        return;
-    }
 
     /* Check if we know the sender */
 
@@ -230,7 +218,7 @@
             Header->HWAddrLen, NUD_REACHABLE);
     }
 
-    if (Header->Opcode != ARP_OPCODE_REQUEST || !NCE)
+    if (Header->Opcode != ARP_OPCODE_REQUEST)
         return;
 
     /* This is a request for our address. Swap the addresses and


Reply via email to