Mixes for Privacy and Anonymity in the Internet
Classes | Macros | Typedefs | Functions
CACmdLnOptions.hpp File Reference

Classes

class  CACmdLnOptions
 

Macros

#define REGEXP_BUFF_SIZE   4096
 
#define DEFAULT_TARGET_PORT   6544
 
#define DEFAULT_CONFIG_FILE   "default.xml"
 
#define MIN_INFOSERVICES   1
 
#define WITH_SUBTREE   true
 
#define WITHOUT_SUBTREE   (!(WITHSUBTREE))
 
#define OPTIONS_NODE_GENERAL   "General"
 
#define OPTIONS_NODE_MIX_TYPE   "MixType"
 
#define OPTIONS_NODE_MIX_NAME   "MixName"
 
#define OPTIONS_NODE_MIX_ID   "MixID"
 
#define OPTIONS_NODE_DYNAMIC_MIX   "Dynamic"
 
#define OPTIONS_NODE_MIN_CASCADE_LENGTH   "MinCascadeLength"
 
#define OPTIONS_NODE_CASCADE_NAME   "CascadeName"
 
#define OPTIONS_NODE_USER_ID   "UserID"
 
#define OPTIONS_NODE_FD_NR   "NrOfFileDescriptors"
 
#define OPTIONS_NODE_DAEMON   "Daemon"
 
#define OPTIONS_NODE_CREDENTIAL   "AccessControlCredential"
 
#define OPTIONS_NODE_MAX_USERS   "MaxUsers"
 
#define OPTIONS_NODE_PAYMENT_REMINDER   "PaymentReminderProbability"
 
#define OPTIONS_NODE_LOGGING   "Logging"
 
#define OPTIONS_NODE_LOGGING_CONSOLE   "Console"
 
#define OPTIONS_NODE_LOGGING_FILE   "File"
 
#define OPTIONS_ATTRIBUTE_LOGGING_MAXFILESIZE   "MaxFileSize"
 
#define OPTIONS_ATTRIBUTE_LOGGING_MAXFILES   "MaxFiles"
 
#define LOGGING_MAXFILES_DEFAULT   10
 
#define OPTIONS_NODE_SYSLOG   "Syslog"
 
#define OPTIONS_NODE_ENCRYPTED_LOG   "EncryptedLog"
 
#define OPTIONS_NODE_LOGGING_KEYINFO   "KeyInfo"
 
#define OPTIONS_NODE_DESCRIPTION   "Description"
 
#define OPTIONS_ATTRIBUTE_NAME_FOR_CASCADE   "forCascade"
 
#define OPTIONS_VALUE_OPERATOR_NAME   "Operator"
 
#define OPTIONS_VALUE_MIX_NAME   "Mix"
 
#define OPTIONS_VALUE_NAMETYPE_DEFAULT   OPTIONS_VALUE_MIX_NAME
 
#define OPTIONS_NODE_CERTIFICATE_LIST   "Certificates"
 
#define OPTIONS_NODE_OWN_CERTIFICATE   "OwnCertificate"
 
#define OPTIONS_NODE_OWN_OPERATOR_CERTIFICATE   "OperatorOwnCertificate"
 
#define OPTIONS_NODE_NEXT_MIX_CERTIFICATE   "NextMixCertificate"
 
#define OPTIONS_NODE_NEXT_OPERATOR_CERTIFICATE   "NextOperatorCertificate"
 
#define OPTIONS_NODE_PREV_MIX_CERTIFICATE   "PrevMixCertificate"
 
#define OPTIONS_NODE_PREV_OPERATOR_CERTIFICATE   "PrevOperatorCertificate"
 
#define OPTIONS_NODE_TRUSTED_ROOT_CERTIFICATES   "TrustedRootCertificates"
 
#define OPTIONS_NODE_MIX_CERTIFICATE_VERIFICATION   "MixCertificateVerification"
 
#define OPTIONS_NODE_X509DATA   "X509Data"
 
#define OPTIONS_NODE_X509_CERTIFICATE   "X509Certificate"
 
#define OPTIONS_NODE_X509_PKCS12   "X509PKCS12"
 
#define OPTIONS_NODE_SIGNATURE   "Signature"
 
#define OPTIONS_NODE_ACCOUNTING   "Accounting"
 
#define OPTIONS_NODE_PRICE_CERTIFICATE   "PriceCertificate"
 
#define OPTIONS_NODE_PAYMENT_INSTANCE   CAXMLBI::getXMLElementName()
 
#define OPTIONS_NODE_AI_SOFT_LIMIT   "SoftLimit"
 
#define OPTIONS_NODE_AI_HARD_LIMIT   "HardLimit"
 
#define OPTIONS_NODE_SETTLE_IVAL   "SettleInterval"
 
#define OPTIONS_NODE_PREPAID_IVAL   "PrepaidInterval"
 
#define OPTIONS_NODE_PREPAID_IVAL_KB   "PrepaidIntervalKbytes"
 
#define OPTIONS_NODE_AI_DB   "Database"
 
#define OPTIONS_NODE_AI_DB_HOST   "Host"
 
#define OPTIONS_NODE_AI_DB_PORT   "Port"
 
#define OPTIONS_NODE_AI_DB_NAME   "DBName"
 
#define OPTIONS_NODE_AI_DB_USER   "Username"
 
#define OPTIONS_NODE_AI_DB_PASSW   "Password"
 
#define OPTIONS_DEFAULT_PREPAID_IVAL   3000000
 
#define OPTIONS_NODE_NETWORK   "Network"
 
#define OPTIONS_NODE_INFOSERVICE_LIST   "InfoServices"
 
#define OPTIONS_NODE_INFOSERVICE   "InfoService"
 
#define OPTIONS_NODE_ALLOW_AUTO_CONF   "AllowAutoConfiguration"
 
#define OPTIONS_NODE_LISTENER_INTERFACES   CAListenerInterface::XML_ELEMENT_CONTAINER_NAME
 
#define OPTIONS_NODE_NEXT_MIX   "NextMix"
 
#define OPTIONS_NODE_NETWORK_PROTOCOL   "NetworkProtocol"
 
#define OPTIONS_NODE_IP   "IP"
 
#define OPTIONS_NODE_PROXY_LIST   "Proxies"
 
#define OPTIONS_NODE_PROXY   "Proxy"
 
#define OPTIONS_NODE_PROXY_TYPE   "ProxyType"
 
#define OPTIONS_NODE_SERVER_MONITORING   "ServerMonitoring"
 
#define OPTIONS_NODE_VISIBLE_ADDRESS_LIST   "VisibleAddresses"
 
#define OPTIONS_NODE_VISIBLE_ADDRESS   "VisibleAddress"
 
#define OPTIONS_NODE_LISTENER_INTERFACE_LIST   CAListenerInterface::XML_ELEMENT_CONTAINER_NAME
 
#define OPTIONS_NODE_LISTENER_INTERFACE   CAListenerInterface::XML_ELEMENT_NAME
 
#define OPTIONS_NODE_KEEP_ALIVE   "KeepAlive"
 
#define OPTIONS_NODE_KEEP_ALIVE_SEND_IVAL   "SendInterval"
 
#define OPTIONS_NODE_KEEP_ALIVE_RECV_IVAL   "ReceiveInterval"
 
#define OPTIONS_NODE_IP   "IP"
 
#define OPTIONS_NODE_HOST   "Host"
 
#define OPTIONS_NODE_PORT   "Port"
 
#define OPTIONS_NODE_FILE   "File"
 
#define OPTIONS_NODE_RESSOURCES   "Ressources"
 
#define OPTIONS_NODE_UNLIMIT_TRAFFIC   "UnlimitTraffic"
 
#define OPTIONS_NODE_BYTES_PER_IVAL   "BytesPerIntervall"
 
#define OPTIONS_NODE_DELAY_IVAL   "Intervall"
 
#define OPTIONS_NODE_LATENCY   "Latency"
 
#define OPTIONS_NODE_TNCS_OPTS   "TermsAndConditionsOptions"
 
#define OPTIONS_NODE_TNCS_TEMPLATES   "Templates"
 
#define OPTIONS_NODE_TNCS_TEMPLATE   "Template"
 
#define OPTIONS_NODE_TNCS   "TermsAndConditions"
 
#define OPTIONS_NODE_TNCS_TRANSLATION   "TCTranslation"
 
#define OPTIONS_NODE_TNCS_TRANSLATION_IMPORTS   "TCTranslationImports"
 
#define OPTIONS_NODE_TNCS_OPERATOR   "Operator"
 
#define OPTIONS_ATTRIBUTE_TNC_DATE   "date"
 
#define OPTIONS_ATTRIBUTE_TNC_SERIAL   "serial"
 
#define OPTIONS_ATTRIBUTE_TNC_VERSION   "version"
 
