svn commit: r192912 - head/sys/netinet

Zachary Loafman zml at FreeBSD.org
Wed May 27 17:02:12 UTC 2009


Author: zml
Date: Wed May 27 17:02:10 2009
New Revision: 192912
URL: http://svn.freebsd.org/changeset/base/192912

Log:
  Correct handling of SYN packets that are to the left of the current window of an ESTABLISHED connection.
  
  Reviewed by:        net@, gnn
  Approved by:        dfr (mentor)

Modified:
  head/sys/netinet/tcp_input.c

Modified: head/sys/netinet/tcp_input.c
==============================================================================
--- head/sys/netinet/tcp_input.c	Wed May 27 17:01:59 2009	(r192911)
+++ head/sys/netinet/tcp_input.c	Wed May 27 17:02:10 2009	(r192912)
@@ -1818,7 +1818,11 @@ tcp_do_segment(struct mbuf *m, struct tc
 
 	todrop = tp->rcv_nxt - th->th_seq;
 	if (todrop > 0) {
-		if (thflags & TH_SYN) {
+		/*
+		 * If this is a duplicate SYN for our current connection,
+		 * advance over it and pretend and it's not a SYN.
+		 */
+		if (thflags & TH_SYN && th->th_seq == tp->irs) {
 			thflags &= ~TH_SYN;
 			th->th_seq++;
 			if (th->th_urp > 1)


More information about the svn-src-head mailing list