From: Victor Julien Date: Sun, 7 Jun 2020 15:24:21 +0000 (+0200) Subject: rfb: support AppLayerTxData X-Git-Tag: suricata-6.0.0-beta1~175 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5afe4835adf5cabebf2fa56fcb29a83a5ccf303b;p=thirdparty%2Fsuricata.git rfb: support AppLayerTxData --- diff --git a/rust/src/rfb/rfb.rs b/rust/src/rfb/rfb.rs index 85cb1982fa..7984b252e6 100644 --- a/rust/src/rfb/rfb.rs +++ b/rust/src/rfb/rfb.rs @@ -46,10 +46,9 @@ pub struct RFBTransaction { pub tc_failure_reason: Option, pub tc_server_init: Option, - logged: LoggerFlags, de_state: Option<*mut core::DetectEngineState>, events: *mut core::AppLayerDecoderEvents, - detect_flags: applayer::TxDetectFlags, + tx_data: applayer::AppLayerTxData, } impl RFBTransaction { @@ -71,10 +70,9 @@ impl RFBTransaction { tc_failure_reason: None, tc_server_init: None, - logged: LoggerFlags::new(), de_state: None, events: std::ptr::null_mut(), - detect_flags: applayer::TxDetectFlags::default(), + tx_data: applayer::AppLayerTxData::new(), } } @@ -616,25 +614,6 @@ pub extern "C" fn rs_rfb_tx_get_alstate_progress( return 0; } -#[no_mangle] -pub extern "C" fn rs_rfb_tx_get_logged( - _state: *mut std::os::raw::c_void, - tx: *mut std::os::raw::c_void, -) -> u32 { - let tx = cast_pointer!(tx, RFBTransaction); - return tx.logged.get(); -} - -#[no_mangle] -pub extern "C" fn rs_rfb_tx_set_logged( - _state: *mut std::os::raw::c_void, - tx: *mut std::os::raw::c_void, - logged: u32, -) { - let tx = cast_pointer!(tx, RFBTransaction); - tx.logged.set(logged); -} - #[no_mangle] pub extern "C" fn rs_rfb_state_get_events( tx: *mut std::os::raw::c_void @@ -688,8 +667,7 @@ pub extern "C" fn rs_rfb_state_get_tx_iterator( // Parser name as a C style string. const PARSER_NAME: &'static [u8] = b"rfb\0"; -export_tx_detect_flags_set!(rs_rfb_set_tx_detect_flags, RFBTransaction); -export_tx_detect_flags_get!(rs_rfb_get_tx_detect_flags, RFBTransaction); +export_tx_data_get!(rs_rfb_get_tx_data, RFBTransaction); #[no_mangle] pub unsafe extern "C" fn rs_rfb_register_parser() { @@ -711,8 +689,8 @@ pub unsafe extern "C" fn rs_rfb_register_parser() { get_tx: rs_rfb_state_get_tx, tx_get_comp_st: rs_rfb_state_progress_completion_status, tx_get_progress: rs_rfb_tx_get_alstate_progress, - get_tx_logged: Some(rs_rfb_tx_get_logged), - set_tx_logged: Some(rs_rfb_tx_set_logged), + get_tx_logged: None, + set_tx_logged: None, get_de_state: rs_rfb_tx_get_detect_state, set_de_state: rs_rfb_tx_set_detect_state, get_events: Some(rs_rfb_state_get_events), @@ -722,9 +700,9 @@ pub unsafe extern "C" fn rs_rfb_register_parser() { localstorage_free: None, get_files: None, get_tx_iterator: Some(rs_rfb_state_get_tx_iterator), - get_tx_detect_flags: Some(rs_rfb_get_tx_detect_flags), - set_tx_detect_flags: Some(rs_rfb_set_tx_detect_flags), - get_tx_data: None, + get_tx_detect_flags: None, + set_tx_detect_flags: None, + get_tx_data: Some(rs_rfb_get_tx_data), apply_tx_config: None, };