summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormpf <mpf@openbsd.org>2007-07-04 08:14:14 +0000
committermpf <mpf@openbsd.org>2007-07-04 08:14:14 +0000
commit517e75b98eb43d90d7ce3651109a15c61ffd8565 (patch)
tree4fbbbe285c9a269ba985d2fb0bd9e9f566d5ce5e
parentRevert r1.42 of if_bnx.c, "Enable IPv4 transmit TCP/UDP checksum (diff)
downloadwireguard-openbsd-517e75b98eb43d90d7ce3651109a15c61ffd8565.tar.xz
wireguard-openbsd-517e75b98eb43d90d7ce3651109a15c61ffd8565.zip
No m_copyback for ICMP and "other" protocols on rdr/binat.
Fixes ICMP packet payload corruption on rdr. OK henning@, markus@
-rw-r--r--sys/net/pf.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/sys/net/pf.c b/sys/net/pf.c
index fe745703f34..8265164fda7 100644
--- a/sys/net/pf.c
+++ b/sys/net/pf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pf.c,v 1.548 2007/06/25 13:57:18 henning Exp $ */
+/* $OpenBSD: pf.c,v 1.549 2007/07/04 08:14:14 mpf Exp $ */
/*
* Copyright (c) 2001 Daniel Hartmeier
@@ -2895,7 +2895,6 @@ pf_test_rule(struct pf_rule **rm, struct pf_state **sm, int direction,
if (pd->af != AF_INET)
break;
sport = dport = pd->hdr.icmp->icmp_id;
- hdrlen = sizeof(*pd->hdr.icmp);
icmptype = pd->hdr.icmp->icmp_type;
icmpcode = pd->hdr.icmp->icmp_code;
@@ -3035,7 +3034,6 @@ pf_test_rule(struct pf_rule **rm, struct pf_state **sm, int direction,
break;
}
- rewrite++;
if (nr->natpass)
r = NULL;
pd->nat_rule = nr;