git: 3c87f145d4e8 - stable/13 - pfctl: fix FOM_ICMP/POM_STICKYADDRESS clash
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 20 Aug 2022 07:17:21 UTC
The branch stable/13 has been updated by kp:
URL: https://cgit.FreeBSD.org/src/commit/?id=3c87f145d4e82c26b8dd73274831f9ce6a9c7a16
commit 3c87f145d4e82c26b8dd73274831f9ce6a9c7a16
Author: Franco Fichtner <franco@opnsense.org>
AuthorDate: 2022-08-06 08:59:56 +0000
Commit: Kristof Provost <kp@FreeBSD.org>
CommitDate: 2022-08-20 07:14:27 +0000
pfctl: fix FOM_ICMP/POM_STICKYADDRESS clash
pass inet proto icmp icmp-type {unreach}
pass route-to (if0 127.0.0.1/8) sticky-address inet
The wrong struct was being tested. The parser tries to prevent
"sticky-address sticky-address" syntax but was actually cross-rule
enforcing that ICMP filter cannot be before the use of "sticky-address"
in next rule.
MFC after: 2 weeks
Reviewed by: kp
Differential Revision: https://reviews.freebsd.org/D36050
(cherry picked from commit 1e73fbd8b28946cb1341b51292082864943f0a89)
---
sbin/pfctl/parse.y | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y
index eafc637951fc..e08996a54250 100644
--- a/sbin/pfctl/parse.y
+++ b/sbin/pfctl/parse.y
@@ -4083,7 +4083,7 @@ pool_opt : BITMASK {
pool_opts.staticport = 1;
}
| STICKYADDRESS {
- if (filter_opts.marker & POM_STICKYADDRESS) {
+ if (pool_opts.marker & POM_STICKYADDRESS) {
yyerror("sticky-address cannot be redefined");
YYERROR;
}