//! RDP application layer
use crate::applayer::{self, *};
-use crate::core::{self, AppProto, DetectEngineState, Flow, ALPROTO_UNKNOWN, IPPROTO_TCP};
+use crate::core::{AppProto, Flow, ALPROTO_UNKNOWN, IPPROTO_TCP};
use crate::rdp::parser::*;
use nom;
use std;
pub id: u64,
pub item: RdpTransactionItem,
// managed by macros `export_tx_get_detect_state!` and `export_tx_set_detect_state!`
- de_state: Option<*mut DetectEngineState>,
tx_data: AppLayerTxData,
}
Self {
id,
item,
- de_state: None,
tx_data: AppLayerTxData::new(),
}
}
-
- fn free(&mut self) {
- if let Some(de_state) = self.de_state {
- core::sc_detect_engine_state_free(de_state);
- }
- }
-}
-
-impl Drop for RdpTransaction {
- fn drop(&mut self) {
- self.free();
- }
}
#[no_mangle]
state.free_tx(tx_id);
}
-//
-// detection state
-//
-
-export_tx_get_detect_state!(rs_rdp_tx_get_detect_state, RdpTransaction);
-export_tx_set_detect_state!(rs_rdp_tx_set_detect_state, RdpTransaction);
-
//
// probe
//
tx_comp_st_ts: 1,
tx_comp_st_tc: 1,
tx_get_progress: rs_rdp_tx_get_progress,
- get_de_state: rs_rdp_tx_get_detect_state,
- set_de_state: rs_rdp_tx_set_detect_state,
get_events: None,
get_eventinfo: None,
get_eventinfo_byid: None,