+/*
+ * Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved.
+ * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
+ */
#include "portable.h"
#include <stdio.h>
char *cmd, *opt;
char *start, *end;
+ if (file == NULL) {
+ /* no file name */
+ return;
+ }
+
fp = fopen(file, "r");
if(fp == NULL) {
/* could not open file */
case ATTR_STRING:
if (* (char**) p != NULL) free(* (char**) p);
- * (char**) p = ldap_strdup(opt);
+ * (char**) p = strdup(opt);
break;
}
}
static void openldap_ldap_init_w_userconf(const char *file)
{
- if (file[file[0] == '.'] != '/') {
- char *home = getenv("HOME");
+ char *home;
char *path;
-
+
+ if (file == NULL) {
+ /* no file name */
+ return;
+ }
+
+ home = getenv("HOME");
+
if (home != NULL) {
path = malloc(strlen(home) + strlen(file) + 3);
} else {
path = malloc(strlen(file) + 3);
}
-
if(home != NULL && path != NULL) {
+ /* we assume UNIX path syntax is used... */
+
/* try ~/file */
sprintf(path, "%s/%s", home, file);
openldap_ldap_init_w_conf(path);
sprintf(path, "%s/.%s", home, file);
openldap_ldap_init_w_conf(path);
}
- free(path);
- }
+
+ if(path != NULL) {
+ free(path);
+ }
/* try file */
openldap_ldap_init_w_conf(file);
if (*value == '\0') {
* (char**) p = NULL;
} else {
- * (char**) p = ldap_strdup(value);
+ * (char**) p = strdup(value);
}
break;
}
if ( openldap_ldap_initialized ) {
return;
}
-
+
+ ldap_pvt_init_utils();
+
gopts.ldo_version = LDAP_VERSION2;
gopts.ldo_deref = LDAP_DEREF_NEVER;
gopts.ldo_timelimit = LDAP_NO_LIMIT;
gopts.ldo_sizelimit = LDAP_NO_LIMIT;
- gopts.ldo_defhost = ldap_strdup("localhost");
+ gopts.ldo_debug = 0;
+
+ gopts.ldo_defhost = strdup("localhost");
gopts.ldo_defport = LDAP_PORT;
gopts.ldo_refhoplimit = LDAP_DEFAULT_REFHOPLIMIT;
LDAP_BOOL_SET(&gopts, LDAP_BOOL_REFERRALS);
#endif
+ 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);
}