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;