mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-06 10:46:21 +08:00
ITS#4128 use backend_db_init to init the private backend
This commit is contained in:
parent
f571f4b2b4
commit
c5b44f3660
@ -503,9 +503,9 @@ BackendInfo* backend_info(const char *type)
|
||||
|
||||
BackendDB *
|
||||
backend_db_init(
|
||||
const char *type )
|
||||
const char *type,
|
||||
BackendDB *be )
|
||||
{
|
||||
Backend *be;
|
||||
BackendInfo *bi = backend_info(type);
|
||||
int rc = 0;
|
||||
|
||||
@ -514,9 +514,14 @@ backend_db_init(
|
||||
return NULL;
|
||||
}
|
||||
|
||||
be = ch_calloc( 1, sizeof(Backend) );
|
||||
nbackends++;
|
||||
LDAP_STAILQ_INSERT_TAIL(&backendDB, be, be_next);
|
||||
/* If be is provided, treat it as private. Otherwise allocate
|
||||
* one and add it to the global list.
|
||||
*/
|
||||
if ( !be ) {
|
||||
be = ch_calloc( 1, sizeof(Backend) );
|
||||
nbackends++;
|
||||
LDAP_STAILQ_INSERT_TAIL(&backendDB, be, be_next);
|
||||
}
|
||||
|
||||
be->bd_info = bi;
|
||||
|
||||
|
@ -1039,7 +1039,7 @@ config_generic(ConfigArgs *c) {
|
||||
} else if ( !strcasecmp( c->argv[1], "frontend" )) {
|
||||
c->be = frontendDB;
|
||||
} else {
|
||||
c->be = backend_db_init(c->argv[1]);
|
||||
c->be = backend_db_init(c->argv[1], NULL);
|
||||
if ( !c->be ) {
|
||||
snprintf( c->msg, sizeof( c->msg ), "<%s> failed init", c->argv[0] );
|
||||
Debug(LDAP_DEBUG_ANY, "%s: %s (%s)!\n",
|
||||
@ -2770,10 +2770,8 @@ config_setup_ldif( BackendDB *be, const char *dir, int readit ) {
|
||||
if ( !cfb->cb_db.bd_info )
|
||||
return 0; /* FIXME: eventually this will be a fatal error */
|
||||
|
||||
if ( cfb->cb_db.bd_info->bi_db_init( &cfb->cb_db )) return 1;
|
||||
|
||||
/* Mark that back-ldif type is in use */
|
||||
cfb->cb_db.bd_info->bi_nDB++;
|
||||
if ( backend_db_init( "ldif", &cfb->cb_db ) == NULL )
|
||||
return 1;
|
||||
|
||||
cfb->cb_db.be_suffix = be->be_suffix;
|
||||
cfb->cb_db.be_nsuffix = be->be_nsuffix;
|
||||
@ -2880,7 +2878,7 @@ read_config(const char *fname, const char *dir) {
|
||||
int rc;
|
||||
|
||||
/* Setup the config backend */
|
||||
be = backend_db_init( "config" );
|
||||
be = backend_db_init( "config", NULL );
|
||||
if ( !be )
|
||||
return 1;
|
||||
|
||||
|
@ -321,7 +321,8 @@ LDAP_SLAPD_F (int) backend_destroy LDAP_P((void));
|
||||
LDAP_SLAPD_F (void) backend_destroy_one LDAP_P((BackendDB *bd, int dynamic));
|
||||
|
||||
LDAP_SLAPD_F (BackendInfo *) backend_info LDAP_P(( const char *type ));
|
||||
LDAP_SLAPD_F (BackendDB *) backend_db_init LDAP_P(( const char *type ));
|
||||
LDAP_SLAPD_F (BackendDB *) backend_db_init LDAP_P(( const char *type,
|
||||
BackendDB *be ));
|
||||
|
||||
LDAP_SLAPD_F (BackendDB *) select_backend LDAP_P((
|
||||
struct berval * dn,
|
||||
|
Loading…
Reference in New Issue
Block a user