summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2016-03-09 12:23:00 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2016-03-09 13:31:41 +0100
commit0d4b200672c8a46cf06210afc8c72cb12af632b8 (patch)
treebf472be8e8da60d2b150b8170bbb323c5b81a002 /src
parentf865c417ad5ac4f81e39bb0dfef514fb90f1605d (diff)
parser_bison: allow 'snat' and 'dnat' keywords from the right-hand side
Parse 'snat' and 'dnat' reserved keywords from the right-hand side as symbols. Thus, we can use them as values from ct status. Closes: https://bugzilla.netfilter.org/show_bug.cgi?id=950 Reported-by: Ana Rey <anarey@gmail.com> Reported-by: Karol Babioch <karol@babioch.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src')
-rw-r--r--src/parser_bison.y12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/parser_bison.y b/src/parser_bison.y
index 3f226399..90978ab6 100644
--- a/src/parser_bison.y
+++ b/src/parser_bison.y
@@ -2196,6 +2196,18 @@ primary_rhs_expr : symbol_expr { $$ = $1; }
BYTEORDER_HOST_ENDIAN,
sizeof(data) * BITS_PER_BYTE, &data);
}
+ | SNAT
+ {
+ $$ = symbol_expr_alloc(&@$, SYMBOL_VALUE,
+ current_scope(state),
+ "snat");
+ }
+ | DNAT
+ {
+ $$ = symbol_expr_alloc(&@$, SYMBOL_VALUE,
+ current_scope(state),
+ "dnat");
+ }
;
relational_op : EQ { $$ = OP_EQ; }