#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;
{
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)
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;
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 );
}
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 */
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;