//---------------------------------------------------------------------------- // // Copyright (C) Intel Corporation, 2007 - 2008. // // File: OptionsUtils.cpp // // Contents: Utility file which allows easy access to Options elements. // // Notes: //---------------------------------------------------------------------------- //------------------ // Includes //------------------ #include "OptionsUtils.h" #include "CommonOptions.h" #include "Options.h" //------------------ // functions //------------------ const unsigned int * getMaximumWindowSize() { return CommonOptions::instance().getMaximumWinSize(); } const unsigned int * getMinimumWindowSize() { return CommonOptions::instance().getMinimumWinSize(); } const unsigned int * getThreadNumber() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValue(ADVANCED_SECTION, THREAD_NUMBER_ELEMENT); } const unsigned int * getMaxQueueSize() { return CommonOptions::instance().getMaxQueueSize(); } const unsigned int * getMaxChannels() { return CommonOptions::instance().getMaxChannels(); } const time_t * getMaxTunnelTimeout() { return CommonOptions::instance().getMaxTunnelTimeout(); } const unsigned short * getAMTListenPort() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValue(NETWORK_SECTION, AMT_LISTEN_PORT_ELEMENT); } //const ACE_INET_Addr * getAMTListenINET4() //{ // Options * options = Options::instance(); // if (options == NULL) // { // return NULL; // } // return options -> getValue(NETWORK_SECTION, AMT_LISTEN_INET4_ELEMENT); //} //const ACE_INET_Addr * getAMTListenINET6() //{ // Options * options = Options::instance(); // if (options == NULL) // { // return NULL; // } // return options -> getValue(NETWORK_SECTION, AMT_LISTEN_INET6_ELEMENT); //} const ACE_TString * getMCSocksListenIP() { return CommonOptions::instance().getMCSocksListenIP(); } //const ACE_TString * getMCSocksListenIPv6() //{ // return CommonOptions::instance().getMCSocksListenIPv6(); //} const unsigned short * getMCSocksListenPort() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValue(NETWORK_SECTION, MC_SOCKS_LISTEN_PORT_ELEMENT); } //const ACE_INET_Addr * getMCSocksListenINET() //{ // Options * options = Options::instance(); // if (options == NULL) // { // return NULL; // } // return options -> getValue(NETWORK_SECTION, MC_SOCKS_LISTEN_INET_ELEMENT); //} const unsigned short * getMCHttpListenPort() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValue(NETWORK_SECTION, MC_HTTP_LISTEN_PORT_ELEMENT); } const ACE_TString * getHeading() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValue(LOGGER_SECTION, HEADING_ELEMENT); } const ACE_TString * getTraceLevel() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValue(LOGGER_SECTION, TRACE_LEVEL_ELEMENT); } const ACE_TString * getLogFilePath() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValue(LOGGER_SECTION, LOG_FILE_PATH_ELEMENT); } const ACE_TString * getLogFileName() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValue(LOGGER_SECTION, LOG_FILE_NAME_ELEMENT); } const unsigned int * getLogFileSize() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValue(LOGGER_SECTION, LOG_FILE_SIZE_ELEMENT); } const unsigned int * getLogFileMaxFiles() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValue(LOGGER_SECTION, LOG_FILE_MAX_FILES_ELEMENT); } const bool * getAmtNeedAuthentication() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValue(AMT_AUTHENTICATE_SECTION, NEED_AUTHENTICATE_ELEMENT); } const ACE_TString * getAmtDllName() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValue(AMT_AUTHENTICATE_SECTION, DLL_NAME_ELEMENT); } const ACE_TString * getAmtDllParameters() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValue(AMT_AUTHENTICATE_SECTION, DLL_PARAMETERS_ELEMENT); } const bool * getSocksNeedAuthentication() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValue(SOCKS_AUTHENTICATE_SECTION, NEED_AUTHENTICATE_ELEMENT); } const ACE_TString * getSocksDllName() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValue(SOCKS_AUTHENTICATE_SECTION, DLL_NAME_ELEMENT); } const ACE_TString * getSocksDllParameters() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValue(SOCKS_AUTHENTICATE_SECTION, DLL_PARAMETERS_ELEMENT); } const MCList * getMCSubscribersList() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValue(NOTIFICATION_LIST_ELEMENT, NOTIFICATION_LIST_ELEMENT); } const AuthServerHash * getAutherizedServersHash() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValue(AUTHORIZED_SERVERS_LIST_ELEMENT, AUTHORIZED_SERVERS_LIST_ELEMENT); } MCList * getChangableMCSubscribersList() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValueChangable(NOTIFICATION_LIST_ELEMENT, NOTIFICATION_LIST_ELEMENT); } AuthServerHash * getChangableAutherizedServersHash() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValueChangable(AUTHORIZED_SERVERS_LIST_ELEMENT, AUTHORIZED_SERVERS_LIST_ELEMENT); } const bool * getMCNeedAuthentication() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValue(NOTIFICATION_AUTHENTICATION_SECTION, NEED_NOTIFICATION_AUTH_ELEMENT); } const ACE_TString * getMCUsername() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValue(NOTIFICATION_AUTHENTICATION_SECTION, USERNAME_ELEMENT); } const ACE_TString * getMCPassword() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValue(NOTIFICATION_AUTHENTICATION_SECTION, PASSWORD_ELEMENT); } const bool * getAuthServersListNeeded() { Options * options = Options::instance(); if (options == NULL) { return NULL; } return options -> getValue(FILTERING_SECTION, FILTER_UNAUTHORIZED_SERVERS_ELEMENT); } STATUS fillCommonElements() { CommonOptions::instance().setMaximumWinSize( Options::instance()->getValue(ADVANCED_SECTION, MAXIMUM_WINDOW_SIZE_ELEMENT)); CommonOptions::instance().setMinimumWinSize( Options::instance()->getValue(ADVANCED_SECTION, MINIMUM_WINDOW_SIZE_ELEMENT)); CommonOptions::instance().setMaxQueueSize( Options::instance()->getValue(ADVANCED_SECTION, MAX_QUEUE_SIZE_ELEMENT)); CommonOptions::instance().setMaxChannels( Options::instance()->getValue(ADVANCED_SECTION, MAX_CHANNELS_ELEMENT)); CommonOptions::instance().setMaxTunnelTimeout( Options::instance()->getValue(ADVANCED_SECTION, MAX_TUNNEL_TIMEOUT_ELEMENT)); CommonOptions::instance().setMCSocksListenIP( Options::instance()->getValue(NETWORK_SECTION, MC_SOCKS_LISTEN_IP_ELEMENT)); //CommonOptions::instance().setMCSocksListenIPv4( // Options::instance()->getValue(NETWORK_SECTION, MC_SOCKS_LISTEN_IPv4_ELEMENT)); //CommonOptions::instance().setMCSocksListenIPv6( // Options::instance()->getValue(NETWORK_SECTION, MC_SOCKS_LISTEN_IPv6_ELEMENT)); return STATUS_SUCCESS; } STATUS getListenINET(const ACE_TCHAR* section, const ACE_TCHAR* elementIP, const ACE_TCHAR* elementPort, ACE_INET_Addr& address) { Options * options = Options::instance(); if (options == NULL) { return STATUS_FAILURE; } const ACE_TString &ip = *(options->getValue(section, elementIP)); const unsigned short &port = *(options->getValue(section, elementPort)); if (&port == NULL || &ip == NULL || address.set(port, ip.c_str()) != STATUS_SUCCESS) { return STATUS_FAILURE; } return STATUS_SUCCESS; } STATUS getAMTListenINET(ACE_INET_Addr& address) { return getListenINET(NETWORK_SECTION, AMT_LISTEN_IP_ELEMENT, AMT_LISTEN_PORT_ELEMENT, address); } //STATUS getAMTListenINETv4(ACE_INET_Addr& address) //{ // return getListenINET(NETWORK_SECTION, AMT_LISTEN_IPv4_ELEMENT, AMT_LISTEN_PORT_ELEMENT, address); //} // //STATUS getAMTListenINETv6(ACE_INET_Addr& address) //{ // return getListenINET(NETWORK_SECTION, AMT_LISTEN_IPv6_ELEMENT, AMT_LISTEN_PORT_ELEMENT, address); //} //STATUS getSocksListenINETv4(ACE_INET_Addr& address) //{ // return getListenINET(NETWORK_SECTION, MC_SOCKS_LISTEN_IP_ELEMENT, MC_SOCKS_LISTEN_PORT_ELEMENT, address); //} // //STATUS getSocksListenINETv6(ACE_INET_Addr& address) //{ // return getListenINET(NETWORK_SECTION, MC_SOCKS_LISTEN_IP_ELEMENT, MC_SOCKS_LISTEN_PORT_ELEMENT, address); //}