]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#9513 Cleanup debug output
authorHoward Chu <hyc@openldap.org>
Wed, 10 Mar 2021 01:21:00 +0000 (01:21 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Wed, 31 Mar 2021 18:53:50 +0000 (18:53 +0000)
Avoid splitting single lines across multiple Debug invocations

libraries/liblber/debug.c
servers/slapd/mr.c
servers/slapd/search.c

index 7d1f772ad3245ad43ef5e032b2adac66e1542ecc..0b71c1c33f68934e52a43c6a32df6d189770e0e4 100644 (file)
@@ -20,7 +20,6 @@
 #include <ac/stdarg.h>
 #include <ac/stdlib.h>
 #include <ac/string.h>
-#include <ac/time.h>
 #include <ac/ctype.h>
 
 #ifdef LDAP_SYSLOG
 #include "lber.h"
 #include "ldap_pvt.h"
 
-static FILE *log_file = NULL;
-static int debug_lastc = '\n';
-
 int lutil_debug_file( FILE *file )
 {
-       log_file = file;
        ber_set_option( NULL, LBER_OPT_LOG_PRINT_FILE, file );
 
        return 0;
@@ -47,41 +42,13 @@ void (lutil_debug)( int debug, int level, const char *fmt, ... )
 {
        char buffer[4096];
        va_list vl;
-       int len, off;
 
        if ( !(level & debug ) ) return;
 
-#ifdef HAVE_WINSOCK
-       if( log_file == NULL ) {
-               log_file = fopen( LDAP_RUNDIR LDAP_DIRSEP "openldap.log", "w" );
-
-               if ( log_file == NULL ) {
-                       log_file = fopen( "openldap.log", "w" );
-                       if ( log_file == NULL ) return;
-               }
-
-               ber_set_option( NULL, LBER_OPT_LOG_PRINT_FILE, log_file );
-       }
-#endif
-
-       if (debug_lastc == '\n') {
-               sprintf(buffer, "%08x ", (unsigned) time(0L));
-               off = 9;
-       } else {
-               off = 0;
-       }
        va_start( vl, fmt );
-       len = vsnprintf( buffer+off, sizeof(buffer)-off, fmt, vl );
-       if (len > sizeof(buffer)-off)
-               len = sizeof(buffer)-off;
-       debug_lastc = buffer[len+off-1];
-       buffer[sizeof(buffer)-1] = '\0';
-       if( log_file != NULL ) {
-               fputs( buffer, log_file );
-               fflush( log_file );
-       }
-       fputs( buffer, stderr );
+       vsnprintf( buffer, sizeof(buffer), fmt, vl );
        va_end( vl );
+       ber_pvt_log_print( buffer );
 }
 
 #if defined(HAVE_EBCDIC) && defined(LDAP_SYSLOG)
index 886f3d68bdf6439cac9e788915d0754e3cdcbaf0..88f28fe69500ddd4232e97b1c6f65699ddb296ba 100644 (file)
@@ -415,8 +415,8 @@ matching_rule_use_init( void )
                mru->smru_names = mr->smr_names;
                mru->smru_desc = mr->smr_desc;
 
-               Debug( LDAP_DEBUG_TRACE, "    %s (%s): ", 
-                               mru->smru_oid, 
+               Debug( LDAP_DEBUG_TRACE, "    %s (%s):\n",
+                               mru->smru_oid,
                                mru->smru_names ? mru->smru_names[ 0 ] : "" );
 
                at = NULL;
@@ -437,7 +437,7 @@ matching_rule_use_init( void )
                        mru->smru_applies_oids = applies_oids;
                        {
                                char *str = ldap_matchingruleuse2str( &mru->smru_mruleuse );
-                               Debug( LDAP_DEBUG_TRACE, "matchingRuleUse: %s\n", str );
+                               Debug( LDAP_DEBUG_TRACE, "       matchingRuleUse: %s\n", str );
                                ldap_memfree( str );
                        }
 
index feb6c64ada3f9ebdedcc07a3d0b592f7e0c67f88..5cbf010f2f167bb325e6e07b18f75ecb54de2d85 100644 (file)
@@ -118,9 +118,8 @@ do_search(
                goto return_results;
        }
 
-       Debug( LDAP_DEBUG_ARGS, "SRCH \"%s\" %d %d",
-               base.bv_val, op->ors_scope, op->ors_deref );
-       Debug( LDAP_DEBUG_ARGS, "    %d %d %d\n",
+       Debug( LDAP_DEBUG_ARGS, "SRCH \"%s\" %d %d    %d %d %d\n",
+               base.bv_val, op->ors_scope, op->ors_deref,
                op->ors_slimit, op->ors_tlimit, op->ors_attrsonly);
 
        /* filter - returns a "normalized" version */
@@ -198,16 +197,37 @@ do_search(
                goto return_results;
        }
 
-       Debug( LDAP_DEBUG_ARGS, "    attrs:" );
+       if (LogTest( LDAP_DEBUG_ARGS ) ) {
+               char abuf[BUFSIZ/2], *ptr = abuf;
+               unsigned len = 0, alen;
 
-       if ( siz != 0 ) {
+               if ( !siz ) {
+                       len = 1;
+                       abuf[0] = '\0';
+               }
                for ( i = 0; i<siz; i++ ) {
-                       Debug( LDAP_DEBUG_ARGS, " %s", op->ors_attrs[i].an_name.bv_val );
+                       alen = op->ors_attrs[i].an_name.bv_len;
+                       if (alen >= sizeof(abuf)) {
+                               alen = sizeof(abuf)-1;
+                       }
+                       if (len && (len + 1 + alen >= sizeof(abuf))) {
+                               Debug( LDAP_DEBUG_ARGS, "    attrs: %s\n", abuf );
+                               len = 0;
+                               ptr = abuf;
+                       }
+                       if (len) {
+                               *ptr++ = ' ';
+                               len++;
+                       }
+                       ptr = lutil_strncopy(ptr, op->ors_attrs[i].an_name.bv_val, alen);
+                       len += alen;
+                       *ptr = '\0';
+               }
+               if (len) {
+                       Debug( LDAP_DEBUG_ARGS, "    attrs: %s\n", abuf );
                }
        }
 
-       Debug( LDAP_DEBUG_ARGS, "\n" );
-
        if (LogTest( LDAP_DEBUG_STATS ) ) {
                char abuf[BUFSIZ/2], *ptr = abuf;
                unsigned len = 0, alen;