#define OPTIONS_ATTRIBUTE_TNC_LOCALE   "locale"
 
#define OPTIONS_ATTRIBUTE_TNC_TEMPLATE_TYPE   "type"
 
#define OPTIONS_ATTRIBUTE_TNC_ID   "id"
 
#define OPTIONS_ATTRIBUTE_TNC_TEMPLATE_REFID   "referenceId"
 
#define OPTIONS_ATTRIBUTE_TNC_DEFAULT_LANG_DEFINED   "default"
 
#define OPTIONS_ATTRIBUTE_TNC_DEFAULT_LANG   "defaultLang"
 
#define OPTIONS_NODE_CRIME_DETECTION   "CrimeDetection"
 
#define OPTIONS_NODE_CRIME_REGEXP_URL   "RegExpURL"
 
#define OPTIONS_NODE_CRIME_REGEXP_PAYLOAD   "RegExpPayload"
 
#define OPTIONS_NODE_CRIME_SURVEILLANCE_IP   "SurveillanceIP"
 
#define OPTIONS_NODE_CRIME_SURVEILLANCE_IP_NETMASK   "netmask"
 
#define OPTIONS_NODE_CRIME_SURVEILLANCE_ACCOUNT   "PayAccountNumber"
 
#define OPTIONS_ATTRIBUTE_LOG_PAYLOAD   "logPayload"
 
#define MIXINFO_NODE_PARENT   "Mix"
 
#define MIXINFO_NODE_MIX_NAME   "Name"
 
#define MIXINFO_NODE_SOFTWARE   "Software"
 
#define MIXINFO_NODE_VERSION   "Version"
 
#define MIXINFO_NODE_PAYMENTREMINDER   "PaymentReminderProbability"
 
#define MIXINFO_ATTRIBUTE_MIX_ID   "id"
 
#define LOG_NODE_NOT_FOUND(Nodename)   CAMsg::printMsg(LOG_CRIT,"No \"%s\" node found in configuration file!\n", (Nodename))
 
#define LOG_NODE_EMPTY_OR_INVALID(Nodename)   CAMsg::printMsg(LOG_CRIT,"Node \"%s\" is empty or has invalid content!\n", (Nodename))
 
#define LOG_NODE_WRONG_PARENT(Parentname, Childname)   CAMsg::printMsg(LOG_CRIT,"\"%s\" is the wrong parent for Node \"%s\"\n", (Parentname), (Childname))
 
#define ASSERT_PARENT_NODE_NAME(Parentname, NameToMatch, Childname)
 
#define ASSERT_GENERAL_OPTIONS_PARENT(Parentname, Childname)   ASSERT_PARENT_NODE_NAME(Parentname, OPTIONS_NODE_GENERAL, Childname)
 
#define ASSERT_CERTIFICATES_OPTIONS_PARENT(Parentname, Childname)   ASSERT_PARENT_NODE_NAME(Parentname, OPTIONS_NODE_CERTIFICATE_LIST, Childname)
 
#define ASSERT_ACCOUNTING_OPTIONS_PARENT(Parentname, Childname)   ASSERT_PARENT_NODE_NAME(Parentname, OPTIONS_NODE_ACCOUNTING, Childname)
 
#define ASSERT_NETWORK_OPTIONS_PARENT(Parentname, Childname)   ASSERT_PARENT_NODE_NAME(Parentname, OPTIONS_NODE_NETWORK, Childname)
 
#define ASSERT_CRIME_DETECTION_OPTIONS_PARENT(Parentname, Childname)   ASSERT_PARENT_NODE_NAME(Parentname, OPTIONS_NODE_CRIME_DETECTION, Childname)
 
#define MAIN_OPTION_SETTERS_NR   8
 
#define GENERAL_OPTIONS_NR   13
 
#define MAX_CERTIFICATE_OPTIONS_NR   6
 
#define ACCOUNTING_OPTIONS_NR   7
 
#define NETWORK_OPTIONS_NR   5
 
#define TERMS_AND_CONDITIONS_OPTIONS_NR   2
 

Typedefs

typedef SINT32(CACmdLnOptions::* optionSetter_pt) (DOMElement *)
 

Functions

THREAD_RETURN threadReConfigure (void *param)
 Thread that does the actual reconfigure work. More...
 
SINT32 setRegExpressions (DOMElement *rootElement, const char *const childElementName, tre_regex_t **regExContainer, UINT32 *regExNr)
 

Macro Definition Documentation

◆ ACCOUNTING_OPTIONS_NR

