#1254 SSSD should take advantage of the 'memberindirect' attribute in FreeIPA
Closed: Fixed Opened by sgallagh.

Performing a group lookup against FreeIPA servers is extremely expensive, especially when nested groups are in play. However, FreeIPA now has an attribute {{{memberindirect}}} on groups that includes all users that are members of child groups.

We could significantly improve our group lookup performance against FreeIPA by reading the {{{memberindirect}}} object instead of actually proceeding through nested group lookups.

We can also speed up the saving of groups by taking a bit of a cheap shortcut. We know that the user and group names in FreeIPA are guaranteed to have a particular format (users will always be in the cn=Users,cn=Accounts subtree, groups in cn=Groups) so we can ignore groups and just construct usernames from the DNs of the {{{member}}} and {{{memberindirect}}} attributes of the group.


For the record, Rob Crittenden confirmed for me that 'memberindirect' has been available since FreeIPA 2.0.0, so we don't need to conditionalize this.

It turns out that memberindirect doesn't actually exist.

For that matter, we should be able to manage just fine with a single lookup involving memberOf anyway.

resolution: => cantfix
status: new => closed

Fields changed

milestone: NEEDS_TRIAGE =>

Fields changed

rhbz: => 0

SSSD is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in SSSD's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/SSSD/sssd/issues/2296

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata