[netfilter-cvslog] r3702 - trunk/patch-o-matic-ng/nf_conntrack/linux-2.6/net/netfilter

laforge at netfilter.org laforge at netfilter.org
Tue Feb 15 02:54:11 CET 2005


Author: laforge at netfilter.org
Date: 2005-02-15 02:54:10 +0100 (Tue, 15 Feb 2005)
New Revision: 3702

Modified:
   trunk/patch-o-matic-ng/nf_conntrack/linux-2.6/net/netfilter/nf_conntrack_core.c
Log:
ip_conntrack_alter_reply doesn't need to loop


Modified: trunk/patch-o-matic-ng/nf_conntrack/linux-2.6/net/netfilter/nf_conntrack_core.c
===================================================================
--- trunk/patch-o-matic-ng/nf_conntrack/linux-2.6/net/netfilter/nf_conntrack_core.c	2005-02-15 01:52:19 UTC (rev 3701)
+++ trunk/patch-o-matic-ng/nf_conntrack/linux-2.6/net/netfilter/nf_conntrack_core.c	2005-02-15 01:54:10 UTC (rev 3702)
@@ -1295,16 +1295,12 @@
 	return ret;
 }
 
-/* Alter reply tuple (maybe alter helper).  If it's already taken,
-   return 0 and don't do alteration. */
-int nf_conntrack_alter_reply(struct nf_conn *conntrack,
-			     const struct nf_conntrack_tuple *newreply)
+/* Alter reply tuple (maybe alter helper).  This is for NAT, and is
+   implicitly racy: see __ip_conntrack_confirm */
+void nf_conntrack_alter_reply(struct nf_conn *conntrack,
+			      const struct nf_conntrack_tuple *newreply)
 {
 	WRITE_LOCK(&nf_conntrack_lock);
-	if (__nf_conntrack_find(newreply, conntrack)) {
-		WRITE_UNLOCK(&nf_conntrack_lock);
-		return 0;
-	}
 	/* Should be unconfirmed, so not in hash table yet */
 	NF_CT_ASSERT(!is_confirmed(conntrack));
 
@@ -1315,8 +1311,6 @@
 	if (!conntrack->master && list_empty(&conntrack->sibling_list))
 		conntrack->helper = nf_ct_find_helper(newreply);
 	WRITE_UNLOCK(&nf_conntrack_lock);
-
-	return 1;
 }
 
 int nf_conntrack_helper_register(struct nf_conntrack_helper *me)




More information about the netfilter-cvslog mailing list