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.7 (requested by christos...



details:   https://anonhg.NetBSD.org/src/rev/0b03c787c8a6
branches:  netbsd-2-0
changeset: 561201:0b03c787c8a6
user:      tron <tron%NetBSD.org@localhost>
date:      Sun May 30 11:22:47 2004 +0000

description:
Pull up revision 1.7 (requested by christos in ticket #416):
PR/24981: Steven M. Bellovin: ipfilter in 2.0 branch panics the system
patch applied.

diffstat:

 sys/netinet/ip_fil_netbsd.c |  18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

diffs (54 lines):

diff -r 7a855431a2e7 -r 0b03c787c8a6 sys/netinet/ip_fil_netbsd.c
--- a/sys/netinet/ip_fil_netbsd.c       Sun May 30 11:22:33 2004 +0000
+++ b/sys/netinet/ip_fil_netbsd.c       Sun May 30 11:22:47 2004 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: ip_fil_netbsd.c,v 1.3.2.2 2004/05/30 11:22:07 tron Exp $       */
+/*     $NetBSD: ip_fil_netbsd.c,v 1.3.2.3 2004/05/30 11:22:47 tron Exp $       */
 
 /*
  * Copyright (C) 1993-2003 by Darren Reed.
@@ -1458,9 +1458,13 @@
 fr_info_t *fin;
 {
 #ifdef M_CSUM_TCP_UDP_BAD
-       int manual = 0, pflag, cflags, active;
+       int manual, pflag, cflags, active;
        mb_t *m;
 
+       if ((fin->fin_flx & FI_NOCKSUM) != 0)
+               return 0;
+
+       manual = 0;
        m = fin->fin_m;
        if (m == NULL) {
                manual = 1;
@@ -1519,9 +1523,13 @@
 fr_info_t *fin;
 {
 # ifdef M_CSUM_TCP_UDP_BAD
-       int manual = 0, pflag, cflags, active;
+       int manual, pflag, cflags, active;
        mb_t *m;
 
+       if ((fin->fin_flx & FI_NOCKSUM) != 0)
+               return 0;
+
+       manual = 0;
        m = fin->fin_m;
 
        switch (fin->fin_p)
@@ -1556,12 +1564,12 @@
        }
 #  ifdef IPFILTER_CKSUM
        if (manual != 0)
-               if (fr_checkl6sum(fin) == -1)
+               if (fr_checkl4sum(fin) == -1)
                        fin->fin_flx |= FI_BAD;
 #  endif
 # else
 #  ifdef IPFILTER_CKSUM
-       if (fr_checkl6sum(fin) == -1)
+       if (fr_checkl4sum(fin) == -1)
                fin->fin_flx |= FI_BAD;
 #  endif
 # endif



Home | Main Index | Thread Index | Old Index