]> git.sur5r.net Git - openldap/commitdiff
cleanup debug handling
authorPierangelo Masarati <ando@openldap.org>
Thu, 22 Dec 2005 22:33:32 +0000 (22:33 +0000)
committerPierangelo Masarati <ando@openldap.org>
Thu, 22 Dec 2005 22:33:32 +0000 (22:33 +0000)
include/ldap_log.h
servers/slapd/bconfig.c
servers/slapd/main.c

index eb902986207323636fc6f96d1c2845702eba9295..12ec9e326f161dc2382e53f42262dbee134a3dbd 100644 (file)
@@ -64,8 +64,10 @@ LDAP_BEGIN_DECL
 #define LDAP_DEBUG_STATS2      0x0200
 #define LDAP_DEBUG_SHELL       0x0400
 #define LDAP_DEBUG_PARSE       0x0800
-#define LDAP_DEBUG_CACHE    0x1000
-#define LDAP_DEBUG_INDEX    0x2000
+#if 0 /* no longer used (nor supported) */
+#define LDAP_DEBUG_CACHE       0x1000
+#define LDAP_DEBUG_INDEX       0x2000
+#endif
 #define LDAP_DEBUG_SYNC                0x4000
 
 #define LDAP_DEBUG_NONE                0x8000
index f1e6af408a8586f29799a51ccf07629a5593ff9e..246d1503fc67f60cb9b0fea7a430d8da3f890f8a 100644 (file)
@@ -2106,8 +2106,10 @@ loglevel_init( void )
                { BER_BVC("Stats2"),    LDAP_DEBUG_STATS2 },
                { BER_BVC("Shell"),     LDAP_DEBUG_SHELL },
                { BER_BVC("Parse"),     LDAP_DEBUG_PARSE },
+#if 0  /* no longer used (nor supported) */
                { BER_BVC("Cache"),     LDAP_DEBUG_CACHE },
                { BER_BVC("Index"),     LDAP_DEBUG_INDEX },
+#endif
                { BER_BVC("Sync"),      LDAP_DEBUG_SYNC },
                { BER_BVC("None"),      LDAP_DEBUG_NONE },
                { BER_BVNULL,           0 }
index 4d48c2bed092c61567e353e32e6f4b77406431b0..088a590bfef1d93e01a1fe3c1db9cbfe12ed2c25 100644 (file)
@@ -98,37 +98,6 @@ const char Versionstr[] =
        OPENLDAP_PACKAGE " " OPENLDAP_VERSION " Standalone LDAP Server (slapd)";
 #endif
 
-#ifdef LOG_LOCAL4
-#define DEFAULT_SYSLOG_USER  LOG_LOCAL4
-
-typedef struct _str2intDispatch {
-       char    *stringVal;
-       int      abbr;
-       int      intVal;
-} STRDISP, *STRDISP_P;
-
-/* table to compute syslog-options to integer */
-static STRDISP syslog_types[] = {
-       { "LOCAL0", sizeof("LOCAL0"), LOG_LOCAL0 },
-       { "LOCAL1", sizeof("LOCAL1"), LOG_LOCAL1 },
-       { "LOCAL2", sizeof("LOCAL2"), LOG_LOCAL2 },
-       { "LOCAL3", sizeof("LOCAL3"), LOG_LOCAL3 },
-       { "LOCAL4", sizeof("LOCAL4"), LOG_LOCAL4 },
-       { "LOCAL5", sizeof("LOCAL5"), LOG_LOCAL5 },
-       { "LOCAL6", sizeof("LOCAL6"), LOG_LOCAL6 },
-       { "LOCAL7", sizeof("LOCAL7"), LOG_LOCAL7 },
-#ifdef LOG_USER
-       { "USER", sizeof("USER"), LOG_USER },
-#endif
-#ifdef LOG_DAEMON
-       { "DAEMON", sizeof("DAEMON"), LOG_DAEMON },
-#endif
-       { NULL, 0, 0 }
-};
-
-static int cnvt_str2int( char *, STRDISP_P, int );
-#endif /* LOG_LOCAL4 */
-
 #define CHECK_NONE     0x00
 #define CHECK_CONFIG   0x01
 static int check = CHECK_NONE;
@@ -136,6 +105,10 @@ static int version = 0;
 
 void *slap_tls_ctx;
 
