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);