[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE_3_2_BRANCH: kdelibs/kdecore
From: Waldo Bastian <bastian () kde ! org>
Date: 2004-09-13 12:38:26
Message-ID: 20040913123826.D534C98DB () office ! kde ! org
[Download RAW message or body]
CVS commit by waba:
KIOSK: Fix group-based profile lookup
M +18 -8 kstandarddirs.cpp 1.168.2.6
--- kdelibs/kdecore/kstandarddirs.cpp #1.168.2.5:1.168.2.6
@@ -1264,4 +1264,7 @@ static QStringList lookupProfiles(const
QCString user = pw->pw_name;
+ gid_t sup_gids[512];
+ int sup_gids_nr = getgroups(512, sup_gids);
+
KSimpleConfig mapCfg(mapFile, true);
mapCfg.setGroup("Users");
@@ -1284,9 +1287,15 @@ static QStringList lookupProfiles(const
struct group *grp_ent = getgrnam(grp);
if (!grp_ent) continue;
-
- char ** members = grp_ent->gr_mem;
- for(char * member; (member = *members); ++members)
+ int gid = grp_ent->gr_gid;
+ if (pw->pw_gid == gid)
{
- if (user == member)
+ // User is in this group --> add profiles
+ profiles += mapCfg.readListEntry(*it);
+ }
+ else
+ {
+ for(int i = 0; i < sup_gids_nr; i++)
+ {
+ if (sup_gids[i] == gid)
{
// User is in this group --> add profiles
@@ -1296,4 +1305,5 @@ static QStringList lookupProfiles(const
}
}
+ }
if (profiles.isEmpty())
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic