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;