Source-Changes-HG archive

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

[src/netbsd-2-0]: src/sys/netinet Pull up revision 1.65 (requested by christo...



details:   https://anonhg.NetBSD.org/src/rev/d26a79ffaa36
branches:  netbsd-2-0
changeset: 561213:d26a79ffaa36
user:      tron <tron%NetBSD.org@localhost>
date:      Sun May 30 11:26:27 2004 +0000

description:
Pull up revision 1.65 (requested by christos in ticket #416):
PR/25622: IPV6 return RST and through cloned interfaces was broken.
- checksum was computed incorrectly.
- ipv6 packet was not initialized properly.
- fixed code to be more similar to the v4 counterpart.

diffstat:

 sys/netinet/fil.c |  7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diffs (35 lines):

diff -r f70c390f42cd -r d26a79ffaa36 sys/netinet/fil.c
--- a/sys/netinet/fil.c Sun May 30 11:25:56 2004 +0000
+++ b/sys/netinet/fil.c Sun May 30 11:26:27 2004 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: fil.c,v 1.61.2.3 2004/05/30 11:24:37 tron Exp $        */
+/*     $NetBSD: fil.c,v 1.61.2.4 2004/05/30 11:26:27 tron Exp $        */
 
 /*
  * Copyright (C) 1993-2003 by Darren Reed.
@@ -135,7 +135,7 @@
 #if !defined(lint)
 #if defined(__NetBSD__)
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: fil.c,v 1.61.2.3 2004/05/30 11:24:37 tron Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fil.c,v 1.61.2.4 2004/05/30 11:26:27 tron Exp $");
 #else
 static const char sccsid[] = "@(#)fil.c        1.36 6/5/96 (C) 1993-2000 Darren Reed";
 static const char rcsid[] = "@(#)Id: fil.c,v 2.243.2.7 2004/03/23 12:06:56 darrenr Exp";
@@ -2657,7 +2657,7 @@
                ip6 = (ip6_t *)ip;
                hlen = sizeof(*ip6);
                slen = ntohs(ip6->ip6_plen);
-               sum = htons((u_short)ip6->ip6_nxt);
+               sum = htons((u_short)l4proto);
                sum += htons(slen);
                sp = (u_short *)&ip6->ip6_src;
                sum += *sp++;   /* ip6_src */
@@ -2675,6 +2675,7 @@
                sum += *sp++;
                sum += *sp++;
                sum += *sp++;
+               sum += *sp++;
        }
 #endif
 



Home | Main Index | Thread Index | Old Index