diff options
author | Florian Westphal <fw@strlen.de> | 2015-02-19 12:26:42 +0100 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2015-02-19 17:44:06 +0100 |
commit | bf7b8099144602de83ea44869a9137494865f105 (patch) | |
tree | 31b4132195554a30abde40f6652cde32778b0ddd | |
parent | 8090dbc39f20dcc937c3c13d9131500655196cf0 (diff) |
extensions: libip6t_dst: make inversion work
The inversion flag wasn't set in the match struct.
Signed-off-by: Florian Westphal <fw@strlen.de>
-rw-r--r-- | extensions/libip6t_dst.c | 2 | ||||
-rw-r--r-- | extensions/libip6t_dst.t | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/extensions/libip6t_dst.c b/extensions/libip6t_dst.c index 3fd4c019..fe7e3403 100644 --- a/extensions/libip6t_dst.c +++ b/extensions/libip6t_dst.c @@ -112,6 +112,8 @@ static void dst_parse(struct xt_option_call *cb) xtables_option_parse(cb); switch (cb->entry->id) { case O_DSTLEN: + if (cb->invert) + optinfo->invflags |= IP6T_OPTS_INV_LEN; optinfo->flags |= IP6T_OPTS_LEN; break; case O_DSTOPTS: diff --git a/extensions/libip6t_dst.t b/extensions/libip6t_dst.t index b2788aae..0b0013b5 100644 --- a/extensions/libip6t_dst.t +++ b/extensions/libip6t_dst.t @@ -1,4 +1,5 @@ :INPUT,FORWARD,OUTPUT -m dst --dst-len 0;=;OK -m dst --dst-opts 149:92,12:12,123:12;=;OK +-m dst ! --dst-len 42;=;OK -m dst --dst-len 42 --dst-opts 149:92,12:12,123:12;=;OK |