aboutsummaryrefslogtreecommitdiffstats
path: root/net/dccp
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2006-01-06 23:06:30 -0800
committerDavid S. Miller <davem@sunset.davemloft.net>2006-01-07 12:57:37 -0800
commiteb9c7ebe6980c41cf6ae889e301c3b49f473ee9f (patch)
tree419103d15b9de9c26c8400c698625231df55da91 /net/dccp
parent[NETFILTER]: Keep conntrack reference until IPsec policy checks are done (diff)
downloadlinux-dev-eb9c7ebe6980c41cf6ae889e301c3b49f473ee9f.tar.xz
linux-dev-eb9c7ebe6980c41cf6ae889e301c3b49f473ee9f.zip
[NETFILTER]: Handle NAT in IPsec policy checks
Handle NAT of decapsulated IPsec packets by reconstructing the struct flowi of the original packet from the conntrack information for IPsec policy checks. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dccp')
-rw-r--r--net/dccp/ipv4.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/dccp/ipv4.c b/net/dccp/ipv4.c
index 23ba177c1150..00f983226672 100644
--- a/net/dccp/ipv4.c
+++ b/net/dccp/ipv4.c
@@ -986,6 +986,7 @@ int dccp_v4_rcv(struct sk_buff *skb)
if (!xfrm4_policy_check(sk, XFRM_POLICY_IN, skb))
goto discard_and_relse;
+ nf_reset(skb);
return sk_receive_skb(sk, skb);
@@ -1099,7 +1100,6 @@ int dccp_v4_destroy_sock(struct sock *sk)
kfree_skb(sk->sk_send_head);
sk->sk_send_head = NULL;
}
- nf_reset(skb);
/* Clean up a referenced DCCP bind bucket. */
if (inet_csk(sk)->icsk_bind_hash != NULL)