Module Name:    src
Committed By:   dyoung
Date:           Wed May  4 01:45:48 UTC 2011

Modified Files:
        src/sys/netinet6: in6_pcb.c

Log Message:
Invalidate the vestigital PCB at the top of in6_pcblookup_connect() to
fix the bug where incoming TCPv6 connections were reset.


To generate a diff of this commit:
cvs rdiff -u -r1.113 -r1.114 src/sys/netinet6/in6_pcb.c

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

Modified files:

Index: src/sys/netinet6/in6_pcb.c
diff -u src/sys/netinet6/in6_pcb.c:1.113 src/sys/netinet6/in6_pcb.c:1.114
--- src/sys/netinet6/in6_pcb.c:1.113	Tue May  3 18:28:45 2011
+++ src/sys/netinet6/in6_pcb.c	Wed May  4 01:45:48 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: in6_pcb.c,v 1.113 2011/05/03 18:28:45 dyoung Exp $	*/
+/*	$NetBSD: in6_pcb.c,v 1.114 2011/05/04 01:45:48 dyoung Exp $	*/
 /*	$KAME: in6_pcb.c,v 1.84 2001/02/08 18:02:08 itojun Exp $	*/
 
 /*
@@ -62,7 +62,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: in6_pcb.c,v 1.113 2011/05/03 18:28:45 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: in6_pcb.c,v 1.114 2011/05/04 01:45:48 dyoung Exp $");
 
 #include "opt_inet.h"
 #include "opt_ipsec.h"
@@ -1121,6 +1121,9 @@
 	struct in6pcb *in6p;
 	u_int16_t fport = fport_arg, lport = lport_arg;
 
+	if (vp)
+		vp->valid = 0;
+
 	head = IN6PCBHASH_CONNECT(table, faddr6, fport, laddr6, lport);
 	LIST_FOREACH(inph, head, inph_hash) {
 		in6p = (struct in6pcb *)inph;

Reply via email to