]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
scanner: add aliases to symbols for easier interaction with most shells
authorPablo Neira Ayuso <pablo@netfilter.org>
Tue, 14 Jan 2014 14:55:14 +0000 (15:55 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 15 Jan 2014 09:18:34 +0000 (10:18 +0100)
These symbols need to be escaped in bash and if you use them without
escaping then, it can lead to confusion. This patch adds nominal
aliases, eg.

 nft add rule filter output meta mark and 0x3 eq 0x1

as an alternative to:

 nft add rule filter output meta mark \& 0x3 == 0x1

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/scanner.l

index 345b1314364e21ea53d523089324ce2598bd2ce8..66735b110e47ab36270c44130dfce7dfc36c8cd3 100644 (file)
@@ -182,11 +182,17 @@ addrstring        ({macaddr}|{ip4addr}|{ip6addr})
 %%
 
 "=="                   { return EQ; }
+"eq"                   { return EQ; }
 "!="                   { return NEQ; }
+"ne"                   { return NEQ; }
 "<="                   { return LTE; }
+"le"                   { return LTE; }
 "<"                    { return LT; }
+"lt"                   { return LT; }
 ">="                   { return GTE; }
+"ge"                   { return GTE; }
 ">"                    { return GT; }
+"gt"                   { return GT; }
 ","                    { return COMMA; }
 "."                    { return DOT; }
 ":"                    { return COLON; }
@@ -198,11 +204,17 @@ addrstring        ({macaddr}|{ip4addr}|{ip6addr})
 "("                    { return '('; }
 ")"                    { return ')'; }
 "<<"                   { return LSHIFT; }
+"lshift"               { return LSHIFT; }
 ">>"                   { return RSHIFT; }
+"rshift"               { return RSHIFT; }
 "^"                    { return CARET; }
+"xor"                  { return CARET; }
 "&"                    { return AMPERSAND; }
+"and"                  { return AMPERSAND; }
 "|"                    { return '|'; }
+"or"                   { return '|'; }
 "!"                    { return NOT; }
+"not"                  { return NOT; }
 "/"                    { return SLASH; }
 "-"                    { return DASH; }
 "*"                    { return ASTERISK; }