Commit 29e09616 authored by Quanah Gibson-Mount's avatar Quanah Gibson-Mount
Browse files

ITS#6016

parent b9678afd
...@@ -3,6 +3,7 @@ OpenLDAP 2.4 Change Log ...@@ -3,6 +3,7 @@ OpenLDAP 2.4 Change Log
OpenLDAP 2.4.17 Engineering OpenLDAP 2.4.17 Engineering
Fixed slapd normalization of updated schema attributes (ITS#5540) Fixed slapd normalization of updated schema attributes (ITS#5540)
Fixed slapd errno handling (ITS#6037) Fixed slapd errno handling (ITS#6037)
Fixed slapd moduleload with static backends and modules (ITS#6016)
Build Environment Build Environment
Added test056-monitor (ITS#5540) Added test056-monitor (ITS#5540)
Added test057-memberof-refint (ITS#5395) Added test057-memberof-refint (ITS#5395)
......
...@@ -136,6 +136,31 @@ int module_load(const char* file_name, int argc, char *argv[]) ...@@ -136,6 +136,31 @@ int module_load(const char* file_name, int argc, char *argv[])
return -1; return -1;
} }
/* If loading a backend, see if we already have it */
if ( !strncasecmp( file_name, "back_", 5 )) {
char *name = (char *)file_name + 5;
char *dot = strchr( name, '.');
if (dot) *dot = '\0';
rc = backend_info( name ) != NULL;
if (dot) *dot = '.';
if ( rc ) {
Debug( LDAP_DEBUG_CONFIG, "module_load: (%s) already present (static)\n",
file_name, 0, 0 );
return 0;
}
} else {
/* check for overlays too */
char *dot = strchr( file_name, '.' );
if ( dot ) *dot = '\0';
rc = overlay_find( file_name ) != NULL;
if ( dot ) *dot = '.';
if ( rc ) {
Debug( LDAP_DEBUG_CONFIG, "module_load: (%s) already present (static)\n",
file_name, 0, 0 );
return 0;
}
}
module = (module_loaded_t *)ch_calloc(1, sizeof(module_loaded_t) + module = (module_loaded_t *)ch_calloc(1, sizeof(module_loaded_t) +
strlen(file_name)); strlen(file_name));
if (module == NULL) { if (module == NULL) {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment