summaryrefslogtreecommitdiffstats
path: root/net/netfilter/nf_conntrack_netlink.c
diff options
context:
space:
mode:
authorPatrick McHardy2006-12-03 07:05:25 +0100
committerDavid S. Miller2006-12-03 07:05:25 +0100
commit9457d851fc5df54522d733f72cbb1f02ab59272e (patch)
tree42a460d65cbb45b100c43f97ba8a7490df844bb8 /net/netfilter/nf_conntrack_netlink.c
parent[NETFILTER]: nf_conntrack: endian annotations (diff)
downloadkernel-qcow2-linux-9457d851fc5df54522d733f72cbb1f02ab59272e.tar.gz
kernel-qcow2-linux-9457d851fc5df54522d733f72cbb1f02ab59272e.tar.xz
kernel-qcow2-linux-9457d851fc5df54522d733f72cbb1f02ab59272e.zip
[NETFILTER]: nf_conntrack: automatic helper assignment for expectations
Some helpers (namely H.323) manually assign further helpers to expected connections. This is not possible with nf_conntrack anymore since we need to know whether a helper is used at allocation time. Handle the helper assignment centrally, which allows to perform the correct allocation and as a nice side effect eliminates the need for the H.323 helper to fiddle with nf_conntrack_lock. Mid term the allocation scheme really needs to be redesigned since we do both the helper and expectation lookup _twice_ for every new connection. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/netfilter/nf_conntrack_netlink.c')
-rw-r--r--net/netfilter/nf_conntrack_netlink.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c
index a693d3bd4c11..acaef4025951 100644
--- a/net/netfilter/nf_conntrack_netlink.c
+++ b/net/netfilter/nf_conntrack_netlink.c
@@ -1447,6 +1447,7 @@ ctnetlink_create_expect(struct nfattr *cda[], u_int8_t u3)
exp->expectfn = NULL;
exp->flags = 0;
exp->master = ct;
+ exp->helper = NULL;
memcpy(&exp->tuple, &tuple, sizeof(struct nf_conntrack_tuple));
memcpy(&exp->mask, &mask, sizeof(struct nf_conntrack_tuple));