diff options
author | Marcelo Leitner <mleitner@redhat.com> | 2014-10-13 13:09:28 -0300 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2014-10-22 14:12:50 +0200 |
commit | e37ad9fd636071e45368d1d9cc3b7b421281ce7f (patch) | |
tree | e44d86031de19e16ee5632d866178c82ce0d5ced /tools/perf/scripts/python/net_dropmonitor.py | |
parent | 7c1c97d54f9bfc810908d3903cb8bcacf734df18 (diff) |
netfilter: nf_conntrack: allow server to become a client in TW handling
When a port that was used to listen for inbound connections gets closed
and reused for outgoing connections (like rsh ends up doing for stderr
flow), current we may reject the SYN/ACK packet for the new connection
because tcp_conntracks states forbirds a port to become a client while
there is still a TIME_WAIT entry in there for it.
As TCP may expire the TIME_WAIT socket in 60s and conntrack's timeout
for it is 120s, there is a ~60s window that the application can end up
opening a port that conntrack will end up blocking.
This patch fixes this by simply allowing such state transition: if we
see a SYN, in TIME_WAIT state, on REPLY direction, move it to sSS. Note
that the rest of the code already handles this situation, more
specificly in tcp_packet(), first switch clause.
Signed-off-by: Marcelo Ricardo Leitner <mleitner@redhat.com>
Acked-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'tools/perf/scripts/python/net_dropmonitor.py')
0 files changed, 0 insertions, 0 deletions