patch-2.4.19 linux-2.4.19/net/ipv4/netfilter/ip_nat_core.c
Next file: linux-2.4.19/net/ipv4/netfilter/ip_nat_rule.c
Previous file: linux-2.4.19/net/ipv4/netfilter/ip_fw_compat_redir.c
Back to the patch index
Back to the overall index
- Lines: 42
- Date:
Fri Aug 2 17:39:46 2002
- Orig file:
linux-2.4.18/net/ipv4/netfilter/ip_nat_core.c
- Orig date:
Fri Dec 21 09:42:05 2001
diff -urN linux-2.4.18/net/ipv4/netfilter/ip_nat_core.c linux-2.4.19/net/ipv4/netfilter/ip_nat_core.c
@@ -314,6 +314,7 @@
* do_extra_mangle last time. */
*other_ipp = saved_ip;
+#ifdef CONFIG_IP_NF_NAT_LOCAL
if (hooknum == NF_IP_LOCAL_OUT
&& *var_ipp != orig_dstip
&& !do_extra_mangle(*var_ipp, other_ipp)) {
@@ -324,6 +325,7 @@
* anyway. */
continue;
}
+#endif
/* Count how many others map onto this. */
score = count_maps(tuple->src.ip, tuple->dst.ip,
@@ -367,11 +369,13 @@
else {
/* Only do extra mangle when required (breaks
socket binding) */
+#ifdef CONFIG_IP_NF_NAT_LOCAL
if (tuple->dst.ip != mr->range[0].min_ip
&& hooknum == NF_IP_LOCAL_OUT
&& !do_extra_mangle(mr->range[0].min_ip,
&tuple->src.ip))
return NULL;
+#endif
tuple->dst.ip = mr->range[0].min_ip;
}
}
@@ -494,7 +498,10 @@
static unsigned int opposite_hook[NF_IP_NUMHOOKS]
= { [NF_IP_PRE_ROUTING] = NF_IP_POST_ROUTING,
[NF_IP_POST_ROUTING] = NF_IP_PRE_ROUTING,
- [NF_IP_LOCAL_OUT] = NF_IP_POST_ROUTING
+#ifdef CONFIG_IP_NF_NAT_LOCAL
+ [NF_IP_LOCAL_OUT] = NF_IP_LOCAL_IN,
+ [NF_IP_LOCAL_IN] = NF_IP_LOCAL_OUT,
+#endif
};
unsigned int
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)