Skip to content
This repository was archived by the owner on Mar 10, 2026. It is now read-only.

Lookup groups using group->gr_mem even if getgrouplist() failed#5613

Closed
manu0401 wants to merge 1 commit into
apple:masterfrom
manu0401:group
Closed

Lookup groups using group->gr_mem even if getgrouplist() failed#5613
manu0401 wants to merge 1 commit into
apple:masterfrom
manu0401:group

Conversation

@manu0401

Copy link
Copy Markdown

getgrouplist() iterate on each group, searching if the user
is included, while group->gr_mem iterated on user list for
the target group. In some case the former method can miss
the result while the later will succeed. This is the case
for OpenLDAP dyngroup, where the group members are automatically
generated on group search. Searching by group member gives no
result, while searching the member of a given groups is fine.

getgrouplist() iterate on each group, searching if the user
is included, while group->gr_mem iterated on user list for
the target group. In some case the former method can miss
the result while the later will succeed. This is the case
for OpenLDAP dyngroup, where the group members are automatically
generated on group search. Searching by group member gives no
result, while searching the member of a given groups is fine.
@michaelrsweet

Copy link
Copy Markdown
Contributor

Will consider this, although I am definitely not super happy about the inconsistency...

@michaelrsweet

Copy link
Copy Markdown
Contributor

I reworked this change to move the membership list check up front, followed by the getgrouplist check. We already have the list of usernames that are members, so this made more sense than checking after the (semi-expensive) getgrouplist check.

[master 3c27d2a] Always check the group membership list (Issue #5613)

[branch-2.2 666d076] Always check the group membership list (Issue #5613)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants