Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Mar 2001 17:39:20 -0800 (PST)
From:      Don Lewis <truckman@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/netinet ip_input.c
Message-ID:  <200103040139.f241dKN15217@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
truckman    2001/03/03 17:39:20 PST

  Modified files:
    sys/netinet          ip_input.c 
  Log:
  Disable interface checking when IP forwarding is engaged so that packets
  addressed to the interface on the other side of the box follow their
  historical path.
  
  Explicitly block packets sent to the loopback network sent from the outside,
  which is consistent with the behavior of the forwarding path between
  interfaces as implemented in in_canforward().
  
  Always check the arrival interface when matching the packet destination
  against the interface broadcast addresses.  This bug allowed TCP
  connections to be made to the broadcast address of an interface on the
  far side of the system because the M_BCAST flag was not set because the
  packet was unicast to the interface on the near side.  This was broken
  when the directed broadcast code was removed from revision 1.32.  If
  the directed broadcast code was stil present, the destination would not
  have been recognized as local until the packet was forwarded to the output
  interface and ether_output() looped a copy back to ip_input() with
  M_BCAST set and the receive interface set to the output interface.
  
  Optimize the order of the tests.
  
  Reviewed by:	jlemon
  
  Revision  Changes    Path
  1.158     +46 -11    src/sys/netinet/ip_input.c


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200103040139.f241dKN15217>