Subject: CVS commit: [netbsd-1-6] syssrc/sys/netinet
To: None <source-changes@netbsd.org>
From: Luke Mewburn <lukem@netbsd.org>
List: source-changes
Date: 10/14/2002 02:55:44
Module Name:	syssrc
Committed By:	lukem
Date:		Sun Oct 13 23:55:43 UTC 2002

Modified Files:
	syssrc/sys/netinet [netbsd-1-6]: ip_nat.c

Log Message:
Pull up revision 1.54 (requested by sommerfeld in ticket #884):
Relax overly-conservative TCP option parsing used by ipnat when
hunting for an MSS option to clamp.  The previous code assumed that at least
one more byte of options (such as a TCPOPT_EOL) would follow the MSS
option; now, we allow the MSS option to end on the last byte of the
TCP header.
Packets have been observed "in the wild" with a TCP header length of
'6' (24 bytes.. 20 bytes fixed header, 4 bytes options) with a 4-byte
MSS option exactly filling the 4 bytes of options payload and no
following TCPOPT_EOL.
RFC793 is quite explicit that the EOL byte:
	" .. need only be used if the end of the options would not
	otherwise coincide with the end of the TCP header."


To generate a diff of this commit:
cvs rdiff -r1.48.4.2 -r1.48.4.3 syssrc/sys/netinet/ip_nat.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.