diff options
Diffstat (limited to 'src/parser_bison.y')
-rw-r--r-- | src/parser_bison.y | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/src/parser_bison.y b/src/parser_bison.y index 05ade0fa..d41fc0ab 100644 --- a/src/parser_bison.y +++ b/src/parser_bison.y @@ -1644,17 +1644,28 @@ nat_stmt_args : stmt_expr } ; -masq_stmt : masq_stmt_alloc - | masq_stmt_alloc nf_nat_flags - { - $$ = $1; - $$->masq.flags = $2; - } +masq_stmt : masq_stmt_alloc masq_stmt_args + | masq_stmt_alloc ; masq_stmt_alloc : MASQUERADE { $$ = masq_stmt_alloc(&@$); } ; +masq_stmt_args : TO COLON stmt_expr + { + $<stmt>0->masq.proto = $3; + } + | TO COLON stmt_expr nf_nat_flags + { + $<stmt>0->masq.proto = $3; + $<stmt>0->masq.flags = $4; + } + | nf_nat_flags + { + $<stmt>0->masq.flags = $1; + } + ; + redir_stmt : redir_stmt_alloc redir_stmt_arg | redir_stmt_alloc ; |