lib/debug: set the correct default backend loglevel to MAX_DEBUG_LEVEL
authorRalph Boehme <slow@samba.org>
Tue, 30 Jun 2020 15:03:05 +0000 (17:03 +0200)
committerKarolin Seeger <kseeger@samba.org>
Thu, 9 Jul 2020 11:40:24 +0000 (11:40 +0000)
This fixed a regression introduced by commit
c83ce5f4f99aef94530411ec82cc03e9935b352d for bug #14345.

The backend loglevel globally restricts logging of a particular backend. If this
value is smaller then any explicitly configured logging class, logging for this
class is skipped.

Eg, given the following logging config in smb.conf:

  log level = 1 auth_json_audit:3@/var/log/samba/samba_auth_audit.log

the default class loglevel of 1 (dbgc_config[DBGC_ALL].loglevel) will be
assigned to the backend loglevel.

So even though the logging class auth_json_audit is configured at level 3, this
doesn't become effective as the file backend drops all log messages with a level
below 1.

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Thu Jul  2 13:25:29 UTC 2020 on sn-devel-184

(cherry picked from commit 71488b812fe737df2d3439a6ff3f95bb69b4a5bd)

lib/util/debug.c

index 864adbeeec453c6c39c26bc15dd8cb409fda0520..1650551a76631c66a432222c7d5cc64793db69bf 100644 (file)
@@ -1146,7 +1146,7 @@ bool reopen_logs_internal(void)
                b = debug_find_backend("file");
                assert(b != NULL);
 
-               b->log_level = dbgc_config[DBGC_ALL].loglevel;
+               b->log_level = MAX_DEBUG_LEVEL;
                break;
        }