ITS#9513 Cleanup debug output

Avoid splitting single lines across multiple Debug invocations
This commit is contained in:
Howard Chu 2021-03-10 01:21:00 +00:00 committed by Quanah Gibson-Mount
parent c5a56bcbeb
commit 01e5664c7c
3 changed files with 33 additions and 46 deletions

View File

@ -20,7 +20,6 @@
#include <ac/stdarg.h> #include <ac/stdarg.h>
#include <ac/stdlib.h> #include <ac/stdlib.h>
#include <ac/string.h> #include <ac/string.h>
#include <ac/time.h>
#include <ac/ctype.h> #include <ac/ctype.h>
#ifdef LDAP_SYSLOG #ifdef LDAP_SYSLOG
@ -32,12 +31,8 @@
#include "lber.h" #include "lber.h"
#include "ldap_pvt.h" #include "ldap_pvt.h"
static FILE *log_file = NULL;
static int debug_lastc = '\n';
int lutil_debug_file( FILE *file ) int lutil_debug_file( FILE *file )
{ {
log_file = file;
ber_set_option( NULL, LBER_OPT_LOG_PRINT_FILE, file ); ber_set_option( NULL, LBER_OPT_LOG_PRINT_FILE, file );
return 0; return 0;
@ -47,41 +42,13 @@ void (lutil_debug)( int debug, int level, const char *fmt, ... )
{ {
char buffer[4096]; char buffer[4096];
va_list vl; va_list vl;
int len, off;
if ( !(level & debug ) ) return; 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 ); va_start( vl, fmt );
len = vsnprintf( buffer+off, sizeof(buffer)-off, fmt, vl ); vsnprintf( buffer, sizeof(buffer), 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 );
va_end( vl ); va_end( vl );
ber_pvt_log_print( buffer );
} }
#if defined(HAVE_EBCDIC) && defined(LDAP_SYSLOG) #if defined(HAVE_EBCDIC) && defined(LDAP_SYSLOG)

View File

@ -415,7 +415,7 @@ matching_rule_use_init( void )
mru->smru_names = mr->smr_names; mru->smru_names = mr->smr_names;
mru->smru_desc = mr->smr_desc; mru->smru_desc = mr->smr_desc;
Debug( LDAP_DEBUG_TRACE, " %s (%s): ", Debug( LDAP_DEBUG_TRACE, " %s (%s):\n",
mru->smru_oid, mru->smru_oid,
mru->smru_names ? mru->smru_names[ 0 ] : "" ); mru->smru_names ? mru->smru_names[ 0 ] : "" );
@ -437,7 +437,7 @@ matching_rule_use_init( void )
mru->smru_applies_oids = applies_oids; mru->smru_applies_oids = applies_oids;
{ {
char *str = ldap_matchingruleuse2str( &mru->smru_mruleuse ); 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 ); ldap_memfree( str );
} }

View File

@ -118,9 +118,8 @@ do_search(
goto return_results; goto return_results;
} }
Debug( LDAP_DEBUG_ARGS, "SRCH \"%s\" %d %d", Debug( LDAP_DEBUG_ARGS, "SRCH \"%s\" %d %d %d %d %d\n",
base.bv_val, op->ors_scope, op->ors_deref ); base.bv_val, op->ors_scope, op->ors_deref,
Debug( LDAP_DEBUG_ARGS, " %d %d %d\n",
op->ors_slimit, op->ors_tlimit, op->ors_attrsonly); op->ors_slimit, op->ors_tlimit, op->ors_attrsonly);
/* filter - returns a "normalized" version */ /* filter - returns a "normalized" version */
@ -198,16 +197,37 @@ do_search(
goto return_results; 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++ ) { 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 ) ) { if (LogTest( LDAP_DEBUG_STATS ) ) {
char abuf[BUFSIZ/2], *ptr = abuf; char abuf[BUFSIZ/2], *ptr = abuf;
unsigned len = 0, alen; unsigned len = 0, alen;