#define ACCOUNTING_OPTIONS_NR   7

◆ ASSERT_ACCOUNTING_OPTIONS_PARENT

#define ASSERT_ACCOUNTING_OPTIONS_PARENT (   Parentname,
  Childname 
)    ASSERT_PARENT_NODE_NAME(Parentname, OPTIONS_NODE_ACCOUNTING, Childname)

◆ ASSERT_CERTIFICATES_OPTIONS_PARENT

#define ASSERT_CERTIFICATES_OPTIONS_PARENT (   Parentname,
  Childname 
)    ASSERT_PARENT_NODE_NAME(Parentname, OPTIONS_NODE_CERTIFICATE_LIST, Childname)

◆ ASSERT_CRIME_DETECTION_OPTIONS_PARENT

#define ASSERT_CRIME_DETECTION_OPTIONS_PARENT (   Parentname,
  Childname 
)    ASSERT_PARENT_NODE_NAME(Parentname, OPTIONS_NODE_CRIME_DETECTION, Childname)

◆ ASSERT_GENERAL_OPTIONS_PARENT

#define ASSERT_GENERAL_OPTIONS_PARENT (   Parentname,
  Childname 
)    ASSERT_PARENT_NODE_NAME(Parentname, OPTIONS_NODE_GENERAL, Childname)

◆ ASSERT_NETWORK_OPTIONS_PARENT

#define ASSERT_NETWORK_OPTIONS_PARENT (   Parentname,
  Childname 
)    ASSERT_PARENT_NODE_NAME(Parentname, OPTIONS_NODE_NETWORK, Childname)

◆ ASSERT_PARENT_NODE_NAME

#define ASSERT_PARENT_NODE_NAME (   Parentname,
  NameToMatch,
  Childname 
)
Value:
if(!equals((Parentname), (NameToMatch) )) \
{ \
char *parentName = XMLString::transcode(Parentname); \
LOG_NODE_WRONG_PARENT(parentName, Childname); \
XMLString::release(&parentName); \
return E_UNKNOWN; \
}
bool equals(const XMLCh *const e1, const char *const e2)
Definition: CAUtil.cpp:628
#define E_UNKNOWN
Definition: errorcodes.hpp:3

Referenced by CACmdLnOptions::addVisibleAddresses().

◆ DEFAULT_CONFIG_FILE

#define DEFAULT_CONFIG_FILE   "default.xml"

◆ DEFAULT_TARGET_PORT

#define DEFAULT_TARGET_PORT   6544

◆ GENERAL_OPTIONS_NR

#define GENERAL_OPTIONS_NR   13

◆ LOG_NODE_EMPTY_OR_INVALID

#define LOG_NODE_EMPTY_OR_INVALID (   Nodename)    CAMsg::printMsg(LOG_CRIT,"Node \"%s\" is empty or has invalid content!\n", (Nodename))

◆ LOG_NODE_NOT_FOUND

#define LOG_NODE_NOT_FOUND (   Nodename)    CAMsg::printMsg(LOG_CRIT,"No \"%s\" node found in configuration file!\n", (Nodename))

◆ LOG_NODE_WRONG_PARENT

#define LOG_NODE_WRONG_PARENT (   Parentname,
  Childname 
)    CAMsg::printMsg(LOG_CRIT,"\"%s\" is the wrong parent for Node \"%s\"\n", (Parentname), (Childname))

◆ LOGGING_MAXFILES_DEFAULT

#define LOGGING_MAXFILES_DEFAULT   10

◆ MAIN_OPTION_SETTERS_NR

#define MAIN_OPTION_SETTERS_NR   8

◆ MAX_CERTIFICATE_OPTIONS_NR

#define MAX_CERTIFICATE_OPTIONS_NR   6

◆ MIN_INFOSERVICES

#define MIN_INFOSERVICES   1

◆ MIXINFO_ATTRIBUTE_MIX_ID

#define MIXINFO_ATTRIBUTE_MIX_ID   "id"

◆ MIXINFO_NODE_MIX_NAME

#define MIXINFO_NODE_MIX_NAME   "Name"

◆ MIXINFO_NODE_PARENT

#define MIXINFO_NODE_PARENT   "Mix"

◆ MIXINFO_NODE_PAYMENTREMINDER

#define MIXINFO_NODE_PAYMENTREMINDER   "PaymentReminderProbability"

◆ MIXINFO_NODE_SOFTWARE

#define MIXINFO_NODE_SOFTWARE   "Software"

◆ MIXINFO_NODE_VERSION

#define MIXINFO_NODE_VERSION   "Version"

◆ NETWORK_OPTIONS_NR

#define NETWORK_OPTIONS_NR   5

◆ OPTIONS_ATTRIBUTE_LOG_PAYLOAD

#define OPTIONS_ATTRIBUTE_LOG_PAYLOAD   "logPayload"

◆ OPTIONS_ATTRIBUTE_LOGGING_MAXFILES

#define OPTIONS_ATTRIBUTE_LOGGING_MAXFILES   "MaxFiles"

◆ OPTIONS_ATTRIBUTE_LOGGING_MAXFILESIZE

#define OPTIONS_ATTRIBUTE_LOGGING_MAXFILESIZE   "MaxFileSize"

◆ OPTIONS_ATTRIBUTE_NAME_FOR_CASCADE

#define OPTIONS_ATTRIBUTE_NAME_FOR_CASCADE   "forCascade"

◆ OPTIONS_ATTRIBUTE_TNC_DATE

#define OPTIONS_ATTRIBUTE_TNC_DATE   "date"

◆ OPTIONS_ATTRIBUTE_TNC_DEFAULT_LANG

#define OPTIONS_ATTRIBUTE_TNC_DEFAULT_LANG   "defaultLang"

Referenced by CAMix::addMixInfo().

◆ OPTIONS_ATTRIBUTE_TNC_DEFAULT_LANG_DEFINED

#define OPTIONS_ATTRIBUTE_TNC_DEFAULT_LANG_DEFINED   "default"

◆ OPTIONS_ATTRIBUTE_TNC_ID

#define OPTIONS_ATTRIBUTE_TNC_ID   "id"

◆ OPTIONS_ATTRIBUTE_TNC_LOCALE

#define OPTIONS_ATTRIBUTE_TNC_LOCALE   "locale"

◆ OPTIONS_ATTRIBUTE_TNC_SERIAL

#define OPTIONS_ATTRIBUTE_TNC_SERIAL   "serial"

◆ OPTIONS_ATTRIBUTE_TNC_TEMPLATE_REFID

#define OPTIONS_ATTRIBUTE_TNC_TEMPLATE_REFID   "referenceId"

◆ OPTIONS_ATTRIBUTE_TNC_TEMPLATE_TYPE

#define OPTIONS_ATTRIBUTE_TNC_TEMPLATE_TYPE   "type"

◆ OPTIONS_ATTRIBUTE_TNC_VERSION

#define OPTIONS_ATTRIBUTE_TNC_VERSION   "version"

◆ OPTIONS_DEFAULT_PREPAID_IVAL

#define OPTIONS_DEFAULT_PREPAID_IVAL   3000000

◆ OPTIONS_NODE_ACCOUNTING

#define OPTIONS_NODE_ACCOUNTING   "Accounting"

◆ OPTIONS_NODE_AI_DB

#define OPTIONS_NODE_AI_DB   "Database"

◆ OPTIONS_NODE_AI_DB_HOST

#define OPTIONS_NODE_AI_DB_HOST   "Host"

◆ OPTIONS_NODE_AI_DB_NAME

#define OPTIONS_NODE_AI_DB_NAME   "DBName"

◆ OPTIONS_NODE_AI_DB_PASSW

#define OPTIONS_NODE_AI_DB_PASSW   "Password"

◆ OPTIONS_NODE_AI_DB_PORT

#define OPTIONS_NODE_AI_DB_PORT   "Port"

◆ OPTIONS_NODE_AI_DB_USER

#define OPTIONS_NODE_AI_DB_USER   "Username"

◆ OPTIONS_NODE_AI_HARD_LIMIT

#define OPTIONS_NODE_AI_HARD_LIMIT   "HardLimit"

◆ OPTIONS_NODE_AI_SOFT_LIMIT

#define OPTIONS_NODE_AI_SOFT_LIMIT   "SoftLimit"

◆ OPTIONS_NODE_ALLOW_AUTO_CONF

#define OPTIONS_NODE_ALLOW_AUTO_CONF   "AllowAutoConfiguration"

◆ OPTIONS_NODE_BYTES_PER_IVAL

#define OPTIONS_NODE_BYTES_PER_IVAL   "BytesPerIntervall"

◆ OPTIONS_NODE_CASCADE_NAME

#define OPTIONS_NODE_CASCADE_NAME   "CascadeName"

◆ OPTIONS_NODE_CERTIFICATE_LIST

