From: Philippe Antoine Date: Tue, 15 Apr 2025 12:28:51 +0000 (+0200) Subject: ssh: make hooks available X-Git-Tag: suricata-8.0.0-rc1~415 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fcac063cfe29cd0e85d32497c37ef9bc191298cc;p=thirdparty%2Fsuricata.git ssh: make hooks available Allows signature like `alert ssh:request_banner_done` --- diff --git a/rust/src/ssh/ssh.rs b/rust/src/ssh/ssh.rs index a4b7b22463..7c25dd2b69 100644 --- a/rust/src/ssh/ssh.rs +++ b/rust/src/ssh/ssh.rs @@ -64,7 +64,8 @@ pub enum SSHEvent { } #[repr(u8)] -#[derive(Copy, Clone, PartialOrd, PartialEq, Eq)] +#[derive(AppLayerState, Copy, Clone, PartialOrd, PartialEq, Eq)] +#[suricata(alstate_strip_prefix = "SshState")] pub enum SSHConnectionState { SshStateInProgress = 0, SshStateBannerWaitEol = 1, @@ -552,8 +553,8 @@ pub unsafe extern "C" fn SCRegisterSshParser() { flags: 0, get_frame_id_by_name: Some(SshFrameType::ffi_id_from_name), get_frame_name_by_id: Some(SshFrameType::ffi_name_from_id), - get_state_id_by_name: None, - get_state_name_by_id: None, + get_state_id_by_name: Some(SSHConnectionState::ffi_id_from_name), + get_state_name_by_id: Some(SSHConnectionState::ffi_name_from_id), }; let ip_proto_str = CString::new("tcp").unwrap();