Module Name:    src
Committed By:   bouyer
Date:           Sun Nov 17 19:21:21 UTC 2013

Modified Files:
        src/sys/net/npf [netbsd-6-0]: npf_instr.c
        src/usr.sbin/npf/npfctl [netbsd-6-0]: npf_ncgen.c

Log Message:
Apply patch, requested by rmind in ticket 986:
        usr.sbin/npf/npfctl/npf_ncgen.c                 patch
        sys/net/npf/npf_instr.c                         patch
fix the byteorder for port range comparison


To generate a diff of this commit:
cvs rdiff -u -r1.9.2.5 -r1.9.2.5.4.1 src/sys/net/npf/npf_instr.c
cvs rdiff -u -r1.7.2.5 -r1.7.2.5.4.1 src/usr.sbin/npf/npfctl/npf_ncgen.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/net/npf/npf_instr.c
diff -u src/sys/net/npf/npf_instr.c:1.9.2.5 src/sys/net/npf/npf_instr.c:1.9.2.5.4.1
--- src/sys/net/npf/npf_instr.c:1.9.2.5	Wed Jul 25 20:45:23 2012
+++ src/sys/net/npf/npf_instr.c	Sun Nov 17 19:21:21 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: npf_instr.c,v 1.9.2.5 2012/07/25 20:45:23 jdc Exp $	*/
+/*	$NetBSD: npf_instr.c,v 1.9.2.5.4.1 2013/11/17 19:21:21 bouyer Exp $	*/
 
 /*-
  * Copyright (c) 2009-2012 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: npf_instr.c,v 1.9.2.5 2012/07/25 20:45:23 jdc Exp $");
+__KERNEL_RCSID(0, "$NetBSD: npf_instr.c,v 1.9.2.5.4.1 2013/11/17 19:21:21 bouyer Exp $");
 
 #include <sys/param.h>
 #include <sys/types.h>
@@ -180,7 +180,7 @@ npf_match_tcp_ports(npf_cache_t *npc, nb
 	p = sd ? th->th_sport : th->th_dport;
 
 	/* Match against the port range. */
-	return NPF_PORTRANGE_MATCH(prange, p) ? 0 : -1;
+	return NPF_PORTRANGE_MATCH(prange, ntohs(p)) ? 0 : -1;
 }
 
 /*
@@ -202,7 +202,7 @@ npf_match_udp_ports(npf_cache_t *npc, nb
 	p = sd ? uh->uh_sport : uh->uh_dport;
 
 	/* Match against the port range. */
-	return NPF_PORTRANGE_MATCH(prange, p) ? 0 : -1;
+	return NPF_PORTRANGE_MATCH(prange, ntohs(p)) ? 0 : -1;
 }
 
 /*

Index: src/usr.sbin/npf/npfctl/npf_ncgen.c
diff -u src/usr.sbin/npf/npfctl/npf_ncgen.c:1.7.2.5 src/usr.sbin/npf/npfctl/npf_ncgen.c:1.7.2.5.4.1
--- src/usr.sbin/npf/npfctl/npf_ncgen.c:1.7.2.5	Wed Jul 25 20:45:23 2012
+++ src/usr.sbin/npf/npfctl/npf_ncgen.c	Sun Nov 17 19:21:21 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: npf_ncgen.c,v 1.7.2.5 2012/07/25 20:45:23 jdc Exp $	*/
+/*	$NetBSD: npf_ncgen.c,v 1.7.2.5.4.1 2013/11/17 19:21:21 bouyer Exp $	*/
 
 /*-
  * Copyright (c) 2009-2012 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: npf_ncgen.c,v 1.7.2.5 2012/07/25 20:45:23 jdc Exp $");
+__RCSID("$NetBSD: npf_ncgen.c,v 1.7.2.5.4.1 2013/11/17 19:21:21 bouyer Exp $");
 
 #include <stdlib.h>
 #include <stddef.h>
@@ -313,7 +313,7 @@ npfctl_gennc_ports(nc_ctx_t *ctx, int op
 	*nc++ = (opts & NC_MATCH_TCP) ?
 	    NPF_OPCODE_TCP_PORTS : NPF_OPCODE_UDP_PORTS;
 	*nc++ = (opts & (NC_MATCH_DST | NC_MATCH_SRC)) >> 1;
-	*nc++ = ((uint32_t)from << 16) | to;
+	*nc++ = ((uint32_t)ntohs(from) << 16) | ntohs(to);
 
 	/* Comparison block (2 words). */
 	npfctl_ncgen_addjmp(ctx, &nc);

Reply via email to