]> git.ipfire.org Git - thirdparty/iptables.git/commitdiff
iprange: kernel flags were not set
authorJan Engelhardt <jengelh@medozas.de>
Fri, 13 Jun 2008 15:59:29 +0000 (17:59 +0200)
committerPatrick McHardy <kaber@trash.net>
Fri, 13 Jun 2008 15:59:29 +0000 (17:59 +0200)
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>
extensions/libxt_iprange.c

index 70fcc57318d6b3f1ef17adcb3100fd53f3537d59..8c8521e951dece5cc84658aabddc550d294bd8c8 100644 (file)
@@ -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;
        }