Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/netinet6 Invalidate the vestigital PCB at the top of in6...



details:   https://anonhg.NetBSD.org/src/rev/c0b846229199
branches:  trunk
changeset: 764785:c0b846229199
user:      dyoung <dyoung%NetBSD.org@localhost>
date:      Wed May 04 01:45:48 2011 +0000

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

diffstat:

 sys/netinet6/in6_pcb.c |  7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diffs (28 lines):

diff -r c1b1e8f12774 -r c0b846229199 sys/netinet6/in6_pcb.c
--- a/sys/netinet6/in6_pcb.c    Wed May 04 01:31:40 2011 +0000
+++ b/sys/netinet6/in6_pcb.c    Wed May 04 01:45:48 2011 +0000
@@ -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;



Home | Main Index | Thread Index | Old Index