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

Diff for /pegasus/src/Server/cimserver.cpp between version 1.131 and 1.138

version 1.131, 2004/02/09 21:39:44 version 1.138, 2004/07/22 23:13:11
Line 112 
Line 112 
 #include <Pegasus/Config/ConfigManager.h> #include <Pegasus/Config/ConfigManager.h>
 #include <Pegasus/Client/CIMClient.h> #include <Pegasus/Client/CIMClient.h>
 #include <Pegasus/Server/ShutdownService.h> #include <Pegasus/Server/ShutdownService.h>
 #include <Pegasus/Common/Destroyer.h>  
  
 PEGASUS_USING_PEGASUS; PEGASUS_USING_PEGASUS;
 PEGASUS_USING_STD; PEGASUS_USING_STD;
  
 int cimserver_run( int argc, char** argv, Boolean shutdownOption ); int cimserver_run( int argc, char** argv, Boolean shutdownOption );
  
   Uint32 parentPid = 0;
   
 #if defined(PEGASUS_OS_TYPE_WINDOWS) #if defined(PEGASUS_OS_TYPE_WINDOWS)
 # include "cimserver_windows.cpp" # include "cimserver_windows.cpp"
 #elif defined(PEGASUS_OS_TYPE_UNIX) #elif defined(PEGASUS_OS_TYPE_UNIX)
Line 239 
Line 240 
     usage.append ("    -v              - displays CIM Server version number\n");     usage.append ("    -v              - displays CIM Server version number\n");
     usage.append ("    -h              - prints this help message\n");     usage.append ("    -h              - prints this help message\n");
     usage.append ("    -s              - shuts down CIM Server\n");     usage.append ("    -s              - shuts down CIM Server\n");
 #if !defined(PEGASUS_OS_HPUX) && !defined(PEGASUS_PLATFORM_LINUX_IA64_GNU)  #if !defined(PEGASUS_USE_RELEASE_DIRS)
     usage.append ("    -D [home]       - sets pegasus home directory\n");     usage.append ("    -D [home]       - sets pegasus home directory\n");
 #endif #endif
 #if defined(PEGASUS_OS_TYPE_WINDOWS) #if defined(PEGASUS_OS_TYPE_WINDOWS)
Line 276 
Line 277 
     usage.append ("    -v              - displays CIM Server version number\n");     usage.append ("    -v              - displays CIM Server version number\n");
     usage.append ("    -h              - prints this help message\n");     usage.append ("    -h              - prints this help message\n");
     usage.append ("    -s              - shuts down CIM Server\n");     usage.append ("    -s              - shuts down CIM Server\n");
 #if !defined(PEGASUS_OS_HPUX) && !defined(PEGASUS_PLATFORM_LINUX_IA64_GNU)  #if !defined(PEGASUS_USE_RELEASE_DIRS)
     //usage.append ("    -D [home]       - sets pegasus home directory\n");      usage.append ("    -D [home]       - sets pegasus home directory\n");
     usage.append("$0");  
 #endif #endif
 #if defined(PEGASUS_OS_TYPE_WINDOWS) #if defined(PEGASUS_OS_TYPE_WINDOWS)
     usage.append ("    -install [name] - installs pegasus as a Windows NT Service\n");     usage.append ("    -install [name] - installs pegasus as a Windows NT Service\n");
Line 307 
Line 307 
  
 #if defined(PEGASUS_OS_TYPE_WINDOWS) #if defined(PEGASUS_OS_TYPE_WINDOWS)
     MessageLoaderParms parms("src.Server.cimserver.MENU.WINDOWS", usage);     MessageLoaderParms parms("src.Server.cimserver.MENU.WINDOWS", usage);
 #elif defined(PEGASUS_OS_HPUX) || defined(PEGASUS_PLATFORM_LINUX_IA64_GNU)  #elif defined(PEGASUS_OS_USE_RELEASE_DIRS)
         MessageLoaderParms parms("src.Server.cimserver.MENU.HPUXLINUXIA64GNU", usage);         MessageLoaderParms parms("src.Server.cimserver.MENU.HPUXLINUXIA64GNU", usage);
 #else #else
         MessageLoaderParms parms("src.Server.cimserver.MENU.STANDARD", usage);         MessageLoaderParms parms("src.Server.cimserver.MENU.STANDARD", usage);
 #endif #endif
     //cout << usage << endl;  
     cout << MessageLoader::getMessage(parms) << endl;     cout << MessageLoader::getMessage(parms) << endl;
 } }
  
Line 565 
Line 564 
     pegasusHome = OS400_DEFAULT_PEGASUS_HOME;     pegasusHome = OS400_DEFAULT_PEGASUS_HOME;
 #endif #endif
  
   
 #ifndef PEGASUS_OS_TYPE_WINDOWS #ifndef PEGASUS_OS_TYPE_WINDOWS
     //     //
     // Get environment variables:     // Get environment variables:
Line 581 
Line 581 
         pegasusHome = home;         pegasusHome = home;
     }     }
 #else #else
     #if defined(PEGASUS_OS_AIX) && defined(PEGASUS_USE_RELEASE_DIRS)
       pegasusHome = AIX_RELEASE_PEGASUS_HOME;
     #elif !defined(PEGASUS_USE_RELEASE_DIRS)
     const char* tmp = getenv("PEGASUS_HOME");     const char* tmp = getenv("PEGASUS_HOME");
  
     if (tmp)     if (tmp)
Line 588 
Line 591 
         pegasusHome = tmp;         pegasusHome = tmp;
     }     }
 #endif #endif
   #endif
  
     FileSystem::translateSlashes(pegasusHome);     FileSystem::translateSlashes(pegasusHome);
 #else #else
Line 630 
Line 634 
                     PrintHelp(argv[0]);                     PrintHelp(argv[0]);
                     exit(0);                     exit(0);
                 }                 }
 #if !defined(PEGASUS_OS_HPUX) && !defined(PEGASUS_PLATFORM_LINUX_IA64_GNU)  #if !defined(PEGASUS_USE_RELEASE_DIRS)
                 else if (*option == OPTION_HOME &&                 else if (*option == OPTION_HOME &&
                         (strlen(option) == 1))                         (strlen(option) == 1))
                 {                 {
Line 680 
Line 684 
                         (strlen(option) == 1))                         (strlen(option) == 1))
                 {                 {
                     //                     //
                     // check to see if user is root  
                     //  
 #if !defined(PEGASUS_OS_OS400) && !defined(PEGASUS_OS_ZOS)  
                     if (!System::isPrivilegedUser(System::getEffectiveUserName()))  
                     {  
                         //l10n  
                         //cout << "You must have superuser privilege to run ";  
                         //cout << "cimserver." << endl;  
                         MessageLoaderParms parms("src.Server.cimserver.SUPERVISOR_PRIVILEGE_TO_RUN_SERVER",  
                                                                          "You must have superuser privilege to run cimserver.");  
   
                         cout << MessageLoader::getMessage(parms) << endl;  
                         exit(0);  
                     }  
 #endif  
   
                     //  
                     // Check to see if shutdown has already been specified:                     // Check to see if shutdown has already been specified:
                     //                     //
                     if (shutdownOption)                     if (shutdownOption)
Line 758 
Line 745 
     // Get an instance of the Config Manager.     // Get an instance of the Config Manager.
     //     //
     configManager = ConfigManager::getInstance();     configManager = ConfigManager::getInstance();
       configManager->useConfigFiles = true;
  
 #ifdef PEGASUS_OS_OS400 #ifdef PEGASUS_OS_OS400
     // In a special startup case for IBM OS400, when the server is     // In a special startup case for IBM OS400, when the server is
Line 814 
Line 802 
         // Set the home directory, msg sub-dir, into the MessageLoader.         // Set the home directory, msg sub-dir, into the MessageLoader.
         // This will be the default directory where the resource bundles         // This will be the default directory where the resource bundles
         // are found.         // are found.
         String messagesDir = String::EMPTY;          MessageLoader::setPegasusMsgHome(ConfigManager::getHomedPath(
 #ifdef PEGASUS_PLATFORM_OS400_ISERIES_IBM                  ConfigManager::getInstance()->getCurrentValue("messageDir")));
         messagesDir = OS400_DEFAULT_MESSAGE_SOURCE;  
 #else  
         messagesDir = ConfigManager::getHomedPath("msg");  
 #endif  
         MessageLoader::setPegasusMsgHome(messagesDir);  
  
 #ifdef PEGASUS_OS_OS400 #ifdef PEGASUS_OS_OS400
     // Still need to declare and set the connection variables.     // Still need to declare and set the connection variables.
Line 832 
Line 815 
     // one of the variables is true.     // one of the variables is true.
     Boolean enableHttpConnection = false;     Boolean enableHttpConnection = false;
     Boolean enableHttpsConnection = false;     Boolean enableHttpsConnection = false;
       Boolean enableSSLExportClientVerification = false;
  
     if (os400StartupOption == false)     if (os400StartupOption == false)
     {     {
Line 839 
Line 823 
           configManager->getCurrentValue("enableHttpConnection"), "true");           configManager->getCurrentValue("enableHttpConnection"), "true");
       enableHttpsConnection = String::equal(       enableHttpsConnection = String::equal(
           configManager->getCurrentValue("enableHttpsConnection"), "true");           configManager->getCurrentValue("enableHttpsConnection"), "true");
         enableSSLExportClientVerification = String::equal(
             configManager->getCurrentValue("enableSSLExportClientVerification"), "true");
     }     }
 #else #else
     Boolean enableHttpConnection = String::equal(     Boolean enableHttpConnection = String::equal(
         configManager->getCurrentValue("enableHttpConnection"), "true");         configManager->getCurrentValue("enableHttpConnection"), "true");
     Boolean enableHttpsConnection = String::equal(     Boolean enableHttpsConnection = String::equal(
         configManager->getCurrentValue("enableHttpsConnection"), "true");         configManager->getCurrentValue("enableHttpsConnection"), "true");
       Boolean enableSSLExportClientVerification = String::equal(
           configManager->getCurrentValue("enableSSLExportClientVerification"), "true");
 #endif #endif
  
     // Make sure at least one connection is enabled     // Make sure at least one connection is enabled
Line 967 
Line 955 
  
     Uint32 portNumberHttps;     Uint32 portNumberHttps;
     Uint32 portNumberHttp;     Uint32 portNumberHttp;
       Uint32 portNumberExportHttps;
  
     if (enableHttpsConnection)     if (enableHttpsConnection)
     {     {
Line 996 
Line 985 
         portNumberHttp = System::lookupPort(WBEM_HTTP_SERVICE_NAME, port);         portNumberHttp = System::lookupPort(WBEM_HTTP_SERVICE_NAME, port);
     }     }
  
       if (enableSSLExportClientVerification)
       {
           //
           // No config property is looked up to get the default port number.
           // Lookup the port defined in /etc/services for the service name
           // wbem-exp-https and bind to that port. If the service is  not defined
           // then log a warning message and do not start the cimserver.
           //
           Uint32 port = 0;
   
           portNumberExportHttps = System::lookupPort(WBEM_EXPORT_HTTPS_SERVICE_NAME, port);
   
           if (portNumberExportHttps == 0)
           {
               Logger::put_l(Logger::STANDARD_LOG, System::CIMSERVER, Logger::WARNING,
                   "src.Server.cimserver.EXPORT_HTTPS_PORT_NOT_DEFINED",
                   "Port not defined for the service wbem-exp-https. CIMServer will not be started.");
   
               MessageLoaderParms parms("src.Server.cimserver.EXPORT_HTTPS_PORT_NOT_DEFINED",
                   "Port not defined for the service wbem-exp-https. CIMServer will not be started.");
   
               cerr << MessageLoader::getMessage(parms) << endl;
   
               return(1);
           }
       }
     // Put out startup up message.     // Put out startup up message.
 #if !defined(PEGASUS_OS_HPUX) && !defined(PEGASUS_PLATFORM_LINUX_IA64_GNU) && \ #if !defined(PEGASUS_OS_HPUX) && !defined(PEGASUS_PLATFORM_LINUX_IA64_GNU) && \
 !defined(PEGASUS_OS_OS400) !defined(PEGASUS_OS_OS400)
Line 1014 
Line 1029 
 MessageLoader::_useProcessLocale = false; MessageLoader::_useProcessLocale = false;
 //l10n //l10n
  
       // Get the parent's PID before forking
       parentPid = System::getPID();
   
     // do we need to run as a daemon ?     // do we need to run as a daemon ?
     if (daemonOption)     if (daemonOption)
     {     {
Line 1122 
Line 1140 
  
         if (enableHttpConnection)         if (enableHttpConnection)
         {         {
             server.addAcceptor(false, portNumberHttp, false);              server.addAcceptor(false, portNumberHttp, false, false);
             //l10n             //l10n
             //Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::INFORMATION,             //Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::INFORMATION,
                         //"Listening on HTTP port $0.", portNumberHttp);                         //"Listening on HTTP port $0.", portNumberHttp);
Line 1133 
Line 1151 
         }         }
         if (enableHttpsConnection)         if (enableHttpsConnection)
         {         {
             server.addAcceptor(false, portNumberHttps, true);              server.addAcceptor(false, portNumberHttps, true, false);
             //l10n             //l10n
             //Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::INFORMATION,             //Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::INFORMATION,
                         //"Listening on HTTPS port $0.", portNumberHttps);                         //"Listening on HTTPS port $0.", portNumberHttps);
Line 1141 
Line 1159 
                                         "src.Server.cimserver.LISTENING_ON_HTTPS_PORT",                                         "src.Server.cimserver.LISTENING_ON_HTTPS_PORT",
                                 "Listening on HTTPS port $0.", portNumberHttps);                                 "Listening on HTTPS port $0.", portNumberHttps);
         }         }
           if (enableSSLExportClientVerification)
           {
               server.addAcceptor(false, portNumberExportHttps, true, true);
   
               Logger::put_l(Logger::STANDARD_LOG, System::CIMSERVER, Logger::INFORMATION,
                   "src.Server.cimserver.LISTENING_ON_EXPORT_HTTPS_PORT",
                   "Listening on Export HTTPS port $0.", portNumberExportHttps);
           }
   
 #ifdef PEGASUS_LOCAL_DOMAIN_SOCKET #ifdef PEGASUS_LOCAL_DOMAIN_SOCKET
         server.addAcceptor(true, 0, false);          server.addAcceptor(true, 0, false, false);
         //l10n         //l10n
         //Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::INFORMATION,         //Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::INFORMATION,
                     //"Listening on local connection socket.");                     //"Listening on local connection socket.");
Line 1168 
Line 1195 
                                      "Listening on HTTPS port $0.", portNumberHttps);                                      "Listening on HTTPS port $0.", portNumberHttps);
                 cout << MessageLoader::getMessage(parms) << endl;                 cout << MessageLoader::getMessage(parms) << endl;
         }         }
           if (enableSSLExportClientVerification)
           {
               MessageLoaderParms parms("src.Server.cimserver.LISTENING_ON_EXPORT_HTTPS_PORT",
                   "Listening on Export HTTPS port $0.", portNumberExportHttps);
   
               cout << MessageLoader::getMessage(parms) << endl;
           }
   
 # ifdef PEGASUS_LOCAL_DOMAIN_SOCKET # ifdef PEGASUS_LOCAL_DOMAIN_SOCKET
         //l10n         //l10n
         //cout << "Listening on local connection socket" << endl;         //cout << "Listening on local connection socket" << endl;


Legend:
Removed from v.1.131  
changed lines
  Added in v.1.138

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2