diff --git a/rust/src/dhcp/dhcp.rs b/rust/src/dhcp/dhcp.rs index 094565eebf..77c747f892 100644 --- a/rust/src/dhcp/dhcp.rs +++ b/rust/src/dhcp/dhcp.rs @@ -91,9 +91,9 @@ impl DHCPEvent { pub struct DHCPTransaction { tx_id: u64, pub message: DHCPMessage, - logged: applayer::LoggerFlags, de_state: Option<*mut core::DetectEngineState>, events: *mut core::AppLayerDecoderEvents, + tx_data: applayer::AppLayerTxData, } impl DHCPTransaction { @@ -101,9 +101,9 @@ impl DHCPTransaction { DHCPTransaction { tx_id: id, message: message, - logged: applayer::LoggerFlags::new(), de_state: None, events: std::ptr::null_mut(), + tx_data: applayer::AppLayerTxData::new(), } } @@ -321,20 +321,6 @@ pub extern "C" fn rs_dhcp_state_free(state: *mut std::os::raw::c_void) { let _drop: Box = unsafe { transmute(state) }; } -#[no_mangle] -pub extern "C" fn rs_dhcp_tx_get_logged(_state: *mut std::os::raw::c_void, tx: *mut std::os::raw::c_void) -> u32 { - let tx = cast_pointer!(tx, DHCPTransaction); - return tx.logged.get(); -} - -#[no_mangle] -pub extern "C" fn rs_dhcp_tx_set_logged(_state: *mut std::os::raw::c_void, - tx: *mut std::os::raw::c_void, - logged: u32) { - let tx = cast_pointer!(tx, DHCPTransaction); - tx.logged.set(logged); -} - #[no_mangle] pub extern "C" fn rs_dhcp_state_get_event_info_by_id(event_id: std::os::raw::c_int, event_name: *mut *const std::os::raw::c_char, @@ -415,6 +401,8 @@ pub extern "C" fn rs_dhcp_state_get_tx_iterator( } } +export_tx_data_get!(rs_dhcp_get_tx_data, DHCPTransaction); + const PARSER_NAME: &'static [u8] = b"dhcp\0"; #[no_mangle] @@ -438,8 +426,8 @@ pub unsafe extern "C" fn rs_dhcp_register_parser() { get_tx : rs_dhcp_state_get_tx, tx_get_comp_st : rs_dhcp_state_progress_completion_status, tx_get_progress : rs_dhcp_tx_get_alstate_progress, - get_tx_logged : Some(rs_dhcp_tx_get_logged), - set_tx_logged : Some(rs_dhcp_tx_set_logged), + get_tx_logged : None, + set_tx_logged : None, get_de_state : rs_dhcp_tx_get_detect_state, set_de_state : rs_dhcp_tx_set_detect_state, get_events : Some(rs_dhcp_state_get_events), @@ -451,7 +439,7 @@ pub unsafe extern "C" fn rs_dhcp_register_parser() { get_tx_iterator : Some(rs_dhcp_state_get_tx_iterator), set_tx_detect_flags: None, get_tx_detect_flags: None, - get_tx_data : None, + get_tx_data : Some(rs_dhcp_get_tx_data), apply_tx_config : None, };