diff options
author | Liping Zhang <liping.zhang@spreadtrum.com> | 2016-08-22 23:34:15 +0800 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2016-08-22 18:27:43 +0200 |
commit | c12c09041ec55daa4c6562d61be81f4ecdfb7fd8 (patch) | |
tree | cb5eb9f0b586b8ca2c7a1d0c2aecef8e98a0f84c /src/parser_bison.y | |
parent | 0d21d1ec727cd8cad9cc26b74a6db1ced6739189 (diff) |
parser_bison: keep snat/dnat existing syntax unchanged
We should keep existing syntax unchanged, and this was emphasized
in the commit 850f0a56b6ad ("src: add 'to' for snat and dnat")'s
commit log: "Existing syntax is still preserved, but the listing
shows the one including 'to'."
This problem was found by running shell test:
# ./run-tests.sh
[ ... ]
W: [FAILED] ./testcases/maps/anonymous_snat_map_0
I: [OK] ./testcases/maps/map_with_flags_0
W: [FAILED] ./testcases/maps/named_snat_map_0
[ ... ]
Fixes: 850f0a56b6ad ("src: add 'to' for snat and dnat")
Signed-off-by: Liping Zhang <liping.zhang@spreadtrum.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/parser_bison.y')
-rw-r--r-- | src/parser_bison.y | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/parser_bison.y b/src/parser_bison.y index 8025415c..bf436086 100644 --- a/src/parser_bison.y +++ b/src/parser_bison.y @@ -1649,15 +1649,28 @@ stmt_expr : map_stmt_expr | primary_rhs_expr ; -nat_stmt_args : TO stmt_expr +nat_stmt_args : stmt_expr + { + $<stmt>0->nat.addr = $1; + } + | TO stmt_expr { $<stmt>0->nat.addr = $2; } + | stmt_expr COLON stmt_expr + { + $<stmt>0->nat.addr = $1; + $<stmt>0->nat.proto = $3; + } | TO stmt_expr COLON stmt_expr { $<stmt>0->nat.addr = $2; $<stmt>0->nat.proto = $4; } + | COLON stmt_expr + { + $<stmt>0->nat.proto = $2; + } | TO COLON stmt_expr { $<stmt>0->nat.proto = $3; |