]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
rfb: support AppLayerTxData
authorVictor Julien <victor@inliniac.net>
Sun, 7 Jun 2020 15:24:21 +0000 (17:24 +0200)
committerVictor Julien <victor@inliniac.net>
Sat, 11 Jul 2020 06:37:40 +0000 (08:37 +0200)
rust/src/rfb/rfb.rs

index 85cb1982fa92de4fc32d06328d8b831eb4347fca..7984b252e6eea81f00c046a1766492c69a37c38c 100644 (file)
@@ -46,10 +46,9 @@ pub struct RFBTransaction {
     pub tc_failure_reason: Option<parser::FailureReason>,
     pub tc_server_init: Option<parser::ServerInit>,
 
-    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,
     };