mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-03-01 14:15:49 +08:00
ITS#6468: Implement bi_access_allowed.
This commit is contained in:
parent
1a9ef3b4ea
commit
1af4e43236
@ -1289,6 +1289,29 @@ glue_sub_add( BackendDB *be, int advert, int online )
|
||||
return rc;
|
||||
}
|
||||
|
||||
static int
|
||||
glue_access_allowed(
|
||||
Operation *op,
|
||||
Entry *e,
|
||||
AttributeDescription *desc,
|
||||
struct berval *val,
|
||||
slap_access_t access,
|
||||
AccessControlState *state,
|
||||
slap_mask_t *maskp )
|
||||
{
|
||||
BackendDB *b0, *be = glue_back_select( op->o_bd, &e->e_nname );
|
||||
int rc;
|
||||
|
||||
if ( be == NULL || be == op->o_bd || be->bd_info->bi_access_allowed == NULL )
|
||||
return SLAP_CB_CONTINUE;
|
||||
|
||||
b0 = op->o_bd;
|
||||
op->o_bd = be;
|
||||
rc = be->bd_info->bi_access_allowed ( op, e, desc, val, access, state, maskp );
|
||||
op->o_bd = b0;
|
||||
return rc;
|
||||
}
|
||||
|
||||
int
|
||||
glue_sub_init()
|
||||
{
|
||||
@ -1309,6 +1332,7 @@ glue_sub_init()
|
||||
glue.on_bi.bi_chk_controls = glue_chk_controls;
|
||||
glue.on_bi.bi_entry_get_rw = glue_entry_get_rw;
|
||||
glue.on_bi.bi_entry_release_rw = glue_entry_release_rw;
|
||||
glue.on_bi.bi_access_allowed = glue_access_allowed;
|
||||
|
||||
glue.on_response = glue_response;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user