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:52:30 UTC

svn commit: r944630 - /trafficserver/traffic/trunk/proxy/mgmt2/cop/TrafficCop.cc

Author: mturk
Date: Sat May 15 12:52:30 2010
New Revision: 944630

URL: http://svn.apache.org/viewvc?rev=944630&view=rev
Log:
Allow numeric user_id. Hopefully the last one to chase down

Modified:
    trafficserver/traffic/trunk/proxy/mgmt2/cop/TrafficCop.cc

Modified: trafficserver/traffic/trunk/proxy/mgmt2/cop/TrafficCop.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/mgmt2/cop/TrafficCop.cc?rev=944630&r1=944629&r2=944630&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/mgmt2/cop/TrafficCop.cc (original)
+++ trafficserver/traffic/trunk/proxy/mgmt2/cop/TrafficCop.cc Sat May 15 12:52:30 2010
@@ -180,7 +180,19 @@ cop_log(int priority, const char *format
 void
 chown_file_to_user(const char *file, const char *user)
 {
-  struct passwd *pwd = getpwnam(user);
+  struct passwd *pwd = NULL;
+
+  if (user && *user) {
+    if (*user == '#') {
+      int uid = atoi(user + 1);
+      if (uid == -1)
+        uid = (int)getuid();
+      pwd = getpwuid((int)uid);
+    }
+    else {
+      pwd = getpwnam(user);
+    }
+  }
   if (pwd) {
     if (chown(file, pwd->pw_uid, pwd->pw_gid) < 0) {
       //cop_log(COP_FATAL, "cop couldn't chown the  file: %s\n", file);