summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2014-12-12 19:26:46 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2014-12-12 20:15:51 +0100
commita698868d52a550bab4867c0dc502037155baa11d (patch)
treea43ec0ef1fa75478678ef92d32c5fe75224c75e8
parent55dc6641d0dd7b1326215568abdd7fe65e4725b8 (diff)
parser: use 'redirect to PORT' instead of 'redirect :PORT'
Small syntax update suggested by Patrick. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--src/parser_bison.y5
-rw-r--r--src/scanner.l1
-rw-r--r--src/statement.c2
-rw-r--r--tests/regression/ip/redirect.t24
-rw-r--r--tests/regression/ip6/redirect.t18
5 files changed, 26 insertions, 24 deletions
diff --git a/src/parser_bison.y b/src/parser_bison.y
index 515a11a0..99dbd088 100644
--- a/src/parser_bison.y
+++ b/src/parser_bison.y
@@ -196,6 +196,7 @@ static void location_update(struct location *loc, struct location *rhs, int n)
%token JUMP "jump"
%token GOTO "goto"
%token RETURN "return"
+%token TO "to"
%token CONSTANT "constant"
%token INTERVAL "interval"
@@ -1439,7 +1440,7 @@ redir_stmt : redir_stmt_alloc redir_stmt_arg
redir_stmt_alloc : REDIRECT { $$ = redir_stmt_alloc(&@$); }
;
-redir_stmt_arg : COLON expr
+redir_stmt_arg : TO expr
{
$<stmt>0->redir.proto = $2;
}
@@ -1447,7 +1448,7 @@ redir_stmt_arg : COLON expr
{
$<stmt>0->redir.flags = $1;
}
- | COLON expr nf_nat_flags
+ | TO expr nf_nat_flags
{
$<stmt>0->redir.proto = $2;
$<stmt>0->redir.flags = $3;
diff --git a/src/scanner.l b/src/scanner.l
index 17231594..ed87da61 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -250,6 +250,7 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr})
"jump" { return JUMP; }
"goto" { return GOTO; }
"return" { return RETURN; }
+"to" { return TO; }
"inet" { return INET; }
diff --git a/src/statement.c b/src/statement.c
index 83abfeac..d72c6e9b 100644
--- a/src/statement.c
+++ b/src/statement.c
@@ -354,7 +354,7 @@ static void redir_stmt_print(const struct stmt *stmt)
printf("redirect");
if (stmt->redir.proto) {
- printf(" :");
+ printf(" to ");
expr_print(stmt->redir.proto);
}
diff --git a/tests/regression/ip/redirect.t b/tests/regression/ip/redirect.t
index ec88db17..bbf440d1 100644
--- a/tests/regression/ip/redirect.t
+++ b/tests/regression/ip/redirect.t
@@ -17,22 +17,22 @@ udp dport 53 redirect persistent,fully-random;ok;udp dport 53 redirect fully-ran
udp dport 53 redirect persistent,fully-random,random;ok;udp dport 53 redirect random,fully-random,persistent
# port specification
-tcp dport 22 redirect :22;ok
-udp dport 1234 redirect :4321;ok
-ip daddr 172.16.0.1 udp dport 9998 redirect :6515;ok
-tcp dport 39128 redirect :993;ok
-redirect :1234;fail
-redirect :12341111;fail
+tcp dport 22 redirect to 22;ok
+udp dport 1234 redirect to 4321;ok
+ip daddr 172.16.0.1 udp dport 9998 redirect to 6515;ok
+tcp dport 39128 redirect to 993;ok
+redirect to 1234;fail
+redirect to 12341111;fail
# both port and nf_nat flags
-tcp dport 9128 redirect :993 random;ok
-tcp dport 9128 redirect :993 fully-random;ok
-tcp dport 9128 redirect :123 persistent;ok
-tcp dport 9128 redirect :123 random,persistent;ok
+tcp dport 9128 redirect to 993 random;ok
+tcp dport 9128 redirect to 993 fully-random;ok
+tcp dport 9128 redirect to 123 persistent;ok
+tcp dport 9128 redirect to 123 random,persistent;ok
# nf_nat flags is the last argument
-udp dport 1234 redirect random :123;fail
-udp dport 21234 redirect persistent,fully-random :431;fail
+udp dport 1234 redirect random to 123;fail
+udp dport 21234 redirect persistent,fully-random to 431;fail
# redirect is a terminal statement
tcp dport 22 redirect counter packets 0 bytes 0 accept;fail
diff --git a/tests/regression/ip6/redirect.t b/tests/regression/ip6/redirect.t
index f6c98c0d..730d7339 100644
--- a/tests/regression/ip6/redirect.t
+++ b/tests/regression/ip6/redirect.t
@@ -19,19 +19,19 @@ udp dport 53 redirect persistent,fully-random;ok;udp dport 53 redirect fully-ran
udp dport 53 redirect persistent,fully-random,random;ok;udp dport 53 redirect random,fully-random,persistent
# port specification
-udp dport 1234 redirect :1234;ok
-ip6 daddr fe00::cafe udp dport 9998 redirect :6515;ok
-tcp dport 39128 redirect :993;ok
-redirect :1234;fail
-redirect :12341111;fail
+udp dport 1234 redirect to 1234;ok
+ip6 daddr fe00::cafe udp dport 9998 redirect to 6515;ok
+tcp dport 39128 redirect to 993;ok
+redirect to 1234;fail
+redirect to 12341111;fail
# both port and nf_nat flags
-tcp dport 9128 redirect :993 random;ok
-tcp dport 9128 redirect :993 fully-random,persistent;ok
+tcp dport 9128 redirect to 993 random;ok
+tcp dport 9128 redirect to 993 fully-random,persistent;ok
# nf_nat flags are the last argument
-tcp dport 9128 redirect persistent :123;fail
-tcp dport 9128 redirect random,persistent :123;fail
+tcp dport 9128 redirect persistent to 123;fail
+tcp dport 9128 redirect random,persistent to 123;fail
# redirect is a terminal statement
tcp dport 22 redirect counter packets 0 bytes 0 accept;fail