]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Bug 4171: checking for log_file_daemon despite disabling logging (#181) M-staged-PR181
authorAmos Jeffries <yadij@users.noreply.github.com>
Tue, 1 May 2018 01:21:15 +0000 (01:21 +0000)
committerSquid Anubis <squid-anubis@squid-cache.org>
Tue, 1 May 2018 01:21:19 +0000 (01:21 +0000)
src/cache_cf.cc
src/log/CustomLog.cc
src/log/CustomLog.h
src/tests/stub_liblog.cc

index eab6c63f7cbbb3d90bfa1224add3efcb8195d97e..1bd43590bfc18d70c51c33ba0d728c3dbef674d3 100644 (file)
@@ -736,7 +736,16 @@ configDoConfigure(void)
 
     requirePathnameExists("unlinkd_program", Config.Program.unlinkd);
 #endif
-    requirePathnameExists("logfile_daemon", Log::TheConfig.logfile_daemon);
+    bool logDaemonUsed = false;
+    for (const auto *log = Config.Log.accesslogs; !logDaemonUsed && log; log = log->next)
+        logDaemonUsed = log->usesDaemon();
+#if ICAP_CLIENT
+    for (const auto *log = Config.Log.icaplogs; !logDaemonUsed && log; log = log->next)
+        logDaemonUsed = log->usesDaemon();
+#endif
+    if (logDaemonUsed)
+        requirePathnameExists("logfile_daemon", Log::TheConfig.logfile_daemon);
+
     if (Config.Program.redirect)
         requirePathnameExists("redirect_program", Config.Program.redirect->key);
 
index 91543d20544e8a4462943e0cd77379e7cf31df8c..eca043aaeee24c1044619cedcf8ab1c1337e809b 100644 (file)
@@ -7,5 +7,12 @@
  */
 
 #include "squid.h"
-#include "CustomLog.h"
+#include "log/CustomLog.h"
+#include "log/File.h"
+
+bool
+CustomLog::usesDaemon() const
+{
+    return (filename && strncmp(filename, "daemon:", 7) == 0);
+}
 
index 2ac41a11fdcd928206d6e2eec3748727f0c20552..9568d2e0b91bbced1ab25a75e47cd66c5d206dbd 100644 (file)
@@ -22,6 +22,9 @@ class Format;
 class CustomLog
 {
 public:
+    /// \returns whether the daemon module is used for this log
+    bool usesDaemon() const;
+
     char *filename;
     ACLList *aclList;
     Format::Format *logFormat;
index 4b2c78f5b86b4cc666fcabb3b9ea1fbb2ee94162..8993437268be21edf38c1c9ce5583b0c04898c60 100644 (file)
@@ -43,7 +43,9 @@ void LogConfig::parseFormats() STUB
 LogConfig TheConfig;
 }
 
-//#include "log/CustomLog.h"
+#include "log/CustomLog.h"
+bool CustomLog::usesDaemon() const STUB_RETVAL(false)
+
 #include "log/File.h"
 CBDATA_CLASS_INIT(Logfile);
 Logfile::Logfile(const char *) {STUB}