stream: improve overlap detection

Improve detection of overlapping different data. Keep some data around
even if it was already ACK'd to check if packets have overlap.
pull/3201/head
Victor Julien 8 years ago
parent e64941144e
commit c0d26de665

@ -687,6 +687,18 @@ static inline uint64_t GetLeftEdge(TcpSession *ssn, TcpStream *stream)
last_ack_abs += delta;
}
left_edge = MIN(left_edge, last_ack_abs);
/* if we're told to look for overlaps with different data we should
* consider data that is ack'd as well. Injected packets may have
* been ack'd or injected packet may be too late. */
} else if (check_overlap_different_data) {
uint32_t window = stream->window ? stream->window : 4096;
if (window < left_edge)
left_edge -= window;
else
left_edge = 0;
SCLogDebug("stream:%p left_edge %"PRIu64, stream, left_edge);
}
if (left_edge > 0) {

Loading…
Cancel
Save