From 6a0cd58f7e444137eb757695f917e46eb14201c8 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Fri, 13 Jun 2008 17:59:29 +0200 Subject: iprange: kernel flags were not set The --src-range and --dst-range parameters did not set the IPRANGE_* flags in struct xt_iprange_mtinfo. Reported-by: Maxim Britov Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy --- extensions/libxt_iprange.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'extensions/libxt_iprange.c') diff --git a/extensions/libxt_iprange.c b/extensions/libxt_iprange.c index 70fcc573..8c8521e9 100644 --- a/extensions/libxt_iprange.c +++ b/extensions/libxt_iprange.c @@ -119,6 +119,9 @@ iprange_mt4_parse(int c, char **argv, int invert, unsigned int *flags, if (ia == NULL) param_act(P_BAD_VALUE, "iprange", "--src-ip", end + 1); memcpy(&info->src_max.in, ia, sizeof(*ia)); + info->flags |= IPRANGE_SRC; + if (invert) + info->flags |= IPRANGE_SRC_INV; *flags |= F_SRCIP; return true; @@ -135,6 +138,9 @@ iprange_mt4_parse(int c, char **argv, int invert, unsigned int *flags, if (ia == NULL) param_act(P_BAD_VALUE, "iprange", "--dst-ip", end + 1); memcpy(&info->dst_max.in, ia, sizeof(*ia)); + info->flags |= IPRANGE_DST; + if (invert) + info->flags |= IPRANGE_DST_INV; *flags |= F_DSTIP; return true; } -- cgit v1.2.3