#define OPTIONS_NODE_CERTIFICATE_LIST   "Certificates"

◆ OPTIONS_NODE_CREDENTIAL

#define OPTIONS_NODE_CREDENTIAL   "AccessControlCredential"

◆ OPTIONS_NODE_CRIME_DETECTION

#define OPTIONS_NODE_CRIME_DETECTION   "CrimeDetection"

◆ OPTIONS_NODE_CRIME_REGEXP_PAYLOAD

#define OPTIONS_NODE_CRIME_REGEXP_PAYLOAD   "RegExpPayload"

◆ OPTIONS_NODE_CRIME_REGEXP_URL

#define OPTIONS_NODE_CRIME_REGEXP_URL   "RegExpURL"

◆ OPTIONS_NODE_CRIME_SURVEILLANCE_ACCOUNT

#define OPTIONS_NODE_CRIME_SURVEILLANCE_ACCOUNT   "PayAccountNumber"

◆ OPTIONS_NODE_CRIME_SURVEILLANCE_IP

#define OPTIONS_NODE_CRIME_SURVEILLANCE_IP   "SurveillanceIP"

◆ OPTIONS_NODE_CRIME_SURVEILLANCE_IP_NETMASK

#define OPTIONS_NODE_CRIME_SURVEILLANCE_IP_NETMASK   "netmask"

◆ OPTIONS_NODE_DAEMON

#define OPTIONS_NODE_DAEMON   "Daemon"

◆ OPTIONS_NODE_DELAY_IVAL

#define OPTIONS_NODE_DELAY_IVAL   "Intervall"

◆ OPTIONS_NODE_DESCRIPTION

#define OPTIONS_NODE_DESCRIPTION   "Description"

◆ OPTIONS_NODE_DYNAMIC_MIX

#define OPTIONS_NODE_DYNAMIC_MIX   "Dynamic"

◆ OPTIONS_NODE_ENCRYPTED_LOG

#define OPTIONS_NODE_ENCRYPTED_LOG   "EncryptedLog"

◆ OPTIONS_NODE_FD_NR

#define OPTIONS_NODE_FD_NR   "NrOfFileDescriptors"

◆ OPTIONS_NODE_FILE

#define OPTIONS_NODE_FILE   "File"

◆ OPTIONS_NODE_GENERAL

#define OPTIONS_NODE_GENERAL   "General"

◆ OPTIONS_NODE_HOST

#define OPTIONS_NODE_HOST   "Host"

◆ OPTIONS_NODE_INFOSERVICE

#define OPTIONS_NODE_INFOSERVICE   "InfoService"

◆ OPTIONS_NODE_INFOSERVICE_LIST

#define OPTIONS_NODE_INFOSERVICE_LIST   "InfoServices"

◆ OPTIONS_NODE_IP [1/2]

#define OPTIONS_NODE_IP   "IP"

◆ OPTIONS_NODE_IP [2/2]

#define OPTIONS_NODE_IP   "IP"

◆ OPTIONS_NODE_KEEP_ALIVE

#define OPTIONS_NODE_KEEP_ALIVE   "KeepAlive"

◆ OPTIONS_NODE_KEEP_ALIVE_RECV_IVAL

#define OPTIONS_NODE_KEEP_ALIVE_RECV_IVAL   "ReceiveInterval"

◆ OPTIONS_NODE_KEEP_ALIVE_SEND_IVAL

#define OPTIONS_NODE_KEEP_ALIVE_SEND_IVAL   "SendInterval"

◆ OPTIONS_NODE_LATENCY

#define OPTIONS_NODE_LATENCY   "Latency"

◆ OPTIONS_NODE_LISTENER_INTERFACE

#define OPTIONS_NODE_LISTENER_INTERFACE   CAListenerInterface::XML_ELEMENT_NAME

◆ OPTIONS_NODE_LISTENER_INTERFACE_LIST

#define OPTIONS_NODE_LISTENER_INTERFACE_LIST   CAListenerInterface::XML_ELEMENT_CONTAINER_NAME

◆ OPTIONS_NODE_LISTENER_INTERFACES

#define OPTIONS_NODE_LISTENER_INTERFACES   CAListenerInterface::XML_ELEMENT_CONTAINER_NAME

◆ OPTIONS_NODE_LOGGING

#define OPTIONS_NODE_LOGGING   "Logging"

◆ OPTIONS_NODE_LOGGING_CONSOLE

#define OPTIONS_NODE_LOGGING_CONSOLE   "Console"

◆ OPTIONS_NODE_LOGGING_FILE

#define OPTIONS_NODE_LOGGING_FILE   "File"

◆ OPTIONS_NODE_LOGGING_KEYINFO

#define OPTIONS_NODE_LOGGING_KEYINFO   "KeyInfo"

◆ OPTIONS_NODE_MAX_USERS

#define OPTIONS_NODE_MAX_USERS   "MaxUsers"

◆ OPTIONS_NODE_MIN_CASCADE_LENGTH

#define OPTIONS_NODE_MIN_CASCADE_LENGTH   "MinCascadeLength"

◆ OPTIONS_NODE_MIX_CERTIFICATE_VERIFICATION

#define OPTIONS_NODE_MIX_CERTIFICATE_VERIFICATION   "MixCertificateVerification"

◆ OPTIONS_NODE_MIX_ID

#define OPTIONS_NODE_MIX_ID   "MixID"

◆ OPTIONS_NODE_MIX_NAME

#define OPTIONS_NODE_MIX_NAME   "MixName"

◆ OPTIONS_NODE_MIX_TYPE

#define OPTIONS_NODE_MIX_TYPE   "MixType"

◆ OPTIONS_NODE_NETWORK

#define OPTIONS_NODE_NETWORK   "Network"

◆ OPTIONS_NODE_NETWORK_PROTOCOL

#define OPTIONS_NODE_NETWORK_PROTOCOL   "NetworkProtocol"

◆ OPTIONS_NODE_NEXT_MIX

#define OPTIONS_NODE_NEXT_MIX   "NextMix"

◆ OPTIONS_NODE_NEXT_MIX_CERTIFICATE

#define OPTIONS_NODE_NEXT_MIX_CERTIFICATE   "NextMixCertificate"

◆ OPTIONS_NODE_NEXT_OPERATOR_CERTIFICATE

#define OPTIONS_NODE_NEXT_OPERATOR_CERTIFICATE   "NextOperatorCertificate"

◆ OPTIONS_NODE_OWN_CERTIFICATE

#define OPTIONS_NODE_OWN_CERTIFICATE   "OwnCertificate"

◆ OPTIONS_NODE_OWN_OPERATOR_CERTIFICATE

#define OPTIONS_NODE_OWN_OPERATOR_CERTIFICATE   "OperatorOwnCertificate"

◆ OPTIONS_NODE_PAYMENT_INSTANCE

#define OPTIONS_NODE_PAYMENT_INSTANCE   CAXMLBI::getXMLElementName()

◆ OPTIONS_NODE_PAYMENT_REMINDER

#define OPTIONS_NODE_PAYMENT_REMINDER   "PaymentReminderProbability"

◆ OPTIONS_NODE_PORT

#define OPTIONS_NODE_PORT   "Port"

◆ OPTIONS_NODE_PREPAID_IVAL

#define OPTIONS_NODE_PREPAID_IVAL   "PrepaidInterval"

◆ OPTIONS_NODE_PREPAID_IVAL_KB

#define OPTIONS_NODE_PREPAID_IVAL_KB   "PrepaidIntervalKbytes"

◆ OPTIONS_NODE_PREV_MIX_CERTIFICATE

#define OPTIONS_NODE_PREV_MIX_CERTIFICATE   "PrevMixCertificate"

◆ OPTIONS_NODE_PREV_OPERATOR_CERTIFICATE

#define OPTIONS_NODE_PREV_OPERATOR_CERTIFICATE   "PrevOperatorCertificate"

◆ OPTIONS_NODE_PRICE_CERTIFICATE

#define OPTIONS_NODE_PRICE_CERTIFICATE   "PriceCertificate"

◆ OPTIONS_NODE_PROXY

#define OPTIONS_NODE_PROXY   "Proxy"

◆ OPTIONS_NODE_PROXY_LIST

#define OPTIONS_NODE_PROXY_LIST   "Proxies"

◆ OPTIONS_NODE_PROXY_TYPE

#define OPTIONS_NODE_PROXY_TYPE   "ProxyType"

◆ OPTIONS_NODE_RESSOURCES

#define OPTIONS_NODE_RESSOURCES   "Ressources"

◆ OPTIONS_NODE_SERVER_MONITORING

#define OPTIONS_NODE_SERVER_MONITORING   "ServerMonitoring"

◆ OPTIONS_NODE_SETTLE_IVAL

#define OPTIONS_NODE_SETTLE_IVAL   "SettleInterval"

◆ OPTIONS_NODE_SIGNATURE

