RE23 seems to still need these ACL states

This commit is contained in:
Howard Chu 2006-07-09 22:23:14 +00:00
parent 86f1f7e047
commit 9a35796594

View file

@ -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;