version 1.19, 2005/09/29 20:15:42
|
version 1.25, 2006/08/08 17:47:16
|
|
|
//%2005//////////////////////////////////////////////////////////////////////// |
//%2006//////////////////////////////////////////////////////////////////////// |
// | // |
// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development | // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development |
// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. | // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. |
|
|
// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. | // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. |
// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; | // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; |
// EMC Corporation; VERITAS Software Corporation; The Open Group. | // EMC Corporation; VERITAS Software Corporation; The Open Group. |
|
// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; |
|
// EMC Corporation; Symantec Corporation; The Open Group. |
// | // |
// Permission is hereby granted, free of charge, to any person obtaining a copy | // Permission is hereby granted, free of charge, to any person obtaining a copy |
// of this software and associated documentation files (the "Software"), to | // of this software and associated documentation files (the "Software"), to |
|
|
#include <Pegasus/Common/Config.h> | #include <Pegasus/Common/Config.h> |
#include <Pegasus/Common/Constants.h> | #include <Pegasus/Common/Constants.h> |
#include <iostream> | #include <iostream> |
#include <cassert> |
#include <Pegasus/Common/PegasusAssert.h> |
#include <cstdlib> | #include <cstdlib> |
#include <fstream> | #include <fstream> |
#include <Pegasus/Common/FileSystem.h> | #include <Pegasus/Common/FileSystem.h> |
|
|
#include <Pegasus/Common/Logger.h> | #include <Pegasus/Common/Logger.h> |
#include <Pegasus/Common/System.h> | #include <Pegasus/Common/System.h> |
#include <Pegasus/Common/Tracer.h> | #include <Pegasus/Common/Tracer.h> |
|
#include <Pegasus/Common/LanguageParser.h> |
#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> |
|
|
return PEGASUS_PROCESS_NAME; | return PEGASUS_PROCESS_NAME; |
} | } |
| |
//defined in ConfigFileDir.h |
//defined in Constants.h |
virtual const char* getPIDFileName() const | virtual const char* getPIDFileName() const |
{ | { |
return CIMSERVER_START_FILE; |
return PEGASUS_CIMSERVER_START_FILE; |
} | } |
| |
int cimserver_run(int argc, char** argv, bool shutdownOption); | int cimserver_run(int argc, char** argv, bool shutdownOption); |
|
|
| |
if (os400StartupOption == false) | if (os400StartupOption == false) |
{ | { |
enableHttpConnection = String::equal( |
enableHttpConnection = ConfigManager::parseBooleanValue( |
configManager->getCurrentValue("enableHttpConnection"), "true"); |
configManager->getCurrentValue("enableHttpConnection")); |
enableHttpsConnection = String::equal( |
enableHttpsConnection = ConfigManager::parseBooleanValue( |
configManager->getCurrentValue("enableHttpsConnection"), "true"); |
configManager->getCurrentValue("enableHttpsConnection")); |
enableSSLExportClientVerification = String::equal( |
enableSSLExportClientVerification = ConfigManager::parseBooleanValue( |
configManager->getCurrentValue("enableSSLExportClientVerification"), "true"); |
configManager->getCurrentValue("enableSSLExportClientVerification")); |
} | } |
#else | #else |
Boolean enableHttpConnection = String::equal( |
Boolean enableHttpConnection = ConfigManager::parseBooleanValue( |
configManager->getCurrentValue("enableHttpConnection"), "true"); |
configManager->getCurrentValue("enableHttpConnection")); |
Boolean enableHttpsConnection = String::equal( |
Boolean enableHttpsConnection = ConfigManager::parseBooleanValue( |
configManager->getCurrentValue("enableHttpsConnection"), "true"); |
configManager->getCurrentValue("enableHttpsConnection")); |
Boolean enableSSLExportClientVerification = String::equal( |
Boolean enableSSLExportClientVerification = |
configManager->getCurrentValue("enableSSLExportClientVerification"), "true"); |
ConfigManager::parseBooleanValue(configManager->getCurrentValue( |
|
"enableSSLExportClientVerification")); |
#endif | #endif |
| |
// Make sure at least one connection is enabled | // Make sure at least one connection is enabled |
|
|
// Check to see if we should Pegasus as a daemon | // Check to see if we should Pegasus as a daemon |
// | // |
| |
if (String::equal(configManager->getCurrentValue("daemon"), "true")) |
daemonOption = ConfigManager::parseBooleanValue( |
{ |
configManager->getCurrentValue("daemon")); |
daemonOption = true; |
|
} |
|
| |
#ifdef PEGASUS_OS_OS400 | #ifdef PEGASUS_OS_OS400 |
if (os400StartupOption == false) | if (os400StartupOption == false) |
|
|
// l10n | // l10n |
// Now we are after the fork... | // Now we are after the fork... |
// Create a dummy Thread object that can be used to store the | // Create a dummy Thread object that can be used to store the |
// AcceptLanguages object for CIM requests that are serviced |
// AcceptLanguageList object for CIM requests that are serviced |
// by this thread (initial thread of server). Need to do this | // by this thread (initial thread of server). Need to do this |
// because this thread is not in a ThreadPool, but is used | // because this thread is not in a ThreadPool, but is used |
// to service CIM requests. | // to service CIM requests. |
// The run function for the dummy Thread should never be called, | // The run function for the dummy Thread should never be called, |
Thread *dummyInitialThread = new Thread(dummyThreadFunc, NULL, false); | Thread *dummyInitialThread = new Thread(dummyThreadFunc, NULL, false); |
Thread::setCurrent(dummyInitialThread); | Thread::setCurrent(dummyInitialThread); |
AcceptLanguages default_al; |
AcceptLanguageList default_al; |
try{ | try{ |
default_al = AcceptLanguages::getDefaultAcceptLanguages(); |
default_al = LanguageParser::getDefaultAcceptLanguages(); |
Thread::setLanguages(new AcceptLanguages(default_al)); |
Thread::setLanguages(new AcceptLanguageList(default_al)); |
}catch(InvalidAcceptLanguageHeader& e){ | }catch(InvalidAcceptLanguageHeader& e){ |
Logger::put_l(Logger::ERROR_LOG, System::CIMSERVER, Logger::SEVERE, | Logger::put_l(Logger::ERROR_LOG, System::CIMSERVER, Logger::SEVERE, |
"src.Server.cimserver.FAILED_TO_SET_PROCESS_LOCALE", | "src.Server.cimserver.FAILED_TO_SET_PROCESS_LOCALE", |