rust/context: add AppLayerParserTriggerRawStreamReassembly

(cherry picked from commit c77c8e7005)
pull/5934/head
Shivani Bhardwaj 5 years ago committed by Victor Julien
parent a0fce7bb4e
commit 772b8f61e7

@ -77,6 +77,8 @@ pub type SCLogMessageFunc =
pub type DetectEngineStateFreeFunc =
extern "C" fn(state: *mut DetectEngineState);
pub type AppLayerParserTriggerRawStreamReassemblyFunc =
extern "C" fn (flow: *const Flow, direction: i32);
pub type AppLayerDecoderEventsSetEventRawFunc =
extern "C" fn (events: *mut *mut AppLayerDecoderEvents,
event: u8);
@ -129,6 +131,7 @@ pub struct SuricataContext {
DetectEngineStateFree: DetectEngineStateFreeFunc,
AppLayerDecoderEventsSetEventRaw: AppLayerDecoderEventsSetEventRawFunc,
AppLayerDecoderEventsFreeEvents: AppLayerDecoderEventsFreeEventsFunc,
pub AppLayerParserTriggerRawStreamReassembly: AppLayerParserTriggerRawStreamReassemblyFunc,
pub FileOpenFile: SCFileOpenFileWithId,
pub FileCloseFile: SCFileCloseFileById,
@ -176,6 +179,15 @@ pub fn sc_detect_engine_state_free(state: *mut DetectEngineState)
}
}
/// AppLayerParserTriggerRawStreamReassembly wrapper
pub fn sc_app_layer_parser_trigger_raw_stream_reassembly(flow: *const Flow, direction: i32) {
unsafe {
if let Some(c) = SC {
(c.AppLayerParserTriggerRawStreamReassembly)(flow, direction);
}
}
}
/// AppLayerDecoderEventsSetEventRaw wrapper.
pub fn sc_app_layer_decoder_events_set_event_raw(
events: *mut *mut AppLayerDecoderEvents, event: u8)

@ -32,6 +32,7 @@ typedef struct SuricataContext_ {
void (*AppLayerDecoderEventsSetEventRaw)(AppLayerDecoderEvents **,
uint8_t);
void (*AppLayerDecoderEventsFreeEvents)(AppLayerDecoderEvents **);
void (*AppLayerParserTriggerRawStreamReassembly)(Flow *, int direction);
int (*FileOpenFileWithId)(FileContainer *, const StreamingBufferConfig *,
uint32_t track_id, const uint8_t *name, uint16_t name_len,

@ -2678,6 +2678,8 @@ int InitGlobal(void) {
suricata_context.DetectEngineStateFree = DetectEngineStateFree;
suricata_context.AppLayerDecoderEventsSetEventRaw = AppLayerDecoderEventsSetEventRaw;
suricata_context.AppLayerDecoderEventsFreeEvents = AppLayerDecoderEventsFreeEvents;
suricata_context.AppLayerParserTriggerRawStreamReassembly =
AppLayerParserTriggerRawStreamReassembly;
suricata_context.FileOpenFileWithId = FileOpenFileWithId;
suricata_context.FileCloseFileById = FileCloseFileById;

Loading…
Cancel
Save