]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
multi-detect: error on start if no selector registered
authorVictor Julien <victor@inliniac.net>
Thu, 12 Feb 2015 11:08:33 +0000 (12:08 +0100)
committerVictor Julien <victor@inliniac.net>
Thu, 23 Jul 2015 17:36:15 +0000 (19:36 +0200)
Force user to select the method at startup.

src/detect-engine.c
src/util-error.c
src/util-error.h

index 3c6256de0a1bd50ed3dea7b7db4d70bb1cc02d8d..5e0ce3f78c5894d126abb9e06addd1e14c9d569e 100644 (file)
@@ -1998,6 +1998,12 @@ static DetectEngineThreadCtx *DetectEngineThreadCtxInitForMT(ThreadVars *tv)
     DetectEngineCtx *list = master->list;
     DetectEngineThreadCtx **tenant_det_ctxs = NULL;
 
+    if (master->tenant_selector == TENANT_SELECTOR_UNKNOWN) {
+        SCLogError(SC_ERR_MT_NO_SELECTOR, "no tenant selector set: "
+                                          "set using multi-detect.selector");
+        return NULL;
+    }
+
     while (list) {
         if (list->tenant_id > max_tenant_id)
             max_tenant_id = list->tenant_id;
index fd52a4d264f0de006c7234f65b60de0045a9bc69..cb59c0f5640428d9b987aee16a1d152ad12507ae 100644 (file)
@@ -307,6 +307,7 @@ const char * SCErrorToString(SCError err)
         CASE_CODE (SC_ERR_NETMAP_CREATE);
         CASE_CODE (SC_ERR_NETMAP_READ);
         CASE_CODE (SC_ERR_IPPAIR_INIT);
+        CASE_CODE (SC_ERR_MT_NO_SELECTOR);
     }
 
     return "UNKNOWN_ERROR";
index 83529d0cdf10c4768a73c309158a0f81fb03bb87..97c1cd23d2a50b56e3ed0f28edd7232870fcc68d 100644 (file)
@@ -296,6 +296,7 @@ typedef enum {
     SC_ERR_NETMAP_READ,
     SC_ERR_THREAD_DEINIT, /**< thread's deinit function failed */
     SC_ERR_IPPAIR_INIT,
+    SC_ERR_MT_NO_SELECTOR,
 } SCError;
 
 const char *SCErrorToString(SCError);