summaryrefslogtreecommitdiffstats
path: root/extensions/libxt_iprange.c
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/libxt_iprange.c')
-rw-r--r--extensions/libxt_iprange.c52
1 files changed, 20 insertions, 32 deletions
diff --git a/extensions/libxt_iprange.c b/extensions/libxt_iprange.c
index a76f1e92..8be24814 100644
--- a/extensions/libxt_iprange.c
+++ b/extensions/libxt_iprange.c
@@ -322,18 +322,14 @@ static int iprange_xlate(struct xt_xlate *xl,
char *space = "";
if (info->flags & IPRANGE_SRC) {
- if (info->flags & IPRANGE_SRC_INV)
- xt_xlate_add(xl, "!= ");
- xt_xlate_add(xl, "ip saddr");
+ xt_xlate_add(xl, "ip saddr%s",
+ info->flags & IPRANGE_SRC_INV ? " !=" : "");
print_iprange_xlate(&info->src, xl);
space = " ";
}
if (info->flags & IPRANGE_DST) {
- if (info->flags & IPRANGE_DST_INV) {
- xt_xlate_add(xl, "%s!= ", space);
- space = "";
- }
- xt_xlate_add(xl, "%sip daddr", space);
+ xt_xlate_add(xl, "%sip daddr%s", space,
+ info->flags & IPRANGE_DST_INV ? " !=" : "");
print_iprange_xlate(&info->dst, xl);
}
@@ -348,23 +344,19 @@ static int iprange_mt4_xlate(struct xt_xlate *xl,
char *space = "";
if (info->flags & IPRANGE_SRC) {
- if (info->flags & IPRANGE_SRC_INV)
- xt_xlate_add(xl, "!= ");
- xt_xlate_add(xl, "ip saddr %s",
- xtables_ipaddr_to_numeric(&info->src_min.in));
+ xt_xlate_add(xl, "ip saddr%s %s",
+ info->flags & IPRANGE_SRC_INV ? " !=" : "",
+ xtables_ipaddr_to_numeric(&info->src_min.in));
xt_xlate_add(xl, "-%s",
- xtables_ipaddr_to_numeric(&info->src_max.in));
+ xtables_ipaddr_to_numeric(&info->src_max.in));
space = " ";
}
if (info->flags & IPRANGE_DST) {
- if (info->flags & IPRANGE_DST_INV) {
- xt_xlate_add(xl, "%s!= ", space);
- space = "";
- }
- xt_xlate_add(xl, "%sip daddr %s", space,
- xtables_ipaddr_to_numeric(&info->dst_min.in));
+ xt_xlate_add(xl, "%sip daddr%s %s", space,
+ info->flags & IPRANGE_DST_INV ? " !=" : "",
+ xtables_ipaddr_to_numeric(&info->dst_min.in));
xt_xlate_add(xl, "-%s",
- xtables_ipaddr_to_numeric(&info->dst_max.in));
+ xtables_ipaddr_to_numeric(&info->dst_max.in));
}
return 1;
@@ -378,23 +370,19 @@ static int iprange_mt6_xlate(struct xt_xlate *xl,
char *space = "";
if (info->flags & IPRANGE_SRC) {
- if (info->flags & IPRANGE_SRC_INV)
- xt_xlate_add(xl, "!= ");
- xt_xlate_add(xl, "ip6 saddr %s",
- xtables_ip6addr_to_numeric(&info->src_min.in6));
+ xt_xlate_add(xl, "ip6 saddr%s %s",
+ info->flags & IPRANGE_SRC_INV ? " !=" : "",
+ xtables_ip6addr_to_numeric(&info->src_min.in6));
xt_xlate_add(xl, "-%s",
- xtables_ip6addr_to_numeric(&info->src_max.in6));
+ xtables_ip6addr_to_numeric(&info->src_max.in6));
space = " ";
}
if (info->flags & IPRANGE_DST) {
- if (info->flags & IPRANGE_DST_INV) {
- xt_xlate_add(xl, "%s!= ", space);
- space = "";
- }
- xt_xlate_add(xl, "%sip6 daddr %s", space,
- xtables_ip6addr_to_numeric(&info->dst_min.in6));
+ xt_xlate_add(xl, "%sip6 daddr%s %s", space,
+ info->flags & IPRANGE_DST_INV ? " !=" : "",
+ xtables_ip6addr_to_numeric(&info->dst_min.in6));
xt_xlate_add(xl, "-%s",
- xtables_ip6addr_to_numeric(&info->dst_max.in6));
+ xtables_ip6addr_to_numeric(&info->dst_max.in6));
}
return 1;