+#ifdef LOG_LOCAL4
+#define DEFAULT_SYSLOG_USER    LOG_LOCAL4
+#endif /* LOG_LOCAL4 */
+
 static int
 slapd_opt_slp( const char *val, void *arg )
 {
@@ -185,43 +158,39 @@ struct option_helper {
        { BER_BVNULL, 0, NULL, NULL }
 };
 
-/* (yet) unused */
-#if 0
+#ifdef LOG_LOCAL4
 static int
-parse_syslog_level( const char *arg )
+parse_syslog_user( const char *arg, int *syslogUser )
 {
-       if ( !isdigit( arg[ 0 ] ) ) {
-               slap_verbmasks  str2syslog_level[] = {
-                       { BER_BVC( "EMERG" ),   LOG_EMERG },
-                       { BER_BVC( "ALERT" ),   LOG_ALERT },
-                       { BER_BVC( "CRIT" ),    LOG_CRIT },
-                       { BER_BVC( "ERR" ),     LOG_ERR },
-                       { BER_BVC( "WARNING" ), LOG_WARNING },
-                       { BER_BVC( "NOTICE" ),  LOG_NOTICE },
-                       { BER_BVC( "INFO" ),    LOG_INFO },
-                       { BER_BVC( "DEBUG" ),   LOG_DEBUG },
-                       { BER_BVNULL, 0 }
-               };
-               int i = verb_to_mask( arg, str2syslog_level );
-               if ( BER_BVISNULL( &str2syslog_level[ i ].word ) ) {
-                       Debug( LDAP_DEBUG_ANY,
-                               "unknown syslog level \"%s\".\n",
-                               arg, 0, 0 );
-                       return 1;
-               }
-               
-               ldap_syslog_level = str2syslog_level[ i ].mask;
-
-       } else if ( lutil_atoi( &ldap_syslog_level, arg ) != 0 ) {
-               Debug( LDAP_DEBUG_ANY,
-                       "unable to parse syslog level \"%s\".\n",
-                       arg, 0, 0 );
+       static slap_verbmasks syslogUsers[] = {
+               { BER_BVC( "LOCAL0" ), LOG_LOCAL0 },
+               { BER_BVC( "LOCAL1" ), LOG_LOCAL1 },
+               { BER_BVC( "LOCAL2" ), LOG_LOCAL2 },
+               { BER_BVC( "LOCAL3" ), LOG_LOCAL3 },
+               { BER_BVC( "LOCAL4" ), LOG_LOCAL4 },
+               { BER_BVC( "LOCAL5" ), LOG_LOCAL5 },
+               { BER_BVC( "LOCAL6" ), LOG_LOCAL6 },
+               { BER_BVC( "LOCAL7" ), LOG_LOCAL7 },
+#ifdef LOG_USER
+               { BER_BVC( "USER" ), LOG_USER },
+#endif /* LOG_USER */
+#ifdef LOG_DAEMON
+               { BER_BVC( "DAEMON" ), LOG_DAEMON },
+#endif /* LOG_DAEMON */
+               { BER_BVNULL, 0 }
+       };
+       int i = verb_to_mask( optarg, syslogUsers );
+
+       if ( BER_BVISNULL( &syslogUsers[ i ].word ) ) {
+               Debug( LDAP_DEBUG_ANY, "unrecognized syslog user \"%s\".\n", optarg, 0, 0 );
                return 1;
        }
 
+       *syslogUser = syslogUsers[ i ].mask;
+
        return 0;
 }
-#endif
+#endif /* LOG_LOCAL4 */
 
 int
 parse_debug_level( const char *arg, int *levelp )
@@ -264,7 +233,12 @@ parse_debug_level( const char *arg, int *levelp )
                        return 1;
                }
 
-               *levelp |= level;
+               if ( level == 0 ) {
+                       *levelp = 0;
+
+               } else {
+                       *levelp |= level;
+               }
        }
 
        return 0;
@@ -542,8 +516,9 @@ int main( int argc, char **argv )
 
 #ifdef LOG_LOCAL4
                case 'l':       /* set syslog local user */
-                       syslogUser = cnvt_str2int( optarg,
-                               syslog_types, DEFAULT_SYSLOG_USER );
+                       if ( parse_syslog_user( optarg, &syslogUser ) ) {
+                               goto destroy;
+                       }
                        break;
 #endif
 
@@ -966,31 +941,3 @@ wait4child( int sig )
 
 #endif /* LDAP_SIGCHLD */
 
-
-#ifdef LOG_LOCAL4
-
-/*
- *  Convert a string to an integer by means of a dispatcher table
- *  if the string is not in the table return the default
- */
-
-static int
-cnvt_str2int( char *stringVal, STRDISP_P dispatcher, int defaultVal )
-{
-    int               retVal = defaultVal;
-    STRDISP_P  disp;
-
-    for (disp = dispatcher; disp->stringVal; disp++) {
-
-       if (!strncasecmp (stringVal, disp->stringVal, disp->abbr)) {
-
-           retVal = disp->intVal;
-           break;
-
-       }
-    }
-
-    return (retVal);
-}
-
-#endif /* LOG_LOCAL4 */