From 03dac6d7fb55bcc173b9a4ebdd13ef8164b73a13 Mon Sep 17 00:00:00 2001 From: Jason Ish Date: Mon, 31 Aug 2026 10:05:11 -0600 Subject: [PATCH] ldap: recover parsing after a gap While in gap state, if a parse attempt failed, the protocol return error preventing future retries to get out of gap state. Ticket: 8949 --- rust/src/ldap/ldap.rs | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/rust/src/ldap/ldap.rs b/rust/src/ldap/ldap.rs index 48b57c221f..161eb4b03b 100644 --- a/rust/src/ldap/ldap.rs +++ b/rust/src/ldap/ldap.rs @@ -207,13 +207,8 @@ impl LdapState { } if self.request_gap { - match ldap_parse_msg(input) { - Ok((_, _msg)) => { - AppLayerResult::ok(); - } - Err(_e) => { - return AppLayerResult::err(); - } + if ldap_parse_msg(input).is_err() { + return AppLayerResult::ok(); } self.request_gap = false; } @@ -278,13 +273,8 @@ impl LdapState { } if self.response_gap { - match ldap_parse_msg(input) { - Ok((_, _msg)) => { - AppLayerResult::ok(); - } - Err(_e) => { - return AppLayerResult::err(); - } + if ldap_parse_msg(input).is_err() { + return AppLayerResult::ok(); } self.response_gap = false; }