(file) Return to ServerProcessOS400.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Service / Attic

Diff for /pegasus/src/Service/Attic/ServerProcessOS400.cpp between version 1.1 and 1.5

version 1.1, 2005/03/03 03:01:26 version 1.5, 2005/04/27 22:31:28
Line 42 
Line 42 
 #include <sys/stat.h> #include <sys/stat.h>
 #include <fcntl.h> #include <fcntl.h>
 #include <unistd.h> #include <unistd.h>
   #include <sys/wait.h>
 #include <Pegasus/Common/Config.h> #include <Pegasus/Common/Config.h>
 #include <Pegasus/Common/String.h> #include <Pegasus/Common/String.h>
 #include <Pegasus/Common/Logger.h> #include <Pegasus/Common/Logger.h>
   #include <Pegasus/Config/ConfigManager.h>
 #include "OS400ConvertChar.h" #include "OS400ConvertChar.h"
   #include "SSLWrapperOS400.h"
   #include "OS400SystemState.h"
   #include "CIMRepositoryUpdate400.h"  // upgrade utility
 #include <Pegasus/Common/MessageLoader.h> //l10n #include <Pegasus/Common/MessageLoader.h> //l10n
 #include <except.h> #include <except.h>
  
Line 87 
Line 92 
 void ServerProcess::notify_parent(int id) {} void ServerProcess::notify_parent(int id) {}
 void ServerProcess::cimserver_set_process(void* p) {} void ServerProcess::cimserver_set_process(void* p) {}
 long ServerProcess::get_server_pid(void) { return 0; } long ServerProcess::get_server_pid(void) { return 0; }
   void ServerProcess::set_parent_pid(int pid) {}
 int ServerProcess::get_proc(int pid) { return 0; } int ServerProcess::get_proc(int pid) { return 0; }
 int ServerProcess::cimserver_wait(void) { return 1; } int ServerProcess::cimserver_wait(void) { return 1; }
 String ServerProcess::getHome(void) { return String::EMPTY; } String ServerProcess::getHome(void) { return String::EMPTY; }
Line 104 
Line 110 
 /////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////
 int ServerProcess::cimserver_fork(void) int ServerProcess::cimserver_fork(void)
 { {
     // First migrate the server configuration settings into the planned file.
     CIMRepositoryUpdate400 obj;
     obj.preserveConfigSettings();
   
     // TODO:  This is here for now until we can move it into initialize.  Right now it doesn't run because qycmsetupr won't work in a multi-threaded environment.  See issue #AD2
     obj.doIt();
   
 #pragma convert(37) #pragma convert(37)
   char rc5[3] = "05"; // rc5 means the CIMOM Server failed to start   char rc5[3] = "05"; // rc5 means the CIMOM Server failed to start
   char cppServ[10] = "QYCMCIMOM";   char cppServ[10] = "QYCMCIMOM";
Line 176 
Line 189 
 //       so that iNavigator can start/stop it. //       so that iNavigator can start/stop it.
 //    -- Swaps the job user to QSYS. //    -- Swaps the job user to QSYS.
 //    -- Changes the authority of QYCMJOBD //    -- Changes the authority of QYCMJOBD
   //    -- Calls the upgrade utility
 //////////////////////////////////////////////////// ////////////////////////////////////////////////////
 int ServerProcess::cimserver_initialize(void) int ServerProcess::cimserver_initialize(void)
 { {
Line 225 
Line 239 
    // Set the SQL server mode to true.    // Set the SQL server mode to true.
    // This will allow multiple connections to the same data source.    // This will allow multiple connections to the same data source.
    SQLSetEnvAttr(henv,SQL_ATTR_SERVER_MODE, &attr,0);    SQLSetEnvAttr(henv,SQL_ATTR_SERVER_MODE, &attr,0);
   
      //--------------------------------------------------
      // Create server SSL certificate and private key
      // if they do not already exist.
      //--------------------------------------------------
   
      // Check if SSL is enabled on either the wbem-https or
      // wbem-exp-https ports.
      ConfigManager * configManager = ConfigManager::getInstance();
      Boolean enableHttpsConnection = String::equal(
           configManager->getCurrentValue("enableHttpsConnection"), "true");
      Boolean enableSSLExportClientVerification = String::equal(
           configManager->getCurrentValue("enableSSLExportClientVerification"), "true");
      if (enableHttpsConnection || enableSSLExportClientVerification)
      {
          // Initialize the OS400 OpenSSL wrapper.
          // This checks if the OpenSSL LPO is installed.
          // It also activates the OpenSSL *SRVPGM and gets exports.
          SSL_OS400_Init();
   
          // Create the certificate if needed
          // Get the location of the certificate
          String certPath;
          certPath = ConfigManager::getHomedPath(
               configManager->getCurrentValue("sslCertificateFilePath"));
   
          // Get the location of the private key
          String keyPath;
          keyPath = ConfigManager::getHomedPath(
               configManager->getCurrentValue("sslKeyFilePath"));
   
          SSL_CreateCert_OS400(keyPath, certPath);
      }
     }
     catch (Exception & e)
     {
         //l10n
         Logger::put(Logger::ERROR_LOG, System::CIMSERVER, Logger::SEVERE,
                     e.getMessage());
         return(-1);
  }  }
   catch (...)   catch (...)
   {   {
Line 239 
Line 293 
       return(-1);       return(-1);
   }   }
  
   // TODO:  add this back in when we fix the problem with setupr not working in a multi-threaded environment.
     // Call into the upgrade utility.  This will perform any necessary upgrade step that need to be done.  The upgrade program keys off of marker files which are created on install.  This means that in most cases, nothing will be done unless the server is starting for the first time after an install.
   //  CIMRepositoryUpdate400 obj;
   //  obj.doIt();
   
    // TODO:  this is currently commented out because it causes build errors -    // TODO:  this is currently commented out because it causes build errors -
    //        it compiles just fine though.  Hopefully this problem will be fixed    //        it compiles just fine though.  Hopefully this problem will be fixed
    //        (it's a known problem) and we can uncomment this #pragma.    //        (it's a known problem) and we can uncomment this #pragma.


Legend:
Removed from v.1.1  
changed lines
  Added in v.1.5

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2