aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFranco Fichtner <franco@opnsense.org>2021-09-18 11:42:43 +0000
committerKristof Provost <kp@FreeBSD.org>2021-09-18 11:43:41 +0000
commit8e496ea1df1f00ea7832eb41754dbbb56dd244c8 (patch)
tree8b51879d9e3c3b943c6a4bc9f0f11808e8fe4cb1
parentf902e4bb04ad717935a97ce1ae59e2dd389d940d (diff)
downloadsrc-8e496ea1df1f00ea7832eb41754dbbb56dd244c8.tar.gz
src-8e496ea1df1f00ea7832eb41754dbbb56dd244c8.zip
pf: always log nat rule and do it pre-rewrite
-rw-r--r--sys/netpfil/pf/pf.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c
index 221e0c87c11f..1d492370953a 100644
--- a/sys/netpfil/pf/pf.c
+++ b/sys/netpfil/pf/pf.c
@@ -3629,6 +3629,11 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, int direction,
KASSERT(sk != NULL, ("%s: null sk", __func__));
KASSERT(nk != NULL, ("%s: null nk", __func__));
+ if (nr->log) {
+ PFLOG_PACKET(kif, m, af, direction, PFRES_MATCH, nr, a,
+ ruleset, pd, 1);
+ }
+
if (pd->ip_sum)
bip_sum = *pd->ip_sum;
@@ -3857,10 +3862,10 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, int direction,
/* apply actions for last matching pass/block rule */
pf_rule_to_actions(r, &pd->act);
- if (r->log || (nr != NULL && nr->log)) {
+ if (r->log) {
if (rewrite)
m_copyback(m, off, hdrlen, pd->hdr.any);
- PFLOG_PACKET(kif, m, af, direction, reason, r->log ? r : nr, a,
+ PFLOG_PACKET(kif, m, af, direction, reason, r, a,
ruleset, pd, 1);
}