Change-Id: Id1317cca5055590f708b00170c2b62e6c46bc4f8
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
return -1;
}
+ boost::optional<bool> is_admin_user =
+ IsAdminUser(pkgmgr_installer_get_uid(pi_));
+ if (!is_admin_user) {
+ LOG(ERROR) << "Cannot get admin user info. Aborting.";
+ return -1;
+ }
+
// Set target uid as tizenglobalapp if admin user's request
- if (IsAdminUser(pkgmgr_installer_get_uid(pi_))) {
+ if (*is_admin_user) {
result = pkgmgr_installer_set_uid(pi_, kGlobalUserUid);
if (result) {
LOG(ERROR) << "Failed to set global uid";
return list;
}
-bool IsAdminUser(uid_t uid) {
+boost::optional<bool> IsAdminUser(uid_t uid) {
GumUser* guser;
int count = 0;
bool is_offline = getuid() == 0;
usleep(kRetryDelay);
} while (count < kRetryMax);
if (!guser)
- return false;
+ return {};
GumUserType ut;
g_object_get(G_OBJECT(guser), "usertype", &ut, NULL);
bool is_admin;
typedef std::vector<std::tuple<uid_t, gid_t, bf::path>> UserList;
UserList GetUserList();
-bool IsAdminUser(uid_t uid);
+boost::optional<bool> IsAdminUser(uid_t uid);
boost::optional<gid_t> GetGidByUid(uid_t uid);
std::string GetGroupNameByGid(gid_t gid);
std::string GetUsernameByUid(uid_t user);