#define OPTIONS_NODE_SIGNATURE   "Signature"

◆ OPTIONS_NODE_SYSLOG

#define OPTIONS_NODE_SYSLOG   "Syslog"

◆ OPTIONS_NODE_TNCS

#define OPTIONS_NODE_TNCS   "TermsAndConditions"

◆ OPTIONS_NODE_TNCS_OPERATOR

#define OPTIONS_NODE_TNCS_OPERATOR   "Operator"

◆ OPTIONS_NODE_TNCS_OPTS

#define OPTIONS_NODE_TNCS_OPTS   "TermsAndConditionsOptions"

◆ OPTIONS_NODE_TNCS_TEMPLATE

#define OPTIONS_NODE_TNCS_TEMPLATE   "Template"

◆ OPTIONS_NODE_TNCS_TEMPLATES

#define OPTIONS_NODE_TNCS_TEMPLATES   "Templates"

◆ OPTIONS_NODE_TNCS_TRANSLATION

#define OPTIONS_NODE_TNCS_TRANSLATION   "TCTranslation"

◆ OPTIONS_NODE_TNCS_TRANSLATION_IMPORTS

#define OPTIONS_NODE_TNCS_TRANSLATION_IMPORTS   "TCTranslationImports"

◆ OPTIONS_NODE_TRUSTED_ROOT_CERTIFICATES

#define OPTIONS_NODE_TRUSTED_ROOT_CERTIFICATES   "TrustedRootCertificates"

◆ OPTIONS_NODE_UNLIMIT_TRAFFIC

#define OPTIONS_NODE_UNLIMIT_TRAFFIC   "UnlimitTraffic"

◆ OPTIONS_NODE_USER_ID

#define OPTIONS_NODE_USER_ID   "UserID"

◆ OPTIONS_NODE_VISIBLE_ADDRESS

#define OPTIONS_NODE_VISIBLE_ADDRESS   "VisibleAddress"

◆ OPTIONS_NODE_VISIBLE_ADDRESS_LIST

#define OPTIONS_NODE_VISIBLE_ADDRESS_LIST   "VisibleAddresses"

◆ OPTIONS_NODE_X509_CERTIFICATE

#define OPTIONS_NODE_X509_CERTIFICATE   "X509Certificate"

◆ OPTIONS_NODE_X509_PKCS12

#define OPTIONS_NODE_X509_PKCS12   "X509PKCS12"

◆ OPTIONS_NODE_X509DATA

#define OPTIONS_NODE_X509DATA   "X509Data"

◆ OPTIONS_VALUE_MIX_NAME

#define OPTIONS_VALUE_MIX_NAME   "Mix"

◆ OPTIONS_VALUE_NAMETYPE_DEFAULT

#define OPTIONS_VALUE_NAMETYPE_DEFAULT   OPTIONS_VALUE_MIX_NAME

◆ OPTIONS_VALUE_OPERATOR_NAME

#define OPTIONS_VALUE_OPERATOR_NAME   "Operator"

◆ REGEXP_BUFF_SIZE

#define REGEXP_BUFF_SIZE   4096

◆ TERMS_AND_CONDITIONS_OPTIONS_NR

#define TERMS_AND_CONDITIONS_OPTIONS_NR   2

◆ WITH_SUBTREE

#define WITH_SUBTREE   true

◆ WITHOUT_SUBTREE

#define WITHOUT_SUBTREE   (!(WITHSUBTREE))

Typedef Documentation

◆ optionSetter_pt

typedef SINT32(CACmdLnOptions::* optionSetter_pt) (DOMElement *)

Function Documentation

◆ setRegExpressions()

SINT32 setRegExpressions ( DOMElement *  rootElement,
const char *const  childElementName,
tre_regex_t **  regExContainer,
UINT32 regExNr 
)

◆ threadReConfigure()

THREAD_RETURN threadReConfigure ( void *  param)

Thread that does the actual reconfigure work.

Only one is running at the same time.

Parameters
parampointer to a t_CMNDLN_REREAD_PARAMS stuct containing a CACmdLnOptions object pointer and a CMix object pointer.

References E_SUCCESS, CACmdLnOptions::m_bIsRunReConfigure, CACmdLnOptions::m_strConfigFile, pMix, CAMsg::printMsg(), CACmdLnOptions::processXmlConfiguration(), CACmdLnOptions::readXmlConfiguration(), CAMix::reconfigure(), CACmdLnOptions::setNewValues(), and THREAD_RETURN_SUCCESS.