]> git.sur5r.net Git - openldap/commitdiff
ITS#6324
authorQuanah Gibson-Mount <quanah@openldap.org>
Fri, 30 Oct 2009 18:52:52 +0000 (18:52 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Fri, 30 Oct 2009 18:52:52 +0000 (18:52 +0000)
CHANGES
include/ldap_log.h
servers/slapd/bconfig.c
servers/slapd/main.c

diff --git a/CHANGES b/CHANGES
index f2c4174fe58d4758d1c49c2a2b9eaed179110dd4..ef981c9280599474c622bba2ebd4b9a390ca86a7 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,7 @@
 OpenLDAP 2.4 Change Log
 
 OpenLDAP 2.4.20 Engineering
+       Fixed slapd debug handling of LDAP_DEBUG_ANY (ITS#6324)
 
 OpenLDAP 2.4.19 Release (2009/10/06)
        Fixed client tools with null timeouts (ITS#6282)
index fb7a75f7aa7f17f45597a3c24da75a09569beb6e..4296a5de2520548a5bbdcf7a7a27579e416dcb2e 100644 (file)
@@ -123,7 +123,7 @@ LDAP_BEGIN_DECL
 #define LDAP_DEBUG_SYNC                0x4000
 
 #define LDAP_DEBUG_NONE                0x8000
-#define LDAP_DEBUG_ANY         -1
+#define LDAP_DEBUG_ANY         (-1)
 
 /* debugging stuff */
 #ifdef LDAP_DEBUG
index a7f4bd35b76405d1f3e6010e1761d8264741ebcf..e02d90e89bc962c89dfe12d0a42d2d0c9589ba97 100644 (file)
@@ -3050,7 +3050,7 @@ static int
 loglevel_init( void )
 {
        slap_verbmasks  lo[] = {
-               { BER_BVC("Any"),       -1 },
+               { BER_BVC("Any"),       (slap_mask_t) LDAP_DEBUG_ANY },
                { BER_BVC("Trace"),     LDAP_DEBUG_TRACE },
                { BER_BVC("Packets"),   LDAP_DEBUG_PACKETS },
                { BER_BVC("Args"),      LDAP_DEBUG_ARGS },
@@ -3202,9 +3202,11 @@ loglevel_print( FILE *out )
 
        fprintf( out, "Installed log subsystems:\n\n" );
        for ( i = 0; !BER_BVISNULL( &loglevel_ops[ i ].word ); i++ ) {
-               fprintf( out, "\t%-30s (%lu)\n",
-                       loglevel_ops[ i ].word.bv_val,
-                       loglevel_ops[ i ].mask );
+               unsigned mask = loglevel_ops[ i ].mask & 0xffffffffUL;
+               fprintf( out,
+                       (mask == ((slap_mask_t) -1 & 0xffffffffUL)
+                        ? "\t%-30s (-1, 0xffffffff)\n" : "\t%-30s (%u, 0x%x)\n"),
+                       loglevel_ops[ i ].word.bv_val, mask, mask );
        }
 
        fprintf( out, "\nNOTE: custom log subsystems may be later installed "
index 14fadd6b1acd4741a254d5baebe4ac91c57e23b3..2fc052369b640d1a44e4c9b8223b97f07027689b 100644 (file)
@@ -270,7 +270,18 @@ parse_debug_level( const char *arg, int *levelp, char ***unknowns )
                ldap_charray_free( levels );
 
        } else {
-               if ( lutil_atoix( &level, arg, 0 ) != 0 ) {
+               int rc;
+
+               if ( arg[0] == '-' ) {
+                       rc = lutil_atoix( &level, arg, 0 );
+               } else {
+                       unsigned ulevel;
+
+                       rc = lutil_atoux( &ulevel, arg, 0 );
+                       level = (int)ulevel;
+               }
+
+               if ( rc ) {
                        fprintf( stderr,
                                "unrecognized log level "
                                "\"%s\"\n", arg );