From: Kurt Zeilenga Date: Thu, 14 Jan 1999 23:14:10 +0000 (+0000) Subject: Import ldap session default init changes. X-Git-Tag: OPENLDAP_REL_ENG_1_1_3~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ef456f1e1dc222b7ca87dd77d2103e38fa011fe0;p=thirdparty%2Fopenldap.git Import ldap session default init changes. --- diff --git a/CHANGES b/CHANGES index 5c5392d58f..aafe99bee9 100644 --- a/CHANGES +++ b/CHANGES @@ -7,13 +7,14 @@ Changes included in OpenLDAP 1.1.x Fixed slapd/delete bugs (ITS#39) Fixed slapd/strtok needs mutex bug Fixed slapd/tcpd DoS bug - Fixed ud bogus msgfree bug (ITS#43) Fixed slapd/add,delete,modrdn parent lock bug + Fixed ud bogus msgfree bug (ITS#43) + Updated ldap.conf to support LDAPNOINIT + Updated lthread to provide sched_yield() if missing Updated slapd/modrdn ACL handling Updated slapd/search deallocation Updated slapd to use pthread_detach() Updated slapd thread initialization - Updated lthread to provide sched_yield() if missing Updated slapd shutdown code to use condition wait Build environment Added DB2 patch information diff --git a/doc/man/man5/ldap.conf.5 b/doc/man/man5/ldap.conf.5 index 26c0781dc6..9904ece2fd 100644 --- a/doc/man/man5/ldap.conf.5 +++ b/doc/man/man5/ldap.conf.5 @@ -10,15 +10,25 @@ The configuration file is used to set system-wide defaults to be applied when running .I ldap -clients. -Note that each user may specify an optional configuration file, +clients. If the environment variable \fBLDAPNOINIT\fP is defined, all +defaulting is disabled. +.LP +Each user may specify an optional configuration file, .IR .ldaprc , -in his/her home directory which will be used to override system-wide -defaults file. The user may also provide a local configuration -file -.I ldaprc -which will be used to override per-user and system-wide defaults. -Environmental variables may be used to file based defaults. +in his/her home directory which will be used to override the system-wide +defaults file. +.LP +Additional configuration files can be specified using +the \fBLDAPCONF\fP and \fBLDAPRC\fP environment variables. +\fBLDAPCONF\fP may be set the path of a configuration file. This +patch can be absolute or relative to current working directory. +The \fBLDAPRC\fP, if defined, should be a basename of a file +in the current working directory or in the user's home directory. +.LP +Environmental variables may also be used to augment the file based defaults. +The name of the option is the as listed but with a prefix of \fBLDAP\fP. +For example, to define \fBBASE\fP via the environment, define the variable +\fBLDAPBASE\fP to desired value. .SH OPTIONS The different configuration options are: .TP 1i @@ -61,6 +71,10 @@ dereferenced when searching, or dereferenced only when locating the base object for the search. The default is to never dereference aliases. .SH FILES .I ETCDIR/ldap.conf +.LP +.I $HOME/.ldaprc +.LP +.I $CWD/.ldaprc .SH "SEE ALSO" ldap(3) .SH AUTHOR diff --git a/libraries/libldap/init.c b/libraries/libldap/init.c index 4ff58daf2e..cc8588d712 100644 --- a/libraries/libldap/init.c +++ b/libraries/libldap/init.c @@ -267,18 +267,30 @@ void openldap_ldap_initialize( void ) gopts.ldo_defhost = ldap_strdup("localhost"); gopts.ldo_defport = LDAP_PORT; + openldap_ldap_initialized = 1; + + if( getenv("LDAPNOINIT") != NULL ) { + return; + } + openldap_ldap_init_w_conf(DEFAULT_LDAP_CONF_FILE); openldap_ldap_init_w_userconf(DEFAULT_LDAP_USERRC_FILE); { - char *altfile = getenv("LDAPRC"); + char *altfile = getenv("LDAPCONF"); if( altfile != NULL ) { openldap_ldap_init_w_conf( altfile ); } } - openldap_ldap_init_w_env(NULL); + { + char *altfile = getenv("LDAPRC"); - openldap_ldap_initialized = 1; + if( altfile != NULL ) { + openldap_ldap_init_w_userconf( altfile ); + } + } + + openldap_ldap_init_w_env(NULL); } diff --git a/tests/Makefile.in b/tests/Makefile.in index 2c8adfc82d..fda33ec0b4 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -13,6 +13,6 @@ clean-local: FORCE $(RM) test-db/[!C]* test-repl/[!C]* *core veryclean-local: FORCE - $(RM) -f data + @-$(RM) data $(RM) -r test-db test-repl