Commit e3a5e9d0 authored by Howard Chu's avatar Howard Chu
Browse files

Dynamic config for back-passwd

parent 9fcb3f0e
......@@ -24,8 +24,6 @@ extern ldap_pvt_thread_mutex_t passwd_mutex;
extern BI_destroy passwd_back_destroy;
extern BI_db_config passwd_back_db_config;
extern BI_op_search passwd_back_search;
LDAP_END_DECL
......
......@@ -38,36 +38,36 @@
#include "slap.h"
#include "back-passwd.h"
#include "config.h"
int
passwd_back_db_config(
BackendDB *be,
const char *fname,
int lineno,
int argc,
char **argv
)
{
/* alternate passwd file */
if ( strcasecmp( argv[0], "file" ) == 0 ) {
static ConfigTable passwdcfg[] = {
{ "file", "filename", 2, 2, 0,
#ifdef HAVE_SETPWFILE
if ( argc < 2 ) {
fprintf( stderr,
"%s: line %d: missing filename in \"file <filename>\" line\n",
fname, lineno );
return( 1 );
}
be->be_private = ch_strdup( argv[1] );
#else /* HAVE_SETPWFILE */
fprintf( stderr,
"%s: line %d: ignoring \"file\" option (not supported on this platform)\n",
fname, lineno );
#endif /* HAVE_SETPWFILE */
ARG_STRING, NULL,
#else
ARG_IGNORED, NULL,
#endif
"( OLcfgDbAt:9.1 NAME 'olcPasswdFile' "
"DESC 'File containing passwd records' "
"EQUALITY caseExactMatch "
"SYNTAX OMsDirectoryString SINGLE-VALUE )", NULL, NULL },
{ NULL, NULL, 0, 0, 0, ARG_IGNORED,
NULL, NULL, NULL, NULL }
};
/* anything else */
} else {
return SLAP_CONF_UNKNOWN;
}
static ConfigOCs passwdocs[] = {
{ "( OLcfgDbOc:9.1 "
"NAME 'olcPasswdConfig' "
"DESC 'Passwd backend configuration' "
"SUP olcDatabaseConfig "
"MAY olcPasswdFile )",
Cft_Database, passwdcfg },
{ NULL, 0, NULL }
};
return( 0 );
int
passwd_back_init_cf( BackendInfo *bi )
{
bi->bi_cf_ocs = passwdocs;
return config_register_schema( passwdcfg, passwdocs );
}
......@@ -41,7 +41,7 @@ passwd_back_initialize(
bi->bi_destroy = passwd_back_destroy;
bi->bi_db_init = 0;
bi->bi_db_config = passwd_back_db_config;
bi->bi_db_config = 0;
bi->bi_db_open = 0;
bi->bi_db_close = 0;
bi->bi_db_destroy = 0;
......@@ -63,7 +63,7 @@ passwd_back_initialize(
bi->bi_connection_init = 0;
bi->bi_connection_destroy = 0;
return 0;
return passwd_back_init_cf( bi );
}
int
......
......@@ -21,11 +21,13 @@ LDAP_BEGIN_DECL
extern BI_init passwd_back_initialize;
extern BI_open passwd_back_open;
extern BI_destroy passwd_back_destroy;
extern BI_db_config passwd_back_db_config;
extern BI_op_search passwd_back_search;
extern int passwd_back_init_cf( BackendInfo *bi );
extern AttributeDescription *ad_sn;
extern AttributeDescription *ad_desc;
LDAP_END_DECL
#endif /* PROTO_PASSWD_H */
......@@ -244,9 +244,10 @@ static OidRec OidMacros[] = {
* OLcfg{Bk|Db}{Oc|At}:3 -> back-ldap
* OLcfg{Bk|Db}{Oc|At}:4 -> back-monitor
* OLcfg{Bk|Db}{Oc|At}:5 -> back-relay
* OLcfg{Bk|Db}{Oc|At}:6 -> back-sql
* OLcfg{Bk|Db}{Oc|At}:6 -> back-sql(/back-ndb)
* OLcfg{Bk|Db}{Oc|At}:7 -> back-sock
* OLcfg{Bk|Db}{Oc|At}:8 -> back-null
* OLcfg{Bk|Db}{Oc|At}:9 -> back-passwd
*/
/*
......
Markdown is supported
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