diff --git a/servers/slapd/back-monitor/init.c b/servers/slapd/back-monitor/init.c index 1f82cfa9a411442d9ff3a961f397f33f8240b6e1..3fd6cf978d31959ca6ed616cf4310736ef472bd2 100644 --- a/servers/slapd/back-monitor/init.c +++ b/servers/slapd/back-monitor/init.c @@ -356,7 +356,7 @@ monitor_back_register_database_limbo( el.el_type = LIMBO_DATABASE; - el.el_be = be; + el.el_be = be->bd_self; el.el_ndn = ndn; for ( elpp = &mi->mi_entry_limbo; diff --git a/servers/slapd/backend.c b/servers/slapd/backend.c index 1314c10e6adfb72b8b6482e71d5d1fcc62a74ec2..78c655cc64cb8e3fdcdb7c06a48a0b112ac3dd3a 100644 --- a/servers/slapd/backend.c +++ b/servers/slapd/backend.c @@ -585,6 +585,7 @@ backend_db_init( } be->bd_info = bi; + be->bd_self = be; be->be_def_limit = frontendDB->be_def_limit; be->be_dfltaccess = frontendDB->be_dfltaccess; diff --git a/servers/slapd/frontend.c b/servers/slapd/frontend.c index 63271f6882057cdb933ca38efe19a869309a5617..4ab36e5a2a3ba8c57856ce5b9dac7d6a671c0138 100644 --- a/servers/slapd/frontend.c +++ b/servers/slapd/frontend.c @@ -93,6 +93,7 @@ frontend_init( void ) { /* data */ frontendDB = &slap_frontendDB; + frontendDB->bd_self = frontendDB; /* ACLs */ frontendDB->be_dfltaccess = ACL_READ; diff --git a/servers/slapd/slap.h b/servers/slapd/slap.h index 8507e3cc93ef5b6659b567a726eabcc2a15d569c..ada56ab419f3c88bf42e09922601b02692a450b9 100644 --- a/servers/slapd/slap.h +++ b/servers/slapd/slap.h @@ -1707,6 +1707,7 @@ struct ConfigOCs; /* config.h */ struct BackendDB { BackendInfo *bd_info; /* pointer to shared backend info */ + struct BackendDB *bd_self; /* pointer to this struct */ /* fields in this structure (and routines acting on this structure) should be renamed from be_ to bd_ */