From c8aa05157126b0815e7e7254cc6bc6dc856599a1 Mon Sep 17 00:00:00 2001 From: Mark Valence Date: Tue, 9 Nov 1999 03:37:05 +0000 Subject: [PATCH] Load extension library on "extension" keyword in configs (actual load routine is in extended.c). Protected by #ifdef SLAPD_EXTERNAL_EXTENSIONS. --- servers/slapd/config.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/servers/slapd/config.c b/servers/slapd/config.c index cee2fe9e3d..4912fe71a0 100644 --- a/servers/slapd/config.c +++ b/servers/slapd/config.c @@ -748,6 +748,27 @@ read_config( const char *fname ) #endif +#ifdef SLAPD_EXTERNAL_EXTENSIONS + } else if ( !strcasecmp( cargv[0], "extension" ) ) { + if ( cargc < 2 ) { + Debug( LDAP_DEBUG_ANY, + "%s: line %d: missing oid in \"extension \" line\n", + fname, lineno, 0 ); + } else if ( cargc < 3 ) { + Debug( LDAP_DEBUG_ANY, + "%s: line %d: missing libpath in \"extension \" line\n", + fname, lineno, 0 ); + } else { + rc = load_extension(cargv[1], cargv[2], cargc - 3, (cargc > 3) ? cargv + 3 : NULL); + if (rc != 0) { + Debug( LDAP_DEBUG_ANY, + "%s: line %d: failed to load or initialize extension library %s\n", + fname, lineno, cargv[2]); + return rc; + } + } +#endif + /* pass anything else to the current backend info/db config routine */ } else { if ( bi != NULL ) {