]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
lib/util: convert DBG_STARTUP_NOTICE() to use debug_set_forced_log_priority(DBGLVL_NO...
authorStefan Metzmacher <metze@samba.org>
Wed, 22 Nov 2023 16:18:29 +0000 (17:18 +0100)
committerStefan Metzmacher <metze@samba.org>
Fri, 24 Nov 2023 09:30:38 +0000 (09:30 +0000)
Using -1 as log level is not compatible without our infrastructure.

As all backends are initialized with .log_level = -1, which means
they don't log the message, but now they all try to handle the
startup message even if they are not configured.

E.g. is means that systemd's journalctl get the message twice
now, first via the syslog and also the systemd backend.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15377

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Björn Jacke <bjacke@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
lib/util/debug.h

index 90adc122a1a25fd7564d5034087dd57d318b9479..4687ac074b1f4aba23037dfae4af053d4f430639 100644 (file)
@@ -269,14 +269,18 @@ void debuglevel_set_class(size_t idx, int level);
 /*
  * Debug levels matching RFC 3164
  */
-#define DBGLVL_STARTUP_NOTICE   -1     /* startup notice */
 #define DBGLVL_ERR      0      /* error conditions */
 #define DBGLVL_WARNING  1      /* warning conditions */
 #define DBGLVL_NOTICE   3      /* normal, but significant, condition */
 #define DBGLVL_INFO     5      /* informational message */
 #define DBGLVL_DEBUG   10      /* debug-level message */
 
-#define DBG_STARTUP_NOTICE(...)        DBG_PREFIX(DBGLVL_STARTUP_NOTICE,       (__VA_ARGS__))
+#define DBG_STARTUP_NOTICE(...) do { \
+       debug_set_forced_log_priority(DBGLVL_NOTICE); \
+       D_ERR(__VA_ARGS__); \
+       debug_set_forced_log_priority(-1); \
+} while(0)
+
 #define DBG_ERR(...)           DBG_PREFIX(DBGLVL_ERR,          (__VA_ARGS__))
 #define DBG_WARNING(...)       DBG_PREFIX(DBGLVL_WARNING,      (__VA_ARGS__))
 #define DBG_NOTICE(...)                DBG_PREFIX(DBGLVL_NOTICE,       (__VA_ARGS__))