[SCM] Samba Shared Repository - branch master updated

Martin Schwenke martins at samba.org
Mon Aug 28 01:22:01 UTC 2023


The branch, master has been updated
       via  c7672779128 util: Avoid logging to multiple backends for stdout/stderr
      from  18f44f3ba46 selftest:ndrdump: adjust xattr_NTACL test for ACE coda

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit c7672779128ff12eb7a5cb34052559e62adbd5cb
Author: Martin Schwenke <mschwenke at ddn.com>
Date:   Wed Jul 26 20:43:37 2023 +1000

    util: Avoid logging to multiple backends for stdout/stderr
    
    Commit 83fe7a0316d3e5867a56cfdc51ec17f36ea03889 converted the
    stdout/stderr logging  types to DEBUG_FILE to get a header when using
    DEBUG_SYSLOG_FORMAT_ALWAYS.  However, this causes all configured
    backends to be invoked.  When syslog is one of those backends then
    this is almost certainly not what is intended.
    
    Instead, call debug_file_log() directly in that special case and
    revert the parts of the above commit that convert to file logging.
    
    Most of the changes to debughdrclass() still seem necessary, since
    they handle the change of debug_syslog_format from a bool to an enum.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=15460
    
    Signed-off-by: Martin Schwenke <mschwenke at ddn.com>
    Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
    
    Autobuild-User(master): Martin Schwenke <martins at samba.org>
    Autobuild-Date(master): Mon Aug 28 01:21:07 UTC 2023 on atb-devel-224

-----------------------------------------------------------------------

Summary of changes:
 lib/util/debug.c | 36 +++++++++++++-----------------------
 1 file changed, 13 insertions(+), 23 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/util/debug.c b/lib/util/debug.c
index b83075cb239..0e13fa564e3 100644
--- a/lib/util/debug.c
+++ b/lib/util/debug.c
@@ -1559,25 +1559,10 @@ void check_log_size( void )
 static void Debug1(const char *msg, size_t msg_len)
 {
 	int old_errno = errno;
-	enum debug_logtype logtype = state.logtype;
 
 	debug_count++;
 
-	if (state.settings.debug_syslog_format == DEBUG_SYSLOG_FORMAT_ALWAYS) {
-		switch(state.logtype) {
-		case DEBUG_STDOUT:
-		case DEBUG_STDERR:
-		case DEBUG_DEFAULT_STDOUT:
-		case DEBUG_DEFAULT_STDERR:
-			/* Behave the same as logging to a file */
-			logtype = DEBUG_FILE;
-			break;
-		default:
-			break;
-		}
-	}
-
-	switch(logtype) {
+	switch(state.logtype) {
 	case DEBUG_CALLBACK:
 		debug_callback_log(msg, msg_len, current_msg_level);
 		break;
@@ -1585,13 +1570,18 @@ static void Debug1(const char *msg, size_t msg_len)
 	case DEBUG_STDERR:
 	case DEBUG_DEFAULT_STDOUT:
 	case DEBUG_DEFAULT_STDERR:
-		if (dbgc_config[DBGC_ALL].fd > 0) {
-			ssize_t ret;
-			do {
-				ret = write(dbgc_config[DBGC_ALL].fd,
-					    msg,
-					    msg_len);
-			} while (ret == -1 && errno == EINTR);
+		if (state.settings.debug_syslog_format ==
+		    DEBUG_SYSLOG_FORMAT_ALWAYS) {
+			debug_file_log(current_msg_level, msg, msg_len);
+		} else {
+			if (dbgc_config[DBGC_ALL].fd > 0) {
+				ssize_t ret;
+				do {
+					ret = write(dbgc_config[DBGC_ALL].fd,
+						    msg,
+						    msg_len);
+				} while (ret == -1 && errno == EINTR);
+			}
 		}
 		break;
 	case DEBUG_FILE:


-- 
Samba Shared Repository



More information about the samba-cvs mailing list