From 20dc92fe25efa929a3216daa240d623f0d29e941 Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Thu, 22 Dec 2005 22:33:32 +0000 Subject: [PATCH] cleanup debug handling --- include/ldap_log.h | 6 +- servers/slapd/bconfig.c | 2 + servers/slapd/main.c | 131 ++++++++++++---------------------------- 3 files changed, 45 insertions(+), 94 deletions(-) diff --git a/include/ldap_log.h b/include/ldap_log.h index eb90298620..12ec9e326f 100644 --- a/include/ldap_log.h +++ b/include/ldap_log.h @@ -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 diff --git a/servers/slapd/bconfig.c b/servers/slapd/bconfig.c index f1e6af408a..246d1503fc 100644 --- a/servers/slapd/bconfig.c +++ b/servers/slapd/bconfig.c @@ -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 } diff --git a/servers/slapd/main.c b/servers/slapd/main.c index 4d48c2bed0..088a590bfe 100644 --- a/servers/slapd/main.c +++ b/servers/slapd/main.c @@ -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 */ -- 2.39.5