stream: add seq min and max; use in segment compare

pull/8563/head
Victor Julien 3 years ago
parent cbcd70537a
commit 8746fbe07e

@ -85,10 +85,10 @@ int StreamTcpInlineSegmentCompare(const TcpStream *stream,
SCLogDebug("pkt_end %u, seg_end %u", pkt_end, seg_end);
/* get the minimal seg*_end */
uint32_t end = (SEQ_GT(pkt_end, seg_end)) ? seg_end : pkt_end;
uint32_t end = SEQ_MIN(seg_end, pkt_end);
/* and the max seq */
uint32_t seq = (SEQ_LT(pkt_seq, seg_seq)) ? seg->seq : pkt_seq;
seq = (SEQ_GT(seq, stream->base_seq)) ? seq : stream->base_seq;
uint32_t seq = SEQ_MAX(pkt_seq, seg_seq);
seq = SEQ_MAX(seq, stream->base_seq);
SCLogDebug("seq %u, end %u", seq, end);
uint32_t pkt_off = seq - pkt_seq;

@ -254,6 +254,8 @@ enum TcpState {
#define SEQ_LEQ(a,b) ((int32_t)((a) - (b)) <= 0)
#define SEQ_GT(a,b) ((int32_t)((a) - (b)) > 0)
#define SEQ_GEQ(a,b) ((int32_t)((a) - (b)) >= 0)
#define SEQ_MIN(a, b) (SEQ_LT((a), (b)) ? (a) : (b))
#define SEQ_MAX(a, b) (SEQ_GT((a), (b)) ? (a) : (b))
#define STREAMTCP_SET_RA_BASE_SEQ(stream, seq) { \
do { \

Loading…
Cancel
Save