#ifdef UNITTESTS
/* Initializations for global vars, queues, etc (memsets, mutex init..) */
GlobalsInitPreConfig();
+ EngineModeSetIDS();
#ifdef HAVE_LUAJIT
if (LuajitSetupStatesPool() != 0) {
/** Engine mode: inline (ENGINE_MODE_IPS) or just
* detection mode (ENGINE_MODE_IDS by default) */
-static enum EngineMode g_engine_mode = ENGINE_MODE_IDS;
+static enum EngineMode g_engine_mode = ENGINE_MODE_UNKNOWN;
/** Host mode: set if box is sniffing only
* or is a router */
return (suricata.sig_file != NULL);
}
+int EngineModeIsUnknown(void)
+{
+ return (g_engine_mode == ENGINE_MODE_UNKNOWN);
+}
+
int EngineModeIsIPS(void)
{
+ DEBUG_VALIDATE_BUG_ON(g_engine_mode == ENGINE_MODE_UNKNOWN);
return (g_engine_mode == ENGINE_MODE_IPS);
}
int EngineModeIsIDS(void)
{
+ DEBUG_VALIDATE_BUG_ON(g_engine_mode == ENGINE_MODE_UNKNOWN);
return (g_engine_mode == ENGINE_MODE_IDS);
}
RunModeEngineIsIPS(
suricata.run_mode, suricata.runmode_custom_mode, suricata.capture_plugin_name);
+ if (EngineModeIsUnknown()) { // if still uninitialized, set the default
+ SCLogInfo("Setting engine mode to IDS mode by default");
+ EngineModeSetIDS();
+ }
+
SetMasterExceptionPolicy();
AppLayerSetup();
/* Engine is acting as */
enum EngineMode {
+ ENGINE_MODE_UNKNOWN,
ENGINE_MODE_IDS,
ENGINE_MODE_IPS,
};
void EngineModeSetIPS(void);
void EngineModeSetIDS(void);
+int EngineModeIsUnknown(void);
int EngineModeIsIPS(void);
int EngineModeIsIDS(void);