don't list (other) structural classes

This commit is contained in:
Pierangelo Masarati 2007-01-11 20:57:43 +00:00
parent 53d6d3c957
commit aba0eacaee

View file

@ -198,7 +198,8 @@ dynlist_sc_update( Operation *op, SlapReply *rs )
for ( a = rs->sr_entry->e_attrs; a != NULL; a = a->a_next ) {
BerVarray vals, nvals = NULL;
int i, j;
int i, j,
is_oc = a->a_desc == slap_schema.si_ad_objectClass;
/* if attribute is not requested, skip it */
if ( rs->sr_attrs == NULL ) {
@ -247,6 +248,14 @@ dynlist_sc_update( Operation *op, SlapReply *rs )
}
for ( i = 0, j = 0; !BER_BVISNULL( &a->a_vals[i] ); i++ ) {
if ( is_oc ) {
ObjectClass *soc = oc_bvfind( &a->a_vals[i] );
if ( soc->soc_kind == LDAP_SCHEMA_STRUCTURAL ) {
continue;
}
}
if ( access_allowed( op, rs->sr_entry, a->a_desc,
&a->a_nvals[i], ACL_READ, &acl_state ) )
{