diff options
author | Florian Westphal <fw@strlen.de> | 2018-05-08 16:31:29 +0200 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2018-05-10 02:31:05 +0200 |
commit | 07f4ca96816886635acfb9478b2d04929938eb78 (patch) | |
tree | 4e75aef91de288c9e814580703a77cc71bd73e28 /iptables/xtables-eb-translate.c | |
parent | 0ca2d2a2a5994a6131ad32aedbc42b530ac529bd (diff) |
xtables-compat: ebtables: allow checking for zero-mac
Allow checking for an all-zero mac address by replacing checks on the
address with a check on the option flag.
Its set when '-d' or '-s' appears on the command line and when seeing
a linklayer payload request for ether s/daddr.
Same for -p: s this flag gets removed during getopt when 'p' is encountered.
So, if its set, no need to check protocol type.
Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'iptables/xtables-eb-translate.c')
-rw-r--r-- | iptables/xtables-eb-translate.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/iptables/xtables-eb-translate.c b/iptables/xtables-eb-translate.c index 23d261e0..e54415a2 100644 --- a/iptables/xtables-eb-translate.c +++ b/iptables/xtables-eb-translate.c @@ -305,7 +305,6 @@ static void ebtables_parse_interface(const char *arg, char *vianame) if (*(c + 1) != '\0') xtables_error(PARAMETER_PROBLEM, "Spurious characters after '+' wildcard"); - *c = IF_WILDCARD; } } @@ -392,6 +391,7 @@ static int do_commandeb_xlate(struct nft_handle *h, int argc, char *argv[], char /* prevent getopt to spoil our error reporting */ opterr = false; + cs.eb.bitmask = EBT_NOPROTO; printf("nft "); /* Getopt saves the day */ |