Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:dirkmueller:acdc:as_python3_module
shadow.8622
shadow-4.1.5.1-pam_group.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File shadow-4.1.5.1-pam_group.patch of Package shadow.8622
Date: Thu Apr 6 16:04:17 CEST 2017 Bug: bnc#1031643 Upstream: https://github.com/shadow-maint/shadow/pull/74 dynamically added users via pam_group are not listed in groups databases but are still valid. Index: shadow-4.1.5.1/src/newgrp.c =================================================================== --- shadow-4.1.5.1.orig/src/newgrp.c +++ shadow-4.1.5.1/src/newgrp.c @@ -372,6 +372,7 @@ int main (int argc, char **argv) { bool initflag = false; int i; + bool is_member = false; bool cflag = false; int err = 0; gid_t gid; @@ -610,6 +611,18 @@ int main (int argc, char **argv) goto failure; } +#ifdef HAVE_SETGROUPS + /* when using pam_group, she will not be listed in the groups + * database. However getgroups() will return the group. So + * if she is listed there already it is ok to grant membership. + */ + for (i = 0; i < ngroups; i++) { + if (grp->gr_gid == grouplist[i]) { + is_member = true; + break; + } + } +#endif /* HAVE_SETGROUPS */ /* * For splitted groups (due to limitations of NIS), check all * groups of the same GID like the requested group for @@ -638,7 +651,9 @@ int main (int argc, char **argv) /* * Check if the user is allowed to access this group. */ - check_perms (grp, pwd, group); + if (!is_member) { + check_perms (grp, pwd, group); + } /* * all successful validations pass through this point. The group id
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor