mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-01-06 06:59:54 -05:00
RE23 seems to still need these ACL states
This commit is contained in:
parent
86f1f7e047
commit
9a35796594
1 changed files with 15 additions and 0 deletions
|
|
@ -649,6 +649,17 @@ slap_acl_get(
|
|||
return( NULL );
|
||||
}
|
||||
|
||||
/*
|
||||
* Record value-dependent access control state
|
||||
*/
|
||||
#define ACL_RECORD_VALUE_STATE do { \
|
||||
if( state && !( state->as_recorded & ACL_STATE_RECORDED_VD )) { \
|
||||
state->as_recorded |= ACL_STATE_RECORDED_VD; \
|
||||
state->as_vd_acl = a; \
|
||||
state->as_vd_acl_count = count; \
|
||||
} \
|
||||
} while( 0 )
|
||||
|
||||
static int
|
||||
acl_mask_dn(
|
||||
Operation *op,
|
||||
|
|
@ -996,6 +1007,8 @@ acl_mask_dnattr(
|
|||
if ( ! bdn->a_self )
|
||||
return 1;
|
||||
|
||||
ACL_RECORD_VALUE_STATE;
|
||||
|
||||
/* this is a self clause, check if the target is an
|
||||
* attribute.
|
||||
*/
|
||||
|
|
@ -1603,6 +1616,8 @@ slap_acl_mask(
|
|||
const char *dummy;
|
||||
int rc, match = 0;
|
||||
|
||||
ACL_RECORD_VALUE_STATE;
|
||||
|
||||
/* must have DN syntax */
|
||||
if ( desc->ad_type->sat_syntax != slap_schema.si_syn_distinguishedName &&
|
||||
!is_at_syntax( desc->ad_type, SLAPD_NAMEUID_SYNTAX )) continue;
|
||||
|
|
|
|||
Loading…
Reference in a new issue