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

index fae04be1d5bbcf41e71837a74fb5535120a50244..a5a323cc1872320bd094bf773192ae2a8709acad 100644 (file)
@@ -115,7 +115,7 @@ pub struct IKEV2Transaction {
     /// The events associated with this transaction
     events: *mut core::AppLayerDecoderEvents,
 
-    logged: applayer::LoggerFlags,
+    tx_data: applayer::AppLayerTxData,
 }
 
 
@@ -425,7 +425,7 @@ impl IKEV2Transaction {
             id: id,
             de_state: None,
             events: std::ptr::null_mut(),
-            logged: applayer::LoggerFlags::new(),
+            tx_data: applayer::AppLayerTxData::new(),
         }
     }
 
@@ -546,29 +546,6 @@ pub extern "C" fn rs_ikev2_tx_get_alstate_progress(_tx: *mut std::os::raw::c_voi
     1
 }
 
-
-
-
-
-#[no_mangle]
-pub extern "C" fn rs_ikev2_tx_set_logged(_state: *mut std::os::raw::c_void,
-                                       tx: *mut std::os::raw::c_void,
-                                       logged: u32)
-{
-    let tx = cast_pointer!(tx,IKEV2Transaction);
-    tx.logged.set(logged);
-}
-
-#[no_mangle]
-pub extern "C" fn rs_ikev2_tx_get_logged(_state: *mut std::os::raw::c_void,
-                                       tx: *mut std::os::raw::c_void)
-                                       -> u32
-{
-    let tx = cast_pointer!(tx,IKEV2Transaction);
-    return tx.logged.get();
-}
-
-
 #[no_mangle]
 pub extern "C" fn rs_ikev2_state_set_tx_detect_state(
     tx: *mut std::os::raw::c_void,
@@ -700,6 +677,8 @@ pub extern "C" fn rs_ikev2_probing_parser(_flow: *const Flow,
     }
 }
 
+export_tx_data_get!(rs_ikev2_get_tx_data, IKEV2Transaction);
+
 const PARSER_NAME : &'static [u8] = b"ikev2\0";
 
 #[no_mangle]
@@ -722,8 +701,8 @@ pub unsafe extern "C" fn rs_register_ikev2_parser() {
         get_tx             : rs_ikev2_state_get_tx,
         tx_get_comp_st     : rs_ikev2_state_progress_completion_status,
         tx_get_progress    : rs_ikev2_tx_get_alstate_progress,
-        get_tx_logged      : Some(rs_ikev2_tx_get_logged),
-        set_tx_logged      : Some(rs_ikev2_tx_set_logged),
+        get_tx_logged      : None,
+        set_tx_logged      : None,
         get_de_state       : rs_ikev2_state_get_tx_detect_state,
         set_de_state       : rs_ikev2_state_set_tx_detect_state,
         get_events         : Some(rs_ikev2_state_get_events),
@@ -735,7 +714,7 @@ pub unsafe extern "C" fn rs_register_ikev2_parser() {
         get_tx_iterator    : None,
         get_tx_detect_flags: None,
         set_tx_detect_flags: None,
-        get_tx_data        : None,
+        get_tx_data        : Some(rs_ikev2_get_tx_data),
         apply_tx_config    : None,
     };