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,