summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Engelhardt <jengelh@medozas.de>2008-06-13 17:59:29 +0200
committerPatrick McHardy <kaber@trash.net>2008-06-13 17:59:29 +0200
commit6a0cd58f7e444137eb757695f917e46eb14201c8 (patch)
tree5d9e94b94f38c0fad6fc6568625abbaf97d9c7e9
parent1564189568fb63292c7f586563d4fda430a40de3 (diff)
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 <maxim.britov@gmail.com> Signed-off-by: Jan Engelhardt <jengelh@medozas.de> Signed-off-by: Patrick McHardy <kaber@trash.net>
-rw-r--r--extensions/libxt_iprange.c6
1 files changed, 6 insertions, 0 deletions
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;
}