X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fmain.c;h=877c04250311b9e4eca49a25040bb5ee9e360e23;hb=b60644a07fc620d8e1f367e828355e6babc8d44f;hp=7cd20669e60aa3658436f1cedf6c635ec3742d2c;hpb=417f709978679b1f7fa3b28a432caf09b70aefac;p=openldap diff --git a/servers/slapd/main.c b/servers/slapd/main.c index 7cd20669e6..877c042503 100644 --- a/servers/slapd/main.c +++ b/servers/slapd/main.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2004 The OpenLDAP Foundation. + * Copyright 1998-2006 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -27,6 +27,7 @@ #include +#include #include #include #include @@ -34,8 +35,6 @@ #include #include -#include "ldap_pvt.h" - #include "slap.h" #include "lutil.h" #include "ldif.h" @@ -99,48 +98,23 @@ 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 }, - { NULL, 0, 0 } -}; - -static int cnvt_str2int( char *, STRDISP_P, int ); - -#endif /* LOG_LOCAL4 */ - -#define CHECK_NONE 0x00 -#define CHECK_CONFIG 0x01 +#define CHECK_NONE 0x00 +#define CHECK_CONFIG 0x01 +#define CHECK_LOGLEVEL 0x02 static int check = CHECK_NONE; static int version = 0; void *slap_tls_ctx; +LDAP *slap_tls_ld; static int slapd_opt_slp( const char *val, void *arg ) { #ifdef HAVE_SLP /* NULL is default */ - if ( val == NULL || strcasecmp( val, "on" ) == 0 ) { + if ( val == NULL || *val == '(' || strcasecmp( val, "on" ) == 0 ) { slapd_register_slp = 1; + slapd_slp_attrs = (val != NULL && *val == '(') ? val : NULL; } else if ( strcasecmp( val, "off" ) == 0 ) { slapd_register_slp = 0; @@ -160,15 +134,159 @@ slapd_opt_slp( const char *val, void *arg ) #endif } +/* + * Option helper structure: + * + * oh_nam is left-hand part of