summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Bernat <bernat@luffy.cx>2010-04-21 14:48:26 +0200
committerPatrick McHardy <kaber@trash.net>2010-04-21 14:48:26 +0200
commitada4ff6155a02b0aed8400e46f34e72c91e36277 (patch)
tree9e21158027fe01382c1b340ff39fa397898f85e0
parent9f27e6b6f8638bde93e9901e999287ad5118f17c (diff)
iprange: fix xt_iprange v0 parsing
iprange_parse() was incomplete and did not include parsed ranges into ipt_iprange_info structure resulting in always adding range 0.0.0.0-0.0.0.0 in the kernel. Moreover, when using --dst-range, error messages may display --src-range instead. Fix this too. Signed-off-by: Vincent Bernat <bernat@luffy.cx> Signed-off-by: Patrick McHardy <kaber@trash.net>
-rw-r--r--extensions/libxt_iprange.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/extensions/libxt_iprange.c b/extensions/libxt_iprange.c
index b28a635a..55a2f84b 100644
--- a/extensions/libxt_iprange.c
+++ b/extensions/libxt_iprange.c
@@ -108,7 +108,8 @@ static int iprange_parse(int c, char **argv, int invert, unsigned int *flags,
if (invert)
info->flags |= IPRANGE_SRC_INV;
iprange_parse_range(optarg, range, NFPROTO_IPV4, "--src-range");
-
+ info->src.min_ip = range[0].ip;
+ info->src.max_ip = range[1].ip;
break;
case '2':
@@ -122,8 +123,9 @@ static int iprange_parse(int c, char **argv, int invert, unsigned int *flags,
if (invert)
info->flags |= IPRANGE_DST_INV;
- iprange_parse_range(optarg, range, NFPROTO_IPV4, "--src-range");
-
+ iprange_parse_range(optarg, range, NFPROTO_IPV4, "--dst-range");
+ info->dst.min_ip = range[0].ip;
+ info->dst.max_ip = range[1].ip;
break;
default: