You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by mt...@apache.org on 2010/05/15 12:07:28 UTC
svn commit: r944608 - /trafficserver/traffic/trunk/proxy/Main.cc
Author: mturk
Date: Sat May 15 10:07:28 2010
New Revision: 944608
URL: http://svn.apache.org/viewvc?rev=944608&view=rev
Log:
Check for user_id=#-1 before calling change_uid_gid()
Modified:
trafficserver/traffic/trunk/proxy/Main.cc
Modified: trafficserver/traffic/trunk/proxy/Main.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/Main.cc?rev=944608&r1=944607&r2=944608&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/Main.cc (original)
+++ trafficserver/traffic/trunk/proxy/Main.cc Sat May 15 10:07:28 2010
@@ -1660,10 +1660,6 @@ change_uid_gid(const char *user)
#endif
if (geteuid()) {
- if (strcmp(user, "#-1") == 0) {
- // User was not specified
- return;
- }
// We cannot change user if not running as root
ink_fatal_die("Can't change user to : %s, because not running as root",
user);
@@ -1671,15 +1667,8 @@ change_uid_gid(const char *user)
else {
if (user[0] == '#') {
// numeric user notation
- int uid = atoi(&user[1]);
- if (uid == -1) {
- // TODO: proxy.config.admin.user_id=#-1 is the same specifying no user?
-#if !defined(__GNUC__)
- xfree(buf);
-#endif
- return;
- }
- getpwuid_r((uid_t)uid, &pwbuf, buf, buflen, &pwbufp);
+ uid_t uid = (uid_t)atoi(&user[1]);
+ getpwuid_r(uid, &pwbuf, buf, buflen, &pwbufp);
}
else {
// read the entry from the passwd file
@@ -2202,7 +2191,10 @@ main(int argc, char **argv)
// change the user of the process
char user[_POSIX_LOGIN_NAME_MAX] = "\0";
- if ((TS_ReadConfigString(user, "proxy.config.admin.user_id", sizeof(user)) == REC_ERR_OKAY) && user[0] != '\0') {
+ if ((TS_ReadConfigString(user, "proxy.config.admin.user_id",
+ sizeof(user)) == REC_ERR_OKAY) &&
+ user[0] != '\0' &&
+ strcmp(user, "#-1")) {
change_uid_gid(user);
}