netdev
[Top] [All Lists]

[PATCH] REDIRECT and MASQUERADE port-range fix

To: torvalds@xxxxxxxxxxxxx
Subject: [PATCH] REDIRECT and MASQUERADE port-range fix
From: Rusty Russell <rusty@xxxxxxxxxxxxxxxx>
Date: Thu, 27 Apr 2000 19:30:40 +0930
Cc: netdev@xxxxxxxxxxx, netfilter@xxxxxxxxxxxxxxx
Sender: owner-netdev@xxxxxxxxxxx
Linus, please apply v2.3.99-pre6.

Thinko + cut&paste + incomplete testsuite == stupid bug.

Rusty.

diff -urN --minimal --exclude *.lds --exclude *.ps --exclude *.pdf --exclude 
*.sgml --exclude *.tex --exclude *.aux --exclude *.log --exclude classlist.h 
--exclude devlist.h --exclude autoconf.h --exclude compile.h --exclude 
version.h --exclude .* --exclude *.[oa] --exclude *.orig --exclude config 
--exclude asm --exclude modules --exclude *.[Ss] --exclude System.map --exclude 
consolemap_deftbl.c --exclude *~ --exclude TAGS --exclude tags --exclude 
modversions.h --exclude install-kernel 
linux-2.3.99-pre-6-2-rusty/net/ipv4/netfilter/ipt_MASQUERADE.c 
working/net/ipv4/netfilter/ipt_MASQUERADE.c
--- linux-2.3.99-pre-6-2-rusty/net/ipv4/netfilter/ipt_MASQUERADE.c      Wed Apr 
12 17:13:07 2000
+++ working/net/ipv4/netfilter/ipt_MASQUERADE.c Sun Apr 23 23:38:40 2000
@@ -60,7 +60,7 @@
 {
        struct ip_conntrack *ct;
        enum ip_conntrack_info ctinfo;
-       const struct ip_nat_range *r;
+       const struct ip_nat_multi_range *mr;
        struct ip_nat_multi_range newrange;
        u_int32_t newsrc;
        struct rtable *rt;
@@ -76,7 +76,7 @@
        IP_NF_ASSERT(ct && (ctinfo == IP_CT_NEW
                                  || ctinfo == IP_CT_RELATED));
 
-       r = targinfo;
+       mr = targinfo;
 
        if (ip_route_output(&rt, (*pskb)->nh.iph->daddr,
                            0,
@@ -97,9 +97,9 @@
 
        /* Transfer from original range. */
        newrange = ((struct ip_nat_multi_range)
-               { 1, { { r->flags | IP_NAT_RANGE_MAP_IPS,
+               { 1, { { mr->range[0].flags | IP_NAT_RANGE_MAP_IPS,
                         newsrc, newsrc,
-                        r->min, r->max } } });
+                        mr->range[0].min, mr->range[0].max } } });
 
        /* Hand modified range to generic setup. */
        return ip_nat_setup_info(ct, &newrange, hooknum);
diff -urN --minimal --exclude *.lds --exclude *.ps --exclude *.pdf --exclude 
*.sgml --exclude *.tex --exclude *.aux --exclude *.log --exclude classlist.h 
--exclude devlist.h --exclude autoconf.h --exclude compile.h --exclude 
version.h --exclude .* --exclude *.[oa] --exclude *.orig --exclude config 
--exclude asm --exclude modules --exclude *.[Ss] --exclude System.map --exclude 
consolemap_deftbl.c --exclude *~ --exclude TAGS --exclude tags --exclude 
modversions.h --exclude install-kernel 
linux-2.3.99-pre-6-2-rusty/net/ipv4/netfilter/ipt_REDIRECT.c 
working/net/ipv4/netfilter/ipt_REDIRECT.c
--- linux-2.3.99-pre-6-2-rusty/net/ipv4/netfilter/ipt_REDIRECT.c        Wed Apr 
12 17:13:07 2000
+++ working/net/ipv4/netfilter/ipt_REDIRECT.c   Wed Apr 19 19:35:44 2000
@@ -58,7 +58,7 @@
        struct ip_conntrack *ct;
        enum ip_conntrack_info ctinfo;
        u_int32_t newdst;
-       const struct ip_nat_range *r = targinfo;
+       const struct ip_nat_multi_range *mr = targinfo;
        struct ip_nat_multi_range newrange;
 
        IP_NF_ASSERT(hooknum == NF_IP_PRE_ROUTING
@@ -77,9 +77,9 @@
 
        /* Transfer from original range. */
        newrange = ((struct ip_nat_multi_range)
-               { 1, { { r->flags | IP_NAT_RANGE_MAP_IPS,
+               { 1, { { mr->range[0].flags | IP_NAT_RANGE_MAP_IPS,
                         newdst, newdst,
-                        r->min, r->max } } });
+                        mr->range[0].min, mr->range[0].max } } });
 
        /* Hand modified range to generic setup. */
        return ip_nat_setup_info(ct, &newrange, hooknum);

--
Hacking time.

<Prev in Thread] Current Thread [Next in Thread>
  • [PATCH] REDIRECT and MASQUERADE port-range fix, Rusty Russell <=