]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
unix-socket: don't print unix socket message twice
authorVictor Julien <vjulien@oisf.net>
Thu, 1 Dec 2022 11:45:50 +0000 (12:45 +0100)
committerVictor Julien <vjulien@oisf.net>
Tue, 20 Dec 2022 07:51:32 +0000 (08:51 +0100)
src/detect-engine.c
src/detect-engine.h
src/suricata.c
src/suricata.h
src/unix-manager.c
src/unix-manager.h

index 8b833d9bddca0bbf14077e2b7e38b4e15824f3f0..3df1d334f6bad7f547c3d0d38c1aa62a6c484b4f 100644 (file)
@@ -3979,13 +3979,10 @@ error:
  *  Tenants and mappings are optional, and can also dynamically be added
  *  and removed from the unix socket.
  */
-int DetectEngineMultiTenantSetup(void)
+int DetectEngineMultiTenantSetup(const bool unix_socket)
 {
     enum DetectEngineTenantSelectors tenant_selector = TENANT_SELECTOR_UNKNOWN;
     DetectEngineMasterCtx *master = &g_master_de_ctx;
-
-    int unix_socket = ConfUnixSocketIsEnable();
-
     int failure_fatal = 0;
     (void)ConfGetBool("engine.init-failure-fatal", &failure_fatal);
 
index 9de97726500fd7256b32e287dd953f6461f23628..1f93aabf1fafb9123f57fa20a916a2ca287ad785 100644 (file)
@@ -115,7 +115,7 @@ int DetectEngineReload(const SCInstance *suri);
 int DetectEngineEnabled(void);
 int DetectEngineMTApply(void);
 int DetectEngineMultiTenantEnabled(void);
-int DetectEngineMultiTenantSetup(void);
+int DetectEngineMultiTenantSetup(const bool unix_socket);
 
 int DetectEngineReloadStart(void);
 int DetectEngineReloadIsStart(void);
index 4c4539649a05a0b36a53c2512c8f44e831b82e64..f85402c37da46181ec318971202f015617ce4a96 100644 (file)
@@ -2504,7 +2504,7 @@ void PostConfLoadedDetectSetup(SCInstance *suri)
         int default_tenant = 0;
         if (mt_enabled)
             (void)ConfGetBool("multi-detect.default", &default_tenant);
-        if (DetectEngineMultiTenantSetup() == -1) {
+        if (DetectEngineMultiTenantSetup(suri->unix_socket_enabled) == -1) {
             FatalError(SC_ERR_FATAL, "initializing multi-detect "
                        "detection engine contexts failed.");
         }
@@ -2937,6 +2937,10 @@ int SuricataMain(int argc, char **argv)
     /* Re-enable coredumps after privileges are dropped. */
     CoredumpEnable();
 
+    if (suricata.run_mode != RUNMODE_UNIX_SOCKET && !suricata.disabled_detect) {
+        suricata.unix_socket_enabled = ConfUnixSocketIsEnable();
+    }
+
     PreRunPostPrivsDropInit(suricata.run_mode);
 
     LandlockSandboxing(&suricata);
@@ -2956,7 +2960,7 @@ int SuricataMain(int argc, char **argv)
     RunModeDispatch(suricata.run_mode, suricata.runmode_custom_mode,
             suricata.capture_plugin_name, suricata.capture_plugin_args);
     if (suricata.run_mode != RUNMODE_UNIX_SOCKET) {
-        UnixManagerThreadSpawnNonRunmode();
+        UnixManagerThreadSpawnNonRunmode(suricata.unix_socket_enabled);
     }
 
     /* Wait till all the threads have been initialized */
index d559cd854cd6e9ef2759f50e4ab7140d7280fb42..36e2e58670f8551e39cdd8152e1681ddfeb30896 100644 (file)
@@ -143,6 +143,7 @@ typedef struct SCInstance_ {
     bool system;
     bool set_logdir;
     bool set_datadir;
+    bool unix_socket_enabled;
 
     int delayed_detect;
     int disabled_detect;
index c10e77247312f7648ac77bf84a99a75b36215e46..a6fde27c96ff94b876487609092d5910da65fbb9 100644 (file)
@@ -132,7 +132,7 @@ static int UnixNew(UnixCommand * this)
         strlcpy(sockettarget, SOCKET_TARGET, sizeof(sockettarget));
         check_dir = 1;
     }
-    SCLogInfo("Using unix socket file '%s'", sockettarget);
+    SCLogInfo("unix socket '%s'", sockettarget);
 
     if (check_dir) {
         struct stat stat_buf;
@@ -1183,11 +1183,10 @@ void UnixManagerThreadSpawn(int mode)
 }
 
 // TODO can't think of a good name
-void UnixManagerThreadSpawnNonRunmode(void)
+void UnixManagerThreadSpawnNonRunmode(const bool unix_socket)
 {
     /* Spawn the unix socket manager thread */
-    int unix_socket = ConfUnixSocketIsEnable();
-    if (unix_socket == 1) {
+    if (unix_socket) {
         if (UnixManagerInit() == 0) {
             UnixManagerRegisterCommand("iface-stat", LiveDeviceIfaceStat, NULL,
                     UNIX_CMD_TAKE_ARGS);
@@ -1259,7 +1258,7 @@ void UnixSocketKillSocketThread(void)
     return;
 }
 
-void UnixManagerThreadSpawnNonRunmode(void)
+void UnixManagerThreadSpawnNonRunmode(const bool unix_socket_enabled)
 {
     return;
 }
index 65857a65fd15896df9652fa5966be6a397744f4b..960879b3cbbf6b41d0b72a7d5939b6c1e7fc6456 100644 (file)
@@ -45,6 +45,6 @@ TmEcode UnixManagerRegisterBackgroundTask(
 #endif
 
 void TmModuleUnixManagerRegister(void);
-void UnixManagerThreadSpawnNonRunmode(void);
+void UnixManagerThreadSpawnNonRunmode(const bool unix_socket_enabled);
 
 #endif /* UNIX_MANAGER_H */