diff -u -r1.3 ip_nat_standalone.c --- linux-2.4.x/net/ipv4/netfilter/ip_nat_standalone.c 9 Dec 2002 15:18:06 -0000 1.3 +++ linux-2.4.x/net/ipv4/netfilter/ip_nat_standalone.c 21 Jan 2003 08:20:45 -0000 @@ -109,12 +109,6 @@ } /* Fall thru... (Only ICMPs can be IP_CT_IS_REPLY) */ case IP_CT_NEW: -#ifdef CONFIG_IP_NF_NAT_LOCAL - /* LOCAL_IN hook doesn't have a chain and thus doesn't care - * about new packets -HW */ - if (hooknum == NF_IP_LOCAL_IN) - return NF_ACCEPT; -#endif info = &ct->nat.info; WRITE_LOCK(&ip_nat_lock); @@ -130,6 +124,14 @@ ret = call_expect(master_ct(ct), pskb, hooknum, ct, info); } else { +#ifdef CONFIG_IP_NF_NAT_LOCAL + /* LOCAL_IN hook doesn't have a chain and thus + * doesn't care about new packets -HW */ + if (hooknum == NF_IP_LOCAL_IN) { + WRITE_UNLOCK(&ip_nat_lock); + return NF_ACCEPT; + } +#endif ret = ip_nat_rule_find(pskb, hooknum, in, out, ct, info); }