From bcf0167a9c902b097cfc3de0fbcf981bfec01fd1 Mon Sep 17 00:00:00 2001 From: Sascha Steinbiss Date: Fri, 30 Jun 2023 10:16:45 +0200 Subject: [PATCH] rfb: also set unimplemented auth types (cherry picked from commit 87227accca87fd5459c6e1bcb8e16bf3ceae8d46) --- rust/src/rfb/rfb.rs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/rust/src/rfb/rfb.rs b/rust/src/rfb/rfb.rs index 926ea1361447..14219b04b34b 100644 --- a/rust/src/rfb/rfb.rs +++ b/rust/src/rfb/rfb.rs @@ -228,6 +228,15 @@ impl RFBState { current = rem; let chosen_security_type = request.security_type; + + if let Some(current_transaction) = self.get_current_tx() { + current_transaction.ts_security_type_selection = Some(request); + current_transaction.chosen_security_type = + Some(chosen_security_type as u32); + } else { + debug_validate_fail!("no transaction set at security type stage"); + } + match chosen_security_type { 2 => self.state = parser::RFBGlobalState::TCVncChallenge, 1 => self.state = parser::RFBGlobalState::TSClientInit, @@ -244,13 +253,6 @@ impl RFBState { return AppLayerResult::ok(); } } - - if let Some(current_transaction) = self.get_current_tx() { - current_transaction.ts_security_type_selection = Some(request); - current_transaction.chosen_security_type = Some(chosen_security_type as u32); - } else { - debug_validate_fail!("no transaction set at security type stage"); - } } Err(nom::Err::Incomplete(_)) => { return AppLayerResult::incomplete(