From d66a450344fa50c18d58cca14dd8ab1e85754e9f Mon Sep 17 00:00:00 2001 From: Kurt Zeilenga Date: Thu, 14 Jan 1999 23:04:08 +0000 Subject: [PATCH] Update init and ldap.conf(5) to handle LDAPNOINIT, LDAPCONF, LDAPRC environment settings. --- doc/man/man5/ldap.conf.5 | 30 ++++++++++++++++++++++-------- libraries/libldap/init.c | 10 +++++++++- 2 files changed, 31 insertions(+), 9 deletions(-) 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 81f31a1d89..aa9179da97 100644 --- a/libraries/libldap/init.c +++ b/libraries/libldap/init.c @@ -314,12 +314,20 @@ void openldap_ldap_initialize( void ) 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 ); } } + { + char *altfile = getenv("LDAPRC"); + + if( altfile != NULL ) { + openldap_ldap_init_w_userconf( altfile ); + } + } + openldap_ldap_init_w_env(NULL); } -- 2.39.5