mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-24 08:39:37 -05:00
ITS#9121 don't process nested memberOf if memberOf wasn't requested
This commit is contained in:
parent
e322ad7999
commit
c1912fb7af
1 changed files with 15 additions and 12 deletions
|
|
@ -1715,27 +1715,30 @@ dynlist_search( Operation *op, SlapReply *rs )
|
|||
|
||||
/* if attribute is not requested, skip it */
|
||||
if ( op->ors_attrs == NULL ) {
|
||||
if ( !dlm->dlm_memberOf_oper )
|
||||
if ( !dlm->dlm_memberOf_oper ) {
|
||||
want |= WANT_MEMBEROF;
|
||||
if ( dlm->dlm_memberOf_nested && !dlm->dlm_member_oper )
|
||||
want |= WANT_MEMBER;
|
||||
if ( dlm->dlm_memberOf_nested && !dlm->dlm_member_oper )
|
||||
want |= WANT_MEMBER;
|
||||
}
|
||||
} else {
|
||||
if ( ad_inlist( dlm->dlm_memberOf_ad, op->ors_attrs ))
|
||||
if ( ad_inlist( dlm->dlm_memberOf_ad, op->ors_attrs )) {
|
||||
want |= WANT_MEMBEROF;
|
||||
if ( dlm->dlm_memberOf_nested && ad_inlist( dlm->dlm_member_ad, op->ors_attrs )) {
|
||||
want |= WANT_MEMBER;
|
||||
if ( dlm->dlm_memberOf_nested && ad_inlist( dlm->dlm_member_ad, op->ors_attrs ))
|
||||
want |= WANT_MEMBER;
|
||||
} else {
|
||||
if ( opattrs ) {
|
||||
if ( dlm->dlm_memberOf_oper )
|
||||
if ( dlm->dlm_memberOf_oper ) {
|
||||
want |= WANT_MEMBEROF;
|
||||
if ( dlm->dlm_memberOf_nested && dlm->dlm_member_oper )
|
||||
want |= WANT_MEMBER;
|
||||
if ( dlm->dlm_memberOf_nested && dlm->dlm_member_oper )
|
||||
want |= WANT_MEMBER;
|
||||
}
|
||||
}
|
||||
if ( userattrs ) {
|
||||
if ( !dlm->dlm_memberOf_oper )
|
||||
if ( !dlm->dlm_memberOf_oper ) {
|
||||
want |= WANT_MEMBEROF;
|
||||
if ( dlm->dlm_memberOf_nested && !dlm->dlm_member_oper )
|
||||
want |= WANT_MEMBER;
|
||||
if ( dlm->dlm_memberOf_nested && !dlm->dlm_member_oper )
|
||||
want |= WANT_MEMBER;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue