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

Diff for /pegasus/src/Pegasus/Common/SystemUnix.cpp between version 1.73.2.5 and 1.74

version 1.73.2.5, 2004/04/26 13:33:27 version 1.74, 2004/03/30 15:29:57
Line 52 
Line 52 
 #include <dirent.h> #include <dirent.h>
 #include <pwd.h> #include <pwd.h>
  
 #if defined(PEGASUS_OS_SOLARIS)  
 #include <string.h>  
 #endif  
 #include <errno.h>  
   
 #if !defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) && !defined(PEGASUS_PLATFORM_OS400_ISERIES_IBM) #if !defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) && !defined(PEGASUS_PLATFORM_OS400_ISERIES_IBM)
 #include <crypt.h> #include <crypt.h>
 #endif #endif
Line 567 
Line 562 
  
 String System::getSystemCreationClassName () String System::getSystemCreationClassName ()
 { {
   #ifdef PEGASUS_OS_HPUX
     return "CIM_ComputerSystem";     return "CIM_ComputerSystem";
   #else
       //
       //  ATTN: Implement this method to return the system creation class name
       //
       return String::EMPTY;
   #endif
 } }
  
 Uint32 System::lookupPort( Uint32 System::lookupPort(
Line 634 
Line 636 
     const unsigned int PWD_BUFF_SIZE = 1024;     const unsigned int PWD_BUFF_SIZE = 1024;
     struct passwd       local_pwd;     struct passwd       local_pwd;
     char                buf[PWD_BUFF_SIZE];     char                buf[PWD_BUFF_SIZE];
       if(getpwuid_r(geteuid(), &local_pwd, buf, PWD_BUFF_SIZE, &pwd)) {
     if(getpwuid_r(geteuid(), &local_pwd, buf, PWD_BUFF_SIZE, &pwd) != 0)          pwd = (struct passwd *)NULL;
     {  
         String errorMsg = String("getpwuid_r failure : ") +  
                             String(strerror(errno));  
         Tracer::PEG_TRACE_STRING (TRC_OS_ABSTRACTION, Tracer::LEVEL2,  
                                   errorMsg);  
         // l10n TODO - Need to add this message  
         //Logger::put(Logger::STANDARD_LOG, "CIMServer", Logger::WARNING,  
         //                          errorMsg);  
         return userName;  
     }     }
 #else #else
     //     //
Line 654 
Line 647 
 #endif #endif
     if ( pwd == NULL )     if ( pwd == NULL )
     {     {
          // l10n TODO - Need to add this message          //ATTN: Log a message
          // Logger::put(Logger::STANDARD_LOG, "CIMServer", Logger::WARNING,          // "User might have been removed just after login"
          //    "getpwuid_r failure, user may have been removed just after login");  
          Tracer::trace (TRC_OS_ABSTRACTION, Tracer::LEVEL4,  
              "getpwuid_r failure, user may have been removed just after login");  
     }     }
     else     else
     {     {
Line 700 
Line 690 
     char            pwdBuffer[PWD_BUFF_SIZE];     char            pwdBuffer[PWD_BUFF_SIZE];
  
     if (getpwnam_r(userName, &pwd, pwdBuffer, PWD_BUFF_SIZE, &result) != 0)     if (getpwnam_r(userName, &pwd, pwdBuffer, PWD_BUFF_SIZE, &result) != 0)
     {  
         String errorMsg = String("getpwnam_r failure : ") +  
                             String(strerror(errno));  
         Tracer::PEG_TRACE_STRING (TRC_OS_ABSTRACTION, Tracer::LEVEL2,  
                                   errorMsg);  
         // l10n TODO - Need to add this message  
         // Logger::put(Logger::STANDARD_LOG, "CIMServer", Logger::WARNING,  
         //                           errorMsg);  
         return false;  
     }  
     if (result == NULL)  
     {  
         return false;  
     }  
 #else #else
     //     //
     //  get the password entry for the user     //  get the password entry for the user
     //     //
     if  ( getpwnam(userName) == NULL )     if  ( getpwnam(userName) == NULL )
   #endif
     {     {
 #if defined(PEGASUS_OS_OS400) #if defined(PEGASUS_OS_OS400)
         EtoA((char *)userName);         EtoA((char *)userName);
 #endif #endif
         return false;         return false;
     }     }
 #endif  
 #if defined(PEGASUS_OS_OS400) #if defined(PEGASUS_OS_OS400)
     EtoA((char *)userName);     EtoA((char *)userName);
 #endif #endif
Line 740 
Line 716 
 #if !defined(PEGASUS_OS_OS400) #if !defined(PEGASUS_OS_OS400)
     struct passwd   pwd;     struct passwd   pwd;
     struct passwd   *result;     struct passwd   *result;
     const unsigned int PWD_BUFF_SIZE = 1024;      char            pwdBuffer[1024];
     char            pwdBuffer[PWD_BUFF_SIZE];  
   
     if (getpwnam_r(userName.getCString(), &pwd, pwdBuffer, PWD_BUFF_SIZE, &result) != 0)  
     {  
         String errorMsg = String("getpwnam_r failure : ") +  
                             String(strerror(errno));  
         Tracer::PEG_TRACE_STRING (TRC_OS_ABSTRACTION, Tracer::LEVEL2,  
                                   errorMsg);  
         // l10n TODO - Need to add this message  
         //Logger::put(Logger::STANDARD_LOG, "CIMServer", Logger::WARNING,  
         //                          errorMsg);  
         return false;  
     }  
  
     // Check if the requested entry was found. If not return false.      if (getpwnam_r(userName.getCString(), &pwd, pwdBuffer, 1024, &result) == 0)
     if ( result != NULL )  
     {     {
         // Check if the uid is 0.  
         if ( pwd.pw_uid == 0 )         if ( pwd.pw_uid == 0 )
         {         {
             return true;             return true;
         }         }
     }     }
     return false;     return false;
   
 #else #else
     CString user = userName.getCString();     CString user = userName.getCString();
     const char * tmp = (const char *)user;     const char * tmp = (const char *)user;
Line 787 
Line 747 
         const unsigned int PWD_BUFF_SIZE = 1024;         const unsigned int PWD_BUFF_SIZE = 1024;
         struct passwd   local_pwd;         struct passwd   local_pwd;
         char            buf[PWD_BUFF_SIZE];         char            buf[PWD_BUFF_SIZE];
           if(getpwuid_r(0, &local_pwd, buf, PWD_BUFF_SIZE, &pwd)) {
         if(getpwuid_r(0, &local_pwd, buf, PWD_BUFF_SIZE, &pwd) != 0)                  pwd = (struct passwd *)NULL;
         {  
             String errorMsg = String("getpwuid_r failure : ") +  
                             String(strerror(errno));  
             Tracer::PEG_TRACE_STRING (TRC_OS_ABSTRACTION, Tracer::LEVEL2,  
                                   errorMsg);  
             // l10n TODO - Need to add this message  
             // Logger::put(Logger::STANDARD_LOG, "CIMServer", Logger::WARNING,  
             //                      errorMsg);  
             return userName;  
         }         }
 #else #else
         //         //
Line 818 
Line 769 
         }         }
         else         else
         {         {
             Tracer::trace (TRC_OS_ABSTRACTION, Tracer::LEVEL4,  
                        "Could not find entry.");  
             PEGASUS_ASSERT(0);             PEGASUS_ASSERT(0);
         }         }
     }     }
