patch-2.4.20 linux-2.4.20/net/ipv4/netfilter/ip_nat_rule.c
Next file: linux-2.4.20/net/ipv4/netfilter/ip_nat_snmp_basic.c
Previous file: linux-2.4.20/net/ipv4/netfilter/ip_nat_proto_unknown.c
Back to the patch index
Back to the overall index
- Lines: 73
- Date:
Thu Nov 28 15:53:15 2002
- Orig file:
linux-2.4.19/net/ipv4/netfilter/ip_nat_rule.c
- Orig date:
Fri Aug 2 17:39:46 2002
diff -urN linux-2.4.19/net/ipv4/netfilter/ip_nat_rule.c linux-2.4.20/net/ipv4/netfilter/ip_nat_rule.c
@@ -106,8 +106,6 @@
= { { NULL, NULL }, "nat", &nat_initial_table.repl,
NAT_VALID_HOOKS, RW_LOCK_UNLOCKED, NULL, THIS_MODULE };
-LIST_HEAD(nat_expect_list);
-
/* Source NAT */
static unsigned int ipt_snat_target(struct sk_buff **pskb,
unsigned int hooknum,
@@ -254,19 +252,6 @@
return ip_nat_setup_info(conntrack, &mr, hooknum);
}
-static inline int call_expect(const struct ip_nat_expect *i,
- struct sk_buff **pskb,
- unsigned int hooknum,
- struct ip_conntrack *ct,
- struct ip_nat_info *info,
- struct ip_conntrack *master,
- struct ip_nat_info *masterinfo,
- unsigned int *verdict)
-{
- return i->expect(pskb, hooknum, ct, info, master, masterinfo,
- verdict);
-}
-
int ip_nat_rule_find(struct sk_buff **pskb,
unsigned int hooknum,
const struct net_device *in,
@@ -276,19 +261,8 @@
{
int ret;
- /* Master won't vanish while this ctrack still alive */
- if (ct->master.master) {
- struct ip_conntrack *master;
-
- master = (struct ip_conntrack *)ct->master.master;
- if (LIST_FIND(&nat_expect_list,
- call_expect,
- struct ip_nat_expect *,
- pskb, hooknum, ct, info,
- master, &master->nat.info, &ret))
- return ret;
- }
ret = ipt_do_table(pskb, hooknum, in, out, &nat_table, NULL);
+
if (ret == NF_ACCEPT) {
if (!(info->initialized & (1 << HOOK2MANIP(hooknum))))
/* NUL mapping */
@@ -297,22 +271,6 @@
return ret;
}
-int ip_nat_expect_register(struct ip_nat_expect *expect)
-{
- WRITE_LOCK(&ip_nat_lock);
- list_prepend(&nat_expect_list, expect);
- WRITE_UNLOCK(&ip_nat_lock);
-
- return 0;
-}
-
-void ip_nat_expect_unregister(struct ip_nat_expect *expect)
-{
- WRITE_LOCK(&ip_nat_lock);
- LIST_DELETE(&nat_expect_list, expect);
- WRITE_UNLOCK(&ip_nat_lock);
-}
-
static struct ipt_target ipt_snat_reg
= { { NULL, NULL }, "SNAT", ipt_snat_target, ipt_snat_checkentry, NULL };
static struct ipt_target ipt_dnat_reg
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)