diff --git a/CHANGES b/CHANGES index 2ee7a6870d..952e607290 100644 --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,9 @@ +2.3-180 | 2014-09-22 12:52:41 -0500 + + * BIT-1259: Fix issue w/ duplicate TCP reassembly deliveries. + (Jon Siwek) + 2.3-178 | 2014-09-18 14:29:46 -0500 * BIT-1256: Fix file analysis events from coming after bro_done(). diff --git a/VERSION b/VERSION index b0b576f1ff..1c40e62ee4 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.3-178 +2.3-180 diff --git a/src/analyzer/protocol/tcp/TCP_Reassembler.cc b/src/analyzer/protocol/tcp/TCP_Reassembler.cc index 0ac9078732..921f3a3204 100644 --- a/src/analyzer/protocol/tcp/TCP_Reassembler.cc +++ b/src/analyzer/protocol/tcp/TCP_Reassembler.cc @@ -267,7 +267,8 @@ void TCP_Reassembler::Undelivered(uint64 up_to_seq) MatchUndelivered(up_to_seq, false); // But we need to re-adjust last_reassem_seq in either case. - last_reassem_seq = up_to_seq; // we've done our best ... + if ( up_to_seq > last_reassem_seq ) + last_reassem_seq = up_to_seq; // we've done our best ... } void TCP_Reassembler::MatchUndelivered(uint64 up_to_seq, bool use_last_upper)