Line 899 
Line 848 
  
 void System::openlog(const String ident) void System::openlog(const String ident)
 { {
 #if defined(PEGASUS_OS_HPUX) || defined(PEGASUS_PLATFORM_LINUX_GENERIC_GNU)  #if defined(PEGASUS_OS_HPUX) || defined(PEGASUS_PLATFORM_LINUX_IA64_GNU)
   
     // ATTN: Hard-code the "cimserver" identifier until the infrastructure     // ATTN: Hard-code the "cimserver" identifier until the infrastructure
     // is set up to pass this as the "ident" string.     // is set up to pass this as the "ident" string.
     //::openlog(ident.getCString(), LOG_PID|LOG_CONS, LOG_DAEMON);     //::openlog(ident.getCString(), LOG_PID|LOG_CONS, LOG_DAEMON);
Line 912 
Line 862 
  
 void System::syslog(Uint32 severity, const char *data) void System::syslog(Uint32 severity, const char *data)
 { {
 #if defined(PEGASUS_OS_HPUX) || defined(PEGASUS_PLATFORM_LINUX_GENERIC_GNU)  #if defined(PEGASUS_OS_HPUX) || defined(PEGASUS_PLATFORM_LINUX_IA64_GNU)
  
     // FUTURE-SF-P3-20020517 : Use the Syslog on HP-UX. Eventually only     // FUTURE-SF-P3-20020517 : Use the Syslog on HP-UX. Eventually only
     // certain messages will go to the Syslog and others to the     // certain messages will go to the Syslog and others to the
Line 978 
Line 928 
  
 void System::closelog() void System::closelog()
 { {
 #if defined(PEGASUS_OS_HPUX) || defined(PEGASUS_PLATFORM_LINUX_GENERIC_GNU)  #if defined(PEGASUS_OS_HPUX) || defined(PEGASUS_PLATFORM_LINUX_IA64_GNU)
  
     ::closelog();     ::closelog();
  


Legend:
Removed from v.1.73.2.5  
changed lines
  Added in v.1.74

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2