summaryrefslogtreecommitdiff
path: root/sys/net/pf.c
diff options
context:
space:
mode:
authorDaniel Hartmeier <dhartmei@cvs.openbsd.org>2001-09-15 22:25:26 +0000
committerDaniel Hartmeier <dhartmei@cvs.openbsd.org>2001-09-15 22:25:26 +0000
commitbb0756345e97948d0d6061f0df15419e97ab19c3 (patch)
tree0a4729edf0b2e0e73d3569e6f86192b3cab56529 /sys/net/pf.c
parentaebf69024108be565b2cdc23ec0a15e5b5902bea (diff)
The inner protocol of IPv4 ICMP error messages was ignored, leading to
'ICMP error message for bad proto' messages and breaking traceroute etc. Please increase debugging level (pfctl -x m) while testing.
Diffstat (limited to 'sys/net/pf.c')
-rw-r--r--sys/net/pf.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/net/pf.c b/sys/net/pf.c
index 6a7907170d3..aa793a35f66 100644
--- a/sys/net/pf.c
+++ b/sys/net/pf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pf.c,v 1.151 2001/09/15 16:47:07 dhartmei Exp $ */
+/* $OpenBSD: pf.c,v 1.152 2001/09/15 22:25:25 dhartmei Exp $ */
/*
* Copyright (c) 2001 Daniel Hartmeier
@@ -3884,6 +3884,7 @@ pf_test_state_icmp(struct pf_state **state, int direction, struct ifnet *ifp,
/* offset of protocol header that follows h2 */
off2 = ipoff2 + (h2.ip_hl << 2);
+ pd2.proto = h2.ip_p;
pd2.src = (struct pf_addr *)&h2.ip_src;
pd2.dst = (struct pf_addr *)&h2.ip_dst;
pd2.ip_sum = &h2.ip_sum;