From bf7b8099144602de83ea44869a9137494865f105 Mon Sep 17 00:00:00 2001 From: Florian Westphal Date: Thu, 19 Feb 2015 12:26:42 +0100 Subject: extensions: libip6t_dst: make inversion work The inversion flag wasn't set in the match struct. Signed-off-by: Florian Westphal --- extensions/libip6t_dst.c | 2 ++ extensions/libip6t_dst.t | 1 + 2 files changed, 3 insertions(+) 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 -- cgit v1.2.3