X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fmain.c;h=53ccf4004767eb5ddae2d1dc302e5ad64165d870;hb=ffebea4a8b879db1a9dc23e2c2749d303b271d43;hp=ccb6c0e12c9fd6b928f380840f06dd1c03bad54b;hpb=0552b1c53fa44790811f44cac5e14fc52fbd2ace;p=openldap diff --git a/servers/slapd/main.c b/servers/slapd/main.c index ccb6c0e12c..53ccf40047 100644 --- a/servers/slapd/main.c +++ b/servers/slapd/main.c @@ -1,6 +1,6 @@ /* $OpenLDAP$ */ /* - * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved. + * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved. * COPYING RESTRICTIONS APPLY, see COPYRIGHT file */ #include "portable.h" @@ -27,7 +27,7 @@ static RETSIGTYPE wait4child( int sig ); #ifdef HAVE_NT_SERVICE_MANAGER #define MAIN_RETURN(x) return -struct sockaddr_in bind_addr; +static struct sockaddr_in bind_addr; void CommenceStartupProcessing( LPCTSTR serverName, void(*stopper)(int)); @@ -135,6 +135,9 @@ int main( int argc, char **argv ) #ifdef LOG_LOCAL4 int syslogUser = DEFAULT_SYSLOG_USER; #endif + + int g_argc = argc; + char **g_argv = argv; #ifdef HAVE_NT_SERVICE_MANAGER char *configfile = ".\\slapd.conf"; @@ -151,8 +154,6 @@ int main( int argc, char **argv ) } #endif - g_argc = argc; - g_argv = argv; #ifdef HAVE_NT_SERVICE_MANAGER { @@ -307,9 +308,9 @@ int main( int argc, char **argv ) if( serverName == NULL ) { if ( (serverName = strrchr( argv[0], *LDAP_DIRSEP )) == NULL ) { - serverName = ch_strdup( argv[0] ); + serverName = argv[0]; } else { - serverName = ch_strdup( serverName + 1 ); + serverName = serverName + 1; } } @@ -362,7 +363,7 @@ int main( int argc, char **argv ) goto destroy; } - if ( schema_init( ) != 0 ) { + if ( slap_schema_init( ) != 0 ) { #ifdef NEW_LOGGING LDAP_LOG(( "operation", LDAP_LEVEL_CRIT, "main: schema initialization error\n" )); @@ -381,7 +382,19 @@ int main( int argc, char **argv ) goto destroy; } - if ( schema_prep( ) != 0 ) { + if ( glue_sub_init( ) != 0 ) { +#ifdef NEW_LOGGING + LDAP_LOG(( "operation", LDAP_LEVEL_CRIT, + "main: subordinate config error\n")); +#else + Debug( LDAP_DEBUG_ANY, + "subordinate config error\n", + 0, 0, 0 ); +#endif + goto destroy; + } + + if ( slap_schema_check( ) != 0 ) { #ifdef NEW_LOGGING LDAP_LOG(( "operation", LDAP_LEVEL_CRIT, "main: schema prep error\n")); @@ -544,6 +557,8 @@ stop: ldap_pvt_tls_destroy(); #endif + config_destroy(); + #ifdef CSRIMALLOC mal_dumpleaktrace( leakfile ); #endif