From: Victor Julien Date: Tue, 16 Oct 2012 13:53:48 +0000 (+0200) Subject: stream: detect retransmissions on timewait state X-Git-Tag: suricata-1.4beta3~79 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a25629b25083c04b67d78afc47909067fd5d8fc3;p=thirdparty%2Fsuricata.git stream: detect retransmissions on timewait state --- diff --git a/src/stream-tcp.c b/src/stream-tcp.c index fd504c18a6..c4d463ec2d 100644 --- a/src/stream-tcp.c +++ b/src/stream-tcp.c @@ -3576,6 +3576,9 @@ static int StreamTcpPacketStateTimeWait(ThreadVars *tv, Packet *p, if (p->payload_len > 0 && TCP_GET_SEQ(p) == ssn->server.last_ack) { SCLogDebug("ssn %p: -> retransmission", ssn); retransmission = 1; + } else if (p->payload_len > 0 && SEQ_LEQ((TCP_GET_SEQ(p) + p->payload_len), ssn->server.last_ack)) { + SCLogDebug("ssn %p: -> retransmission", ssn); + retransmission = 1; } else { SCLogDebug("ssn %p: -> SEQ mismatch, packet SEQ %" PRIu32 "" " != %" PRIu32 " from stream", ssn,