Review Request 116881: Fix KUser::groups() and KUser::groupNames() on UNIX

Alexander Richardson arichardson.kde at googlemail.com
Tue Mar 18 20:14:18 UTC 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/116881/
-----------------------------------------------------------

Review request for KDE Frameworks.


Repository: kcoreaddons


Description
-------

Fix KUser::groups() and KUser::groupNames() on UNIX

If available we use getgrouplist() which returns all group IDs.
Otherwise we fall back to using getgrent() and checking whether gr_mem
contains the user. For some reason gr_mem doesn't usally contain the
users primary gid, so we add the corresponding struct group for that gid
as well.


Diffs
-----

  src/lib/CMakeLists.txt 73f28a8a3acda8449a3aee3b025e2b165722b998 
  src/lib/util/config-getgrouplist.h.cmake PRE-CREATION 
  src/lib/util/kuser_unix.cpp 0e0720dbb614015d6d568b39da3cab77cece76a8 

Diff: https://git.reviewboard.kde.org/r/116881/diff/


Testing
-------

Returns more groups now, should fix KUserTest::testKUser() on build.kde.org


File Attachments
----------------

Group list before
  https://git.reviewboard.kde.org/media/uploaded/files/2014/03/18/37d6d8ca-f33a-4345-873c-2e4be0daba00__grouplist_getgrent_old.txt
New group list (with getgrouplist())
  https://git.reviewboard.kde.org/media/uploaded/files/2014/03/18/2cdf3e77-cd1e-4bfc-b49b-646947bf79c1__grouplist_getgrouplist.txt
New Group list (with getgrent())
  https://git.reviewboard.kde.org/media/uploaded/files/2014/03/18/ecef5bf6-b8bd-4675-a6e2-838f23615037__grouplist_getgrent_new.txt
 old user->groups result (getgrent)
  https://git.reviewboard.kde.org/media/uploaded/files/2014/03/18/86c5e986-8098-4c50-809c-bc3e7851447a__grouplist_getgrent_old.txt
new user->groups result (getgrouplist)
  https://git.reviewboard.kde.org/media/uploaded/files/2014/03/18/59f4ecda-5c1d-4bdc-a8ec-850de761e3a3__grouplist_getgrouplist.txt
new user->groups result (getgrent + current gid)
  https://git.reviewboard.kde.org/media/uploaded/files/2014/03/18/39d0172d-f6c8-400e-8af0-0c4aace8f7a1__grouplist_getgrent_new.txt


Thanks,

Alexander Richardson

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20140318/d7635ffa/attachment.html>


More information about the Kde-frameworks-devel mailing list