mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-01-17 20:34:08 -05:00
Dynamic config for back-passwd
This commit is contained in:
parent
9fcb3f0e73
commit
e3a5e9d060
5 changed files with 36 additions and 35 deletions
|
|
@ -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"
|
||||
|
||||
static ConfigTable passwdcfg[] = {
|
||||
{ "file", "filename", 2, 2, 0,
|
||||
#ifdef 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 }
|
||||
};
|
||||
|
||||
static ConfigOCs passwdocs[] = {
|
||||
{ "( OLcfgDbOc:9.1 "
|
||||
"NAME 'olcPasswdConfig' "
|
||||
"DESC 'Passwd backend configuration' "
|
||||
"SUP olcDatabaseConfig "
|
||||
"MAY olcPasswdFile )",
|
||||
Cft_Database, passwdcfg },
|
||||
{ NULL, 0, NULL }
|
||||
};
|
||||
|
||||
int
|
||||
passwd_back_db_config(
|
||||
BackendDB *be,
|
||||
const char *fname,
|
||||
int lineno,
|
||||
int argc,
|
||||
char **argv
|
||||
)
|
||||
passwd_back_init_cf( BackendInfo *bi )
|
||||
{
|
||||
/* alternate passwd file */
|
||||
if ( strcasecmp( argv[0], "file" ) == 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 */
|
||||
|
||||
/* anything else */
|
||||
} else {
|
||||
return SLAP_CONF_UNKNOWN;
|
||||
}
|
||||
|
||||
return( 0 );
|
||||
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
|
||||
*/
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Reference in a new issue