From: Jeff Lucovsky Date: Wed, 3 Jan 2024 14:28:41 +0000 (-0500) Subject: mqtt: Improve frame parsing w/mult. PDUs X-Git-Tag: suricata-7.0.4~32 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e5b006beb961ceb0d749ecb1f0ce0890efa99b38;p=thirdparty%2Fsuricata.git mqtt: Improve frame parsing w/mult. PDUs This commit improves the mqtt parsing of frames to handle multiple PDUs. Issue: 6592 (cherry picked from commit f9a20dafc6abe2c03dea98286c86430b447d8196) --- diff --git a/rust/src/mqtt/mqtt.rs b/rust/src/mqtt/mqtt.rs index 3f110dfc03..8260251218 100644 --- a/rust/src/mqtt/mqtt.rs +++ b/rust/src/mqtt/mqtt.rs @@ -433,8 +433,8 @@ impl MQTTState { let _pdu = Frame::new( flow, &stream_slice, - input, - current.len() as i64, + current, + (current.len() - rem.len()) as i64, MQTTFrameType::Pdu as u8, ); SCLogDebug!("request msg {:?}", msg); @@ -518,8 +518,8 @@ impl MQTTState { let _pdu = Frame::new( flow, &stream_slice, - input, - input.len() as i64, + current, + (current.len() - rem.len()) as i64, MQTTFrameType::Pdu as u8, );