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 14:33:03 UTC

svn commit: r944627 - /trafficserver/traffic/trunk/proxy/mgmt2/Main.cc

Author: mturk
Date: Sat May 15 12:33:02 2010
New Revision: 944627

URL: http://svn.apache.org/viewvc?rev=944627&view=rev
Log:
Allow manager to use the numeric user ids. Supplying #-1 will use the calee uid

Modified:
    trafficserver/traffic/trunk/proxy/mgmt2/Main.cc

Modified: trafficserver/traffic/trunk/proxy/mgmt2/Main.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/mgmt2/Main.cc?rev=944627&r1=944626&r2=944627&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/mgmt2/Main.cc (original)
+++ trafficserver/traffic/trunk/proxy/mgmt2/Main.cc Sat May 15 12:33:02 2010
@@ -1476,7 +1476,16 @@ runAsUser(char *userName)
     struct passwd passwdInfo;
     struct passwd *ppasswd = NULL;
     result = NULL;
-    int res = getpwnam_r(&userName[0], &passwdInfo, buf, bufSize, &ppasswd);
+    int res;
+    if (*userName == '#') {
+      int uuid = atoi(userName + 1);
+      if (uuid == -1)
+        uuid = (int)uid;
+      res = getpwuid_r((uid_t)uuid, &passwdInfo, buf, bufSize, &ppasswd);
+    }
+    else {
+      res = getpwnam_r(&userName[0], &passwdInfo, buf, bufSize, &ppasswd);
+    }
 
     if (!res && ppasswd) {
       result = ppasswd;