diff --git a/src/various/drop_permissions.cc b/src/various/drop_permissions.cc index bb3a7ae..7860ca0 100644 --- a/src/various/drop_permissions.cc +++ b/src/various/drop_permissions.cc @@ -11,6 +11,7 @@ #include #include +#include #include #include @@ -27,7 +28,9 @@ drop_permissions(EixRc &eix) bool set_gid(true); gid_t gid; const string &group(eix["EIX_GROUP"]); +cout << "\nEIX_GROUP: " << group << "\n"; if(group.empty() || (get_uid_of(group.c_str(), &gid) == 0)) { +cout << "Group is bad\n"; gid_t i(eix.getInteger("EIX_GID")); if(i > 0) { gid = i; @@ -38,19 +41,21 @@ drop_permissions(EixRc &eix) } if(set_gid) { #ifdef HAVE_SETGID - setgid(gid); +cout << "setgid(" << gid << "): " << setgid(gid) << "\n"; #endif #ifdef HAVE_SETEGID - setegid(gid); +cout << "setegid(" << gid << "): " << setegid(gid) << "\n"; #endif #ifdef HAVE_SETGROUPS - setgroups(1, &gid); +cout << "setgroups(1, &" << gid << "): " << setgroups(1, &gid) << "\n"; #endif } bool set_uid(true); uid_t uid; const string &user(eix["EIX_USER"]); +cout << "EIX_USER: " << user << "\n"; if(user.empty() || !get_uid_of(user.c_str(), &uid)) { +cout << "User is bad\n"; uid_t i(eix.getInteger("EIX_UID")); if(i > 0) { uid = i; @@ -62,17 +67,19 @@ drop_permissions(EixRc &eix) #ifdef HAVE_INITGROUPS else { if(set_gid) { - initgroups(user.c_str(), gid); +cout << "initgroups(" << user.c_str() << ", " << gid << "): " << + initgroups(user.c_str(), gid) << "\n"; } } #endif if(set_uid) { #ifdef HAVE_SETUID - setuid(uid); +cout << "setuid(" << uid << "): " << setuid(uid) << "\n"; #endif #ifdef HAVE_SETEUID - seteuid(uid); +cout << "seteuid(" << uid << "): " << seteuid(uid) << "\n"; #endif } +cout << endl; }