]> err.no Git - linux-2.6/blobdiff - net/netfilter/xt_iprange.c
Merge branch 'kvm-updates-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6] / net / netfilter / xt_iprange.c
index 01035fc0e140637146c16b0413db56baf6aa3180..c63e9333c7550a04971084b3f688d8fe295919ea 100644 (file)
@@ -13,6 +13,7 @@
 #include <linux/ip.h>
 #include <linux/ipv6.h>
 #include <linux/netfilter/x_tables.h>
+#include <linux/netfilter/xt_iprange.h>
 #include <linux/netfilter_ipv4/ipt_iprange.h>
 
 static bool
@@ -101,7 +102,7 @@ iprange_ipv6_sub(const struct in6_addr *a, const struct in6_addr *b)
        int r;
 
        for (i = 0; i < 4; ++i) {
-               r = (__force u32)a->s6_addr32[i] - (__force u32)b->s6_addr32[i];
+               r = ntohl(a->s6_addr32[i]) - ntohl(b->s6_addr32[i]);
                if (r != 0)
                        return r;
        }
@@ -148,7 +149,7 @@ static struct xt_match iprange_mt_reg[] __read_mostly = {
        {
                .name      = "iprange",
                .revision  = 1,
-               .family    = AF_INET6,
+               .family    = AF_INET,
                .match     = iprange_mt4,
                .matchsize = sizeof(struct xt_iprange_mtinfo),
                .me        = THIS_MODULE,
@@ -178,3 +179,5 @@ module_exit(iprange_mt_exit);
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>, Jan Engelhardt <jengelh@computergmbh.de>");
 MODULE_DESCRIPTION("Xtables: arbitrary IPv4 range matching");
+MODULE_ALIAS("ipt_iprange");
+MODULE_ALIAS("ip6t_iprange");