Ok(Some(event)) => event.as_i32(),
_ => -1,
};
- *event_type = core::APP_LAYER_EVENT_TYPE_TRANSACTION;
+ *event_type = core::AppLayerEventType::APP_LAYER_EVENT_TYPE_TRANSACTION;
*event_id = event as std::os::raw::c_int;
return 0;
}
) -> i8 {
if let Some(e) = T::from_id(event_id) {
*event_name = e.to_cstring().as_ptr() as *const std::os::raw::c_char;
- *event_type = core::APP_LAYER_EVENT_TYPE_TRANSACTION;
+ *event_type = core::AppLayerEventType::APP_LAYER_EVENT_TYPE_TRANSACTION;
return 0;
}
return -1;
pub enum DetectEngineState {}
pub enum AppLayerDecoderEvents {}
-// From app-layer-events.h
-pub type AppLayerEventType = std::os::raw::c_int;
-pub const APP_LAYER_EVENT_TYPE_TRANSACTION : i32 = 1;
-pub const APP_LAYER_EVENT_TYPE_PACKET : i32 = 2;
+#[repr(C)]
+#[derive(Debug, PartialEq, Eq, Clone, Copy)]
+#[allow(non_camel_case_types)]
+pub enum AppLayerEventType {
+ APP_LAYER_EVENT_TYPE_TRANSACTION = 1,
+ APP_LAYER_EVENT_TYPE_PACKET = 2,
+}
pub const STREAM_START: u8 = 0x01;
pub const STREAM_EOF: u8 = 0x02;
}
}
+SCEnumCharMap det_ctx_event_table[] = {
+ { "NO_MEMORY", FILE_DECODER_EVENT_NO_MEM },
+ { "INVALID_SWF_LENGTH", FILE_DECODER_EVENT_INVALID_SWF_LENGTH },
+ { "INVALID_SWF_VERSION", FILE_DECODER_EVENT_INVALID_SWF_VERSION },
+ { "Z_DATA_ERROR", FILE_DECODER_EVENT_Z_DATA_ERROR },
+ { "Z_STREAM_ERROR", FILE_DECODER_EVENT_Z_STREAM_ERROR },
+ { "Z_BUF_ERROR", FILE_DECODER_EVENT_Z_BUF_ERROR },
+ { "Z_UNKNOWN_ERROR", FILE_DECODER_EVENT_Z_UNKNOWN_ERROR },
+ { "LZMA_IO_ERROR", FILE_DECODER_EVENT_LZMA_IO_ERROR },
+ { "LZMA_HEADER_TOO_SHORT_ERROR", FILE_DECODER_EVENT_LZMA_HEADER_TOO_SHORT_ERROR },
+ { "LZMA_DECODER_ERROR", FILE_DECODER_EVENT_LZMA_DECODER_ERROR },
+ { "LZMA_MEMLIMIT_ERROR", FILE_DECODER_EVENT_LZMA_MEMLIMIT_ERROR },
+ { "LZMA_XZ_ERROR", FILE_DECODER_EVENT_LZMA_XZ_ERROR },
+ { "LZMA_UNKNOWN_ERROR", FILE_DECODER_EVENT_LZMA_UNKNOWN_ERROR },
+ {
+ "TOO_MANY_BUFFERS",
+ DETECT_EVENT_TOO_MANY_BUFFERS,
+ },
+ { NULL, -1 },
+};
+
+int DetectEngineGetEventInfo(const char *event_name, int *event_id, AppLayerEventType *event_type)
+{
+ *event_id = SCMapEnumNameToValue(event_name, det_ctx_event_table);
+ if (*event_id == -1) {
+ SCLogError("event \"%s\" not present in "
+ "det_ctx's enum map table.",
+ event_name);
+ /* this should be treated as fatal */
+ return -1;
+ }
+ *event_type = APP_LAYER_EVENT_TYPE_TRANSACTION;
+
+ return 0;
+}
/* contains fwd declaration of AppLayerDecoderEvents_ */
#include "decode.h"
+#include "rust.h"
/**
* \brief Data structure to store app layer decoder events.
APPLAYER_UNEXPECTED_PROTOCOL,
};
-/* the event types for app events */
-typedef enum AppLayerEventType_ {
- APP_LAYER_EVENT_TYPE_TRANSACTION = 1,
- APP_LAYER_EVENT_TYPE_PACKET,
-} AppLayerEventType;
-
int AppLayerGetPktEventInfo(const char *event_name, int *event_id);
int AppLayerGetEventInfoById(int event_id, const char **event_name,
void AppLayerDecoderEventsResetEvents(AppLayerDecoderEvents *events);
void AppLayerDecoderEventsFreeEvents(AppLayerDecoderEvents **events);
+int DetectEngineGetEventInfo(const char *event_name, int *event_id, AppLayerEventType *event_type);
#endif /* __APP_LAYER_EVENTS_H__ */
#include "suricata-common.h"
#include "app-layer-htp-file.h"
#include "app-layer-htp-range.h"
+#include "app-layer-events.h"
#include "util-validate.h"
extern StreamingBufferConfig htp_sbcfg;
};
// clang-format on
-SCEnumCharMap det_ctx_event_table[] = {
-#ifdef UNITTESTS
- { "TEST", DET_CTX_EVENT_TEST },
-#endif
- { "NO_MEMORY", FILE_DECODER_EVENT_NO_MEM },
- { "INVALID_SWF_LENGTH", FILE_DECODER_EVENT_INVALID_SWF_LENGTH },
- { "INVALID_SWF_VERSION", FILE_DECODER_EVENT_INVALID_SWF_VERSION },
- { "Z_DATA_ERROR", FILE_DECODER_EVENT_Z_DATA_ERROR },
- { "Z_STREAM_ERROR", FILE_DECODER_EVENT_Z_STREAM_ERROR },
- { "Z_BUF_ERROR", FILE_DECODER_EVENT_Z_BUF_ERROR },
- { "Z_UNKNOWN_ERROR", FILE_DECODER_EVENT_Z_UNKNOWN_ERROR },
- { "LZMA_IO_ERROR", FILE_DECODER_EVENT_LZMA_IO_ERROR },
- { "LZMA_HEADER_TOO_SHORT_ERROR", FILE_DECODER_EVENT_LZMA_HEADER_TOO_SHORT_ERROR },
- { "LZMA_DECODER_ERROR", FILE_DECODER_EVENT_LZMA_DECODER_ERROR },
- { "LZMA_MEMLIMIT_ERROR", FILE_DECODER_EVENT_LZMA_MEMLIMIT_ERROR },
- { "LZMA_XZ_ERROR", FILE_DECODER_EVENT_LZMA_XZ_ERROR },
- { "LZMA_UNKNOWN_ERROR", FILE_DECODER_EVENT_LZMA_UNKNOWN_ERROR },
- {
- "TOO_MANY_BUFFERS",
- DETECT_EVENT_TOO_MANY_BUFFERS,
- },
- { NULL, -1 },
-};
-
/** \brief register inspect engine at start up time
*
* \note errors are fatal */
return det_ctx->decoder_events;
}
-int DetectEngineGetEventInfo(const char *event_name, int *event_id,
- AppLayerEventType *event_type)
-{
- *event_id = SCMapEnumNameToValue(event_name, det_ctx_event_table);
- if (*event_id == -1) {
- SCLogError("event \"%s\" not present in "
- "det_ctx's enum map table.",
- event_name);
- /* this should be treated as fatal */
- return -1;
- }
- *event_type = APP_LAYER_EVENT_TYPE_TRANSACTION;
-
- return 0;
-}
-
/*************************************Unittest*********************************/
#ifdef UNITTESTS
#include "suricata-common.h"
#include "flow.h"
-#include "app-layer-events.h"
#include "detect-engine-proto.h"
#include "detect-reference.h"
/* event code */
enum {
-#ifdef UNITTESTS
- DET_CTX_EVENT_TEST,
-#endif
FILE_DECODER_EVENT_NO_MEM,
FILE_DECODER_EVENT_INVALID_SWF_LENGTH,
FILE_DECODER_EVENT_INVALID_SWF_VERSION,
/* events */
void DetectEngineSetEvent(DetectEngineThreadCtx *det_ctx, uint8_t e);
AppLayerDecoderEvents *DetectEngineGetEvents(DetectEngineThreadCtx *det_ctx);
-int DetectEngineGetEventInfo(const char *event_name, int *event_id,
- AppLayerEventType *event_type);
void DumpPatterns(DetectEngineCtx *de_ctx);
#ifndef __RUST_H__
#define __RUST_H__
-#include "app-layer-events.h"
#include "util-file.h"
// hack for include orders cf SCSha256