mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-24 13:24:56 +08:00
do not add hasSubordinates if already present (fixes ITS#6712 for back-bdb/hdb, other backends may need work)
This commit is contained in:
parent
1ed2d0a485
commit
40831ba54f
@ -124,11 +124,16 @@ bdb_operational(
|
|||||||
|
|
||||||
assert( rs->sr_entry != NULL );
|
assert( rs->sr_entry != NULL );
|
||||||
|
|
||||||
for ( ap = &rs->sr_operational_attrs; *ap; ap = &(*ap)->a_next )
|
for ( ap = &rs->sr_operational_attrs; *ap; ap = &(*ap)->a_next ) {
|
||||||
/* just count */ ;
|
if ( (*ap)->a_desc == slap_schema.si_ad_hasSubordinates ) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ( SLAP_OPATTRS( rs->sr_attr_flags ) ||
|
if ( *ap == NULL &&
|
||||||
ad_inlist( slap_schema.si_ad_hasSubordinates, rs->sr_attrs ) )
|
attr_find( rs->sr_entry->e_attrs, slap_schema.si_ad_hasSubordinates ) == NULL &&
|
||||||
|
( SLAP_OPATTRS( rs->sr_attr_flags ) ||
|
||||||
|
ad_inlist( slap_schema.si_ad_hasSubordinates, rs->sr_attrs ) ) )
|
||||||
{
|
{
|
||||||
int hasSubordinates, rc;
|
int hasSubordinates, rc;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user