linux/net
Jozsef Kadlecsik 17311393f9 [NETFILTER]: nf_conntrack_tcp: fix connection reopening
With your description I could reproduce the bug and actually you were
completely right: the code above is incorrect. Somehow I was able to
misread RFC1122 and mixed the roles :-(:

   When a connection is >>closed actively<<, it MUST linger in
   TIME-WAIT state for a time 2xMSL (Maximum Segment Lifetime).
   However, it MAY >>accept<< a new SYN from the remote TCP to
   reopen the connection directly from TIME-WAIT state, if it:
   [...]

The fix is as follows: if the receiver initiated an active close, then the
sender may reopen the connection - otherwise try to figure out if we hold
a dead connection.

Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Tested-by: Krzysztof Piotr Oledzki <ole@ans.pl>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-10-11 14:35:52 -07:00
..
9p
802
8021q [8021Q]: transfer dev_id from real device 2007-10-10 16:54:56 -07:00
appletalk [NET]: sparse warning fixes 2007-10-10 16:54:48 -07:00
atm [NET]: sparse warning fixes 2007-10-10 16:54:48 -07:00
ax25
bluetooth
bridge
core [NET]: make netlink user -> kernel interface synchronious 2007-10-10 21:15:29 -07:00
dccp [DCCP]: Twice the wrong reset code in receiving connection-Requests 2007-10-10 16:54:38 -07:00
decnet [NET]: make netlink user -> kernel interface synchronious 2007-10-10 21:15:29 -07:00
econet
ethernet
ieee80211
ipv4 [NETLINK]: fib_frontend build fixes 2007-10-10 21:32:39 -07:00
ipv6 [IPv6]: Export userland ND options through netlink (RDNSS support) 2007-10-10 21:22:05 -07:00
ipx
irda [IRDA]: Make the IRDA use the seq_open_private() 2007-10-10 16:55:35 -07:00
iucv [AF_IUCV]: postpone receival of iucv-packets 2007-10-10 16:54:51 -07:00
key [IPSEC]: Lock state when copying non-atomic fields to user-space 2007-10-10 16:55:02 -07:00
lapb
llc
mac80211 [PATCH] mac80211: Defer setting of RX_FLAG_DECRYPTED. 2007-10-10 16:55:23 -07:00
netfilter [NETFILTER]: nf_conntrack_tcp: fix connection reopening 2007-10-11 14:35:52 -07:00
netlabel
netlink [NET]: make netlink user -> kernel interface synchronious 2007-10-10 21:15:29 -07:00
netrom
packet
rfkill [RFKILL]: Add support for hardware-only rfkill buttons 2007-10-10 16:54:11 -07:00
rose
rxrpc
sched [NET_SCHED]: Show timer resolution instead of clock resolution in /proc/net/psched 2007-10-10 16:55:59 -07:00
sctp [INET]: local port range robustness 2007-10-10 17:30:46 -07:00
sunrpc [SUNRPC]: Make the sunrpc use the seq_open_private() 2007-10-10 16:55:36 -07:00
tipc
unix [NET]: Make core networking code use seq_open_private 2007-10-10 16:55:33 -07:00
wanrouter
wireless
x25
xfrm [NET]: make netlink user -> kernel interface synchronious 2007-10-10 21:15:29 -07:00
compat.c
Kconfig
Makefile
nonet.c
socket.c [NET]: sanitize kernel_accept() error path 2007-10-10 21:09:04 -07:00
sysctl_net.c
TUNABLE