mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
ITS#5857 always combine frontend and backend: restrict, requires, ssf
This commit is contained in:
parent
9b56116d0d
commit
8c464dbedb
@ -1005,13 +1005,19 @@ backend_check_restrictions(
|
|||||||
slap_mask_t requires;
|
slap_mask_t requires;
|
||||||
slap_mask_t opflag;
|
slap_mask_t opflag;
|
||||||
slap_mask_t exopflag = 0;
|
slap_mask_t exopflag = 0;
|
||||||
slap_ssf_set_t *ssf;
|
slap_ssf_set_t ssfs, *ssf;
|
||||||
int updateop = 0;
|
int updateop = 0;
|
||||||
int starttls = 0;
|
int starttls = 0;
|
||||||
int session = 0;
|
int session = 0;
|
||||||
|
|
||||||
|
restrictops = frontendDB->be_restrictops;
|
||||||
|
requires = frontendDB->be_requires;
|
||||||
|
ssfs = frontendDB->be_ssf_set;
|
||||||
|
ssf = &ssfs;
|
||||||
|
|
||||||
if ( op->o_bd ) {
|
if ( op->o_bd ) {
|
||||||
int rc = SLAP_CB_CONTINUE;
|
slap_ssf_t *fssf, *bssf;
|
||||||
|
int rc = SLAP_CB_CONTINUE, i;
|
||||||
|
|
||||||
if ( op->o_bd->be_chk_controls ) {
|
if ( op->o_bd->be_chk_controls ) {
|
||||||
rc = ( *op->o_bd->be_chk_controls )( op, rs );
|
rc = ( *op->o_bd->be_chk_controls )( op, rs );
|
||||||
@ -1025,14 +1031,13 @@ backend_check_restrictions(
|
|||||||
return rs->sr_err;
|
return rs->sr_err;
|
||||||
}
|
}
|
||||||
|
|
||||||
restrictops = op->o_bd->be_restrictops;
|
restrictops |= op->o_bd->be_restrictops;
|
||||||
requires = op->o_bd->be_requires;
|
requires |= op->o_bd->be_requires;
|
||||||
ssf = &op->o_bd->be_ssf_set;
|
bssf = &op->o_bd->be_ssf_set.sss_ssf;
|
||||||
|
fssf = &ssfs.sss_ssf;
|
||||||
} else {
|
for ( i=0; i<sizeof(ssfs)/sizeof(slap_ssf_t); i++ ) {
|
||||||
restrictops = frontendDB->be_restrictops;
|
if ( bssf[i] ) fssf[i] = bssf[i];
|
||||||
requires = frontendDB->be_requires;
|
}
|
||||||
ssf = &frontendDB->be_ssf_set;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
switch( op->o_tag ) {
|
switch( op->o_tag ) {
|
||||||
|
Loading…
Reference in New Issue
Block a user