Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d485d500 authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller
Browse files

netfilter: tproxy: nf_tproxy_assign_sock() can handle tw sockets



transparent field of a socket is either inet_twsk(sk)->tw_transparent
for timewait sockets, or inet_sk(sk)->transparent for other sockets
(TCP/UDP).

Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 3d13008e
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -70,7 +70,11 @@ nf_tproxy_destructor(struct sk_buff *skb)
int
nf_tproxy_assign_sock(struct sk_buff *skb, struct sock *sk)
{
	if (inet_sk(sk)->transparent) {
	bool transparent = (sk->sk_state == TCP_TIME_WAIT) ?
				inet_twsk(sk)->tw_transparent :
				inet_sk(sk)->transparent;

	if (transparent) {
		skb_orphan(skb);
		skb->sk = sk;
		skb->destructor = nf_tproxy_destructor;