#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 );
}
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 */
* 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
*/
/*