cvs commit: src/sys/netinet

Matthew Dillon dillon at crater.dragonflybsd.org
Sat Aug 28 11:33:25 PDT 2004


dillon      2004/08/28 11:33:03 PDT

DragonFly src repository

  Modified files:
    sys/netinet          ip_demux.c 
  Log:
  Since ip_input() truncates the packet to ip->ip_len prior to entering the
  protocol stack, ip_demux must incorporate an ip_len check in its tcp/udp
  prechecks to avoid an assertion in the tcp/udp stacks if the packet is
  malformed.
  
  This is a temporary hack until Jeff and I can come up with a better way
  to do per-protocol mbuf checks.  Basically the issue involved is that we
  want to pull up the entire tcp/udp/etc... header in order to be able to
  trivially demux an IP packet (choose which protocol thread to route it to).
  Since we have to m_pullup the packet in the demux we would rather do all
  header length checks in the demux as well so as not have to repeat them in
  the protocol code.
  
  Reported-by: Sven Willenberger <sven at xxxxxxx>
  In-discussion-with: Jeffrey Hsu
  
  Revision  Changes    Path
  1.27      +24 -0     src/sys/netinet/ip_demux.c


http://www.dragonflybsd.org/cvsweb/src/sys/netinet/ip_demux.c.diff?r1=1.26&r2=1.27&f=u





More information about the Commits mailing list