summaryrefslogtreecommitdiff
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
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.
-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;