[Bug 220779] getgroups result is affected by setegid

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[Bug 220779] getgroups result is affected by setegid

bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=220779

            Bug ID: 220779
           Summary: getgroups result is affected by setegid
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: standards
          Assignee: [hidden email]
          Reporter: [hidden email]

On FreeBSD, the groups applicable to a process are stored in an array with the
egid in [0] and and zero or more (not necessarily distinct) additional gids in
sorted order.

The setgid, setegid, and setregid functions change the egid of a process, but
the process's supplementary group ids are to remain unchanged. Since getgroups,
which claims to conform to IEEE Std 1003.1-2008 (“POSIX.1”), is defined to fill
its second argument with calling process's supplementary group ids, so its
output must not include the egid, which is changed by setgid &c.. The current
implementation fills the second argument with the entire groups array, which
does include the egid in [0].

- "The setgid() function shall not affect the supplementary group list in any
way. Any supplementary group IDs of the calling process shall remain
unchanged."
- "The setegid() function shall not affect the supplementary group list in any
way."
- (ditto for setregid)
- "The getgroups() function shall fill in the array grouplist with the current
supplementary group IDs of the calling process. It is implementation-defined
whether getgroups() also returns the effective group ID in the grouplist
array."
- "A process has up to {NGROUPS_MAX} supplementary group IDs in addition to the
effective group ID."

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-standards
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[Bug 220779] getgroups result is affected by setegid

bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=220779

--- Comment #1 from Michael Zuo <[hidden email]> ---
Created attachment 184407
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=184407&action=edit
test case demonstrating the behaviour

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-standards
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[Bug 220779] getgroups result is affected by setegid

bugzilla-noreply
In reply to this post by bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=220779

--- Comment #2 from Michael Zuo <[hidden email]> ---
(In reply to Michael Zuo from comment #1)
Expected output:
0 5 egid=0
0 5 egid=1

Actual output:
0 5 egid=0
1 5 egid=1

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-standards
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Bug 220779] getgroups result is affected by setegid

Bruce Evans-4
In reply to this post by bugzilla-noreply
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-standards
To unsubscribe, send any mail to "[hidden email]"
Loading...