]> git.ipfire.org Git - thirdparty/xtables-addons.git/commitdiff
RAWNAT: fix incorrect mask in rawnat_ipv6_mask
authorChangli Gao <xiaosuo@gmail.com>
Sat, 29 May 2010 08:10:51 +0000 (16:10 +0800)
committerJan Engelhardt <jengelh@medozas.de>
Sat, 29 May 2010 10:35:14 +0000 (12:35 +0200)
I really think it is a typo mistake. :)

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
extensions/xt_RAWNAT.c

index f256e4c12759762095afead66fe52ee0ab19d06f..063dcbea6eede160e5f2c33671b68e2f0f464f8a 100644 (file)
@@ -48,7 +48,7 @@ rawnat_ipv6_mask(__be32 *addr, const __be32 *repl, unsigned int mask)
                break;
        case 33 ... 63:
                addr[0] = repl[0];
-               addr[1] = remask(addr[1], repl[1], mask - 64);
+               addr[1] = remask(addr[1], repl[1], mask - 32);
                break;
        case 64:
                addr[0] = repl[0];
@@ -57,7 +57,7 @@ rawnat_ipv6_mask(__be32 *addr, const __be32 *repl, unsigned int mask)
        case 65 ... 95:
                addr[0] = repl[0];
                addr[1] = repl[1];
-               addr[2] = remask(addr[2], repl[2], mask - 96);
+               addr[2] = remask(addr[2], repl[2], mask - 64);
        case 96:
                addr[0] = repl[0];
                addr[1] = repl[1];
@@ -67,7 +67,7 @@ rawnat_ipv6_mask(__be32 *addr, const __be32 *repl, unsigned int mask)
                addr[0] = repl[0];
                addr[1] = repl[1];
                addr[2] = repl[2];
-               addr[3] = remask(addr[3], repl[3], mask - 128);
+               addr[3] = remask(addr[3], repl[3], mask - 96);
                break;
        case 128:
                addr[0] = repl[0];