(file) Return to SystemVms.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/SystemVms.cpp between version 1.18 and 1.19

version 1.18, 2006/01/30 16:17:08 version 1.19, 2006/04/19 19:39:24
Line 674 
Line 674 
  
 #endif #endif
  
 Boolean System::changeUserContext(const char *userName)  Boolean System::lookupUserId(
       const char* userName,
       PEGASUS_UID_T& uid,
       PEGASUS_GID_T& gid)
 { {
   const unsigned int PWD_BUFF_SIZE = 1024;   const unsigned int PWD_BUFF_SIZE = 1024;
   struct passwd pwd;   struct passwd pwd;
Line 697 
Line 700 
     return false;     return false;
   }   }
  
     uid = pwd.pw_uid;
     gid = pwd.pw_gid;
   
     return true;
   }
   
   Boolean System::changeUserContext(
       const PEGASUS_UID_T& uid,
       const PEGASUS_GID_T& gid)
   {
   Tracer::trace(TRC_OS_ABSTRACTION, Tracer::LEVEL4,   Tracer::trace(TRC_OS_ABSTRACTION, Tracer::LEVEL4,
         "Changing user context to: uid = %d, gid = %d",         "Changing user context to: uid = %d, gid = %d",
         (int) pwd.pw_uid, (int) pwd.pw_gid);          (int) uid, (int) gid);
  
   if (setgid(pwd.pw_gid) != 0)    if (setgid(gid) != 0)
   {   {
     PEG_TRACE_STRING(TRC_OS_ABSTRACTION, Tracer::LEVEL2,     PEG_TRACE_STRING(TRC_OS_ABSTRACTION, Tracer::LEVEL2,
                      String("setgid failed: ") + String(strerror(errno)));                      String("setgid failed: ") + String(strerror(errno)));
     return false;     return false;
   }   }
  
   if (setuid(pwd.pw_uid) != 0)    if (setuid(uid) != 0)
   {   {
     PEG_TRACE_STRING(TRC_OS_ABSTRACTION, Tracer::LEVEL2,     PEG_TRACE_STRING(TRC_OS_ABSTRACTION, Tracer::LEVEL2,
                      String("setuid failed: ") + String(strerror(errno)));                      String("setuid failed: ") + String(strerror(errno)));


Legend:
Removed from v.1.18  
changed lines
  Added in v.1.19

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2