On Thu, 11 Oct 2007, Patrick McHardy wrote:
Jozsef Kadlecsik wrote:
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@xxxxxxxxxxxxxxxxx>
Applied, thanks Jozsef. I'll push this to -stable once it hits upstream.
It would be nice to have this fixed in both 2.6.22-stable and
2.6.23-stable if that is possible. Thank you.
Best regards,
Krzysztof Olędzki