Mixe for Privacy and Anonymity in the Internet
Classes | Macros | Typedefs | Functions
CACmdLnOptions.hpp File Reference
#include "CASocketAddrINet.hpp"
#include "CASignature.hpp"
#include "CASocket.hpp"
#include "CAMultiSignature.hpp"
#include "CAIPAddrWithNetmask.hpp"
#include "CACertificate.hpp"
#include "CAThread.hpp"
#include "CAMix.hpp"
#include "CAListenerInterface.hpp"
#include "CATargetInterface.hpp"
#include "CAXMLBI.hpp"
#include "CAXMLPriceCert.hpp"
#include "tre/tre.h"
#include "CASymChannelCipher.hpp"
Include dependency graph for CACmdLnOptions.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

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

Definition at line 993 of file CACmdLnOptions.hpp.

◆ ASSERT_ACCOUNTING_OPTIONS_PARENT

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

Definition at line 223 of file CACmdLnOptions.hpp.

◆ ASSERT_CERTIFICATES_OPTIONS_PARENT

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

Definition at line 220 of file CACmdLnOptions.hpp.

◆ ASSERT_CRIME_DETECTION_OPTIONS_PARENT

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

Definition at line 229 of file CACmdLnOptions.hpp.

◆ ASSERT_GENERAL_OPTIONS_PARENT

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

Definition at line 217 of file CACmdLnOptions.hpp.

◆ ASSERT_NETWORK_OPTIONS_PARENT

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

Definition at line 226 of file CACmdLnOptions.hpp.

◆ 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:645
#define E_UNKNOWN
Definition: errorcodes.hpp:3

Definition at line 208 of file CACmdLnOptions.hpp.

◆ DEFAULT_CONFIG_FILE

#define DEFAULT_CONFIG_FILE   "default.xml"

Definition at line 55 of file CACmdLnOptions.hpp.

◆ DEFAULT_TARGET_PORT

#define DEFAULT_TARGET_PORT   6544

Definition at line 54 of file CACmdLnOptions.hpp.

◆ GENERAL_OPTIONS_NR

#define GENERAL_OPTIONS_NR   13

Definition at line 958 of file CACmdLnOptions.hpp.

◆ 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))

Definition at line 201 of file CACmdLnOptions.hpp.

◆ LOG_NODE_NOT_FOUND

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

Definition at line 198 of file CACmdLnOptions.hpp.

◆ 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))

Definition at line 204 of file CACmdLnOptions.hpp.

◆ LOGGING_MAXFILES_DEFAULT

#define LOGGING_MAXFILES_DEFAULT   10

Definition at line 83 of file CACmdLnOptions.hpp.

◆ MAIN_OPTION_SETTERS_NR

#define MAIN_OPTION_SETTERS_NR   8

Definition at line 948 of file CACmdLnOptions.hpp.

◆ MAX_CERTIFICATE_OPTIONS_NR

#define MAX_CERTIFICATE_OPTIONS_NR   6

Definition at line 982 of file CACmdLnOptions.hpp.

◆ MIN_INFOSERVICES

#define MIN_INFOSERVICES   1

Definition at line 56 of file CACmdLnOptions.hpp.

◆ MIXINFO_ATTRIBUTE_MIX_ID

#define MIXINFO_ATTRIBUTE_MIX_ID   "id"

Definition at line 196 of file CACmdLnOptions.hpp.

◆ MIXINFO_NODE_MIX_NAME

#define MIXINFO_NODE_MIX_NAME   "Name"

Definition at line 190 of file CACmdLnOptions.hpp.

◆ MIXINFO_NODE_PARENT

#define MIXINFO_NODE_PARENT   "Mix"

Definition at line 189 of file CACmdLnOptions.hpp.

◆ MIXINFO_NODE_PAYMENTREMINDER

#define MIXINFO_NODE_PAYMENTREMINDER   "PaymentReminderProbability"

Definition at line 194 of file CACmdLnOptions.hpp.

◆ MIXINFO_NODE_SOFTWARE

#define MIXINFO_NODE_SOFTWARE   "Software"

Definition at line 191 of file CACmdLnOptions.hpp.

◆ MIXINFO_NODE_VERSION

#define MIXINFO_NODE_VERSION   "Version"

Definition at line 192 of file CACmdLnOptions.hpp.

◆ NETWORK_OPTIONS_NR

#define NETWORK_OPTIONS_NR   5

Definition at line 1005 of file CACmdLnOptions.hpp.

◆ OPTIONS_ATTRIBUTE_LOG_PAYLOAD

#define OPTIONS_ATTRIBUTE_LOG_PAYLOAD   "logPayload"

Definition at line 187 of file CACmdLnOptions.hpp.

◆ OPTIONS_ATTRIBUTE_LOGGING_MAXFILES

#define OPTIONS_ATTRIBUTE_LOGGING_MAXFILES   "MaxFiles"

Definition at line 82 of file CACmdLnOptions.hpp.

◆ OPTIONS_ATTRIBUTE_LOGGING_MAXFILESIZE

#define OPTIONS_ATTRIBUTE_LOGGING_MAXFILESIZE   "MaxFileSize"

Definition at line 81 of file CACmdLnOptions.hpp.

◆ OPTIONS_ATTRIBUTE_NAME_FOR_CASCADE

#define OPTIONS_ATTRIBUTE_NAME_FOR_CASCADE   "forCascade"

Definition at line 88 of file CACmdLnOptions.hpp.

◆ OPTIONS_ATTRIBUTE_TNC_DATE

#define OPTIONS_ATTRIBUTE_TNC_DATE   "date"

Definition at line 170 of file CACmdLnOptions.hpp.

◆ OPTIONS_ATTRIBUTE_TNC_DEFAULT_LANG

#define OPTIONS_ATTRIBUTE_TNC_DEFAULT_LANG   "defaultLang"

Definition at line 178 of file CACmdLnOptions.hpp.

◆ OPTIONS_ATTRIBUTE_TNC_DEFAULT_LANG_DEFINED

#define OPTIONS_ATTRIBUTE_TNC_DEFAULT_LANG_DEFINED   "default"

Definition at line 177 of file CACmdLnOptions.hpp.

◆ OPTIONS_ATTRIBUTE_TNC_ID

#define OPTIONS_ATTRIBUTE_TNC_ID   "id"

Definition at line 175 of file CACmdLnOptions.hpp.

◆ OPTIONS_ATTRIBUTE_TNC_LOCALE

#define OPTIONS_ATTRIBUTE_TNC_LOCALE   "locale"

Definition at line 173 of file CACmdLnOptions.hpp.

◆ OPTIONS_ATTRIBUTE_TNC_SERIAL

#define OPTIONS_ATTRIBUTE_TNC_SERIAL   "serial"

Definition at line 171 of file CACmdLnOptions.hpp.

◆ OPTIONS_ATTRIBUTE_TNC_TEMPLATE_REFID

#define OPTIONS_ATTRIBUTE_TNC_TEMPLATE_REFID   "referenceId"

Definition at line 176 of file CACmdLnOptions.hpp.

◆ OPTIONS_ATTRIBUTE_TNC_TEMPLATE_TYPE

#define OPTIONS_ATTRIBUTE_TNC_TEMPLATE_TYPE   "type"

Definition at line 174 of file CACmdLnOptions.hpp.

◆ OPTIONS_ATTRIBUTE_TNC_VERSION

#define OPTIONS_ATTRIBUTE_TNC_VERSION   "version"

Definition at line 172 of file CACmdLnOptions.hpp.

◆ OPTIONS_DEFAULT_PREPAID_IVAL

#define OPTIONS_DEFAULT_PREPAID_IVAL   3000000

Definition at line 129 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_ACCOUNTING

#define OPTIONS_NODE_ACCOUNTING   "Accounting"

Definition at line 113 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_AI_DB

#define OPTIONS_NODE_AI_DB   "Database"

Definition at line 122 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_AI_DB_HOST

#define OPTIONS_NODE_AI_DB_HOST   "Host"

Definition at line 123 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_AI_DB_NAME

#define OPTIONS_NODE_AI_DB_NAME   "DBName"

Definition at line 125 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_AI_DB_PASSW

#define OPTIONS_NODE_AI_DB_PASSW   "Password"

Definition at line 127 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_AI_DB_PORT

#define OPTIONS_NODE_AI_DB_PORT   "Port"

Definition at line 124 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_AI_DB_USER

#define OPTIONS_NODE_AI_DB_USER   "Username"

Definition at line 126 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_AI_HARD_LIMIT

#define OPTIONS_NODE_AI_HARD_LIMIT   "HardLimit"

Definition at line 118 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_AI_SOFT_LIMIT

#define OPTIONS_NODE_AI_SOFT_LIMIT   "SoftLimit"

Definition at line 117 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_ALLOW_AUTO_CONF

#define OPTIONS_NODE_ALLOW_AUTO_CONF   "AllowAutoConfiguration"

Definition at line 135 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_BYTES_PER_IVAL

#define OPTIONS_NODE_BYTES_PER_IVAL   "BytesPerIntervall"

Definition at line 159 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_CASCADE_NAME

#define OPTIONS_NODE_CASCADE_NAME   "CascadeName"

Definition at line 71 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_CERTIFICATE_LIST

#define OPTIONS_NODE_CERTIFICATE_LIST   "Certificates"

Definition at line 96 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_CREDENTIAL

#define OPTIONS_NODE_CREDENTIAL   "AccessControlCredential"

Definition at line 75 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_CRIME_DETECTION

#define OPTIONS_NODE_CRIME_DETECTION   "CrimeDetection"

Definition at line 180 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_CRIME_REGEXP_PAYLOAD

#define OPTIONS_NODE_CRIME_REGEXP_PAYLOAD   "RegExpPayload"

Definition at line 183 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_CRIME_REGEXP_URL

#define OPTIONS_NODE_CRIME_REGEXP_URL   "RegExpURL"

Definition at line 182 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_CRIME_SURVEILLANCE_ACCOUNT

#define OPTIONS_NODE_CRIME_SURVEILLANCE_ACCOUNT   "PayAccountNumber"

Definition at line 186 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_CRIME_SURVEILLANCE_IP

#define OPTIONS_NODE_CRIME_SURVEILLANCE_IP   "SurveillanceIP"

Definition at line 184 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_CRIME_SURVEILLANCE_IP_NETMASK

#define OPTIONS_NODE_CRIME_SURVEILLANCE_IP_NETMASK   "netmask"

Definition at line 185 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_DAEMON

#define OPTIONS_NODE_DAEMON   "Daemon"

Definition at line 74 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_DELAY_IVAL

#define OPTIONS_NODE_DELAY_IVAL   "Intervall"

Definition at line 160 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_DESCRIPTION

#define OPTIONS_NODE_DESCRIPTION   "Description"

Definition at line 87 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_DYNAMIC_MIX

#define OPTIONS_NODE_DYNAMIC_MIX   "Dynamic"

Definition at line 69 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_ENCRYPTED_LOG

#define OPTIONS_NODE_ENCRYPTED_LOG   "EncryptedLog"

Definition at line 85 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_FD_NR

#define OPTIONS_NODE_FD_NR   "NrOfFileDescriptors"

Definition at line 73 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_FILE

#define OPTIONS_NODE_FILE   "File"

Definition at line 154 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_GENERAL

#define OPTIONS_NODE_GENERAL   "General"

Definition at line 64 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_HOST

#define OPTIONS_NODE_HOST   "Host"

Definition at line 152 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_INFOSERVICE

#define OPTIONS_NODE_INFOSERVICE   "InfoService"

Definition at line 134 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_INFOSERVICE_LIST

#define OPTIONS_NODE_INFOSERVICE_LIST   "InfoServices"

Definition at line 133 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_IP [1/2]

#define OPTIONS_NODE_IP   "IP"

Definition at line 151 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_IP [2/2]

#define OPTIONS_NODE_IP   "IP"

Definition at line 151 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_KEEP_ALIVE

#define OPTIONS_NODE_KEEP_ALIVE   "KeepAlive"

Definition at line 148 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_KEEP_ALIVE_RECV_IVAL

#define OPTIONS_NODE_KEEP_ALIVE_RECV_IVAL   "ReceiveInterval"

Definition at line 150 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_KEEP_ALIVE_SEND_IVAL

#define OPTIONS_NODE_KEEP_ALIVE_SEND_IVAL   "SendInterval"

Definition at line 149 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_LATENCY

#define OPTIONS_NODE_LATENCY   "Latency"

Definition at line 161 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_LISTENER_INTERFACE

#define OPTIONS_NODE_LISTENER_INTERFACE   CAListenerInterface::XML_ELEMENT_NAME

Definition at line 147 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_LISTENER_INTERFACE_LIST

#define OPTIONS_NODE_LISTENER_INTERFACE_LIST   CAListenerInterface::XML_ELEMENT_CONTAINER_NAME

Definition at line 146 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_LISTENER_INTERFACES

#define OPTIONS_NODE_LISTENER_INTERFACES   CAListenerInterface::XML_ELEMENT_CONTAINER_NAME

Definition at line 136 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_LOGGING

#define OPTIONS_NODE_LOGGING   "Logging"

Definition at line 78 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_LOGGING_CONSOLE

#define OPTIONS_NODE_LOGGING_CONSOLE   "Console"

Definition at line 79 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_LOGGING_FILE

#define OPTIONS_NODE_LOGGING_FILE   "File"

Definition at line 80 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_LOGGING_KEYINFO

#define OPTIONS_NODE_LOGGING_KEYINFO   "KeyInfo"

Definition at line 86 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_MAX_USERS

#define OPTIONS_NODE_MAX_USERS   "MaxUsers"

Definition at line 76 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_MIN_CASCADE_LENGTH

#define OPTIONS_NODE_MIN_CASCADE_LENGTH   "MinCascadeLength"

Definition at line 70 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_MIX_CERTIFICATE_VERIFICATION

#define OPTIONS_NODE_MIX_CERTIFICATE_VERIFICATION   "MixCertificateVerification"

Definition at line 105 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_MIX_ID

#define OPTIONS_NODE_MIX_ID   "MixID"

Definition at line 68 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_MIX_NAME

#define OPTIONS_NODE_MIX_NAME   "MixName"

Definition at line 67 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_MIX_TYPE

#define OPTIONS_NODE_MIX_TYPE   "MixType"

Definition at line 66 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_NETWORK

#define OPTIONS_NODE_NETWORK   "Network"

Definition at line 131 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_NETWORK_PROTOCOL

#define OPTIONS_NODE_NETWORK_PROTOCOL   "NetworkProtocol"

Definition at line 138 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_NEXT_MIX

#define OPTIONS_NODE_NEXT_MIX   "NextMix"

Definition at line 137 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_NEXT_MIX_CERTIFICATE

#define OPTIONS_NODE_NEXT_MIX_CERTIFICATE   "NextMixCertificate"

Definition at line 100 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_NEXT_OPERATOR_CERTIFICATE

#define OPTIONS_NODE_NEXT_OPERATOR_CERTIFICATE   "NextOperatorCertificate"

Definition at line 101 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_OWN_CERTIFICATE

#define OPTIONS_NODE_OWN_CERTIFICATE   "OwnCertificate"

Definition at line 98 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_OWN_OPERATOR_CERTIFICATE

#define OPTIONS_NODE_OWN_OPERATOR_CERTIFICATE   "OperatorOwnCertificate"

Definition at line 99 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_PAYMENT_INSTANCE

#define OPTIONS_NODE_PAYMENT_INSTANCE   CAXMLBI::getXMLElementName()

Definition at line 116 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_PAYMENT_REMINDER

#define OPTIONS_NODE_PAYMENT_REMINDER   "PaymentReminderProbability"

Definition at line 77 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_PORT

#define OPTIONS_NODE_PORT   "Port"

Definition at line 153 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_PREPAID_IVAL

#define OPTIONS_NODE_PREPAID_IVAL   "PrepaidInterval"

Definition at line 120 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_PREPAID_IVAL_KB

#define OPTIONS_NODE_PREPAID_IVAL_KB   "PrepaidIntervalKbytes"

Definition at line 121 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_PREV_MIX_CERTIFICATE

#define OPTIONS_NODE_PREV_MIX_CERTIFICATE   "PrevMixCertificate"

Definition at line 102 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_PREV_OPERATOR_CERTIFICATE

#define OPTIONS_NODE_PREV_OPERATOR_CERTIFICATE   "PrevOperatorCertificate"

Definition at line 103 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_PRICE_CERTIFICATE

#define OPTIONS_NODE_PRICE_CERTIFICATE   "PriceCertificate"

Definition at line 115 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_PROXY

#define OPTIONS_NODE_PROXY   "Proxy"

Definition at line 141 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_PROXY_LIST

#define OPTIONS_NODE_PROXY_LIST   "Proxies"

Definition at line 140 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_PROXY_TYPE

#define OPTIONS_NODE_PROXY_TYPE   "ProxyType"

Definition at line 142 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_RESSOURCES

#define OPTIONS_NODE_RESSOURCES   "Ressources"

Definition at line 156 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_SERVER_MONITORING

#define OPTIONS_NODE_SERVER_MONITORING   "ServerMonitoring"

Definition at line 143 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_SETTLE_IVAL

#define OPTIONS_NODE_SETTLE_IVAL   "SettleInterval"

Definition at line 119 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_SIGNATURE

#define OPTIONS_NODE_SIGNATURE   "Signature"

Definition at line 109 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_SYSLOG

#define OPTIONS_NODE_SYSLOG   "Syslog"

Definition at line 84 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_TNCS

#define OPTIONS_NODE_TNCS   "TermsAndConditions"

Definition at line 166 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_TNCS_OPERATOR

#define OPTIONS_NODE_TNCS_OPERATOR   "Operator"

Definition at line 169 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_TNCS_OPTS

#define OPTIONS_NODE_TNCS_OPTS   "TermsAndConditionsOptions"

Definition at line 163 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_TNCS_TEMPLATE

#define OPTIONS_NODE_TNCS_TEMPLATE   "Template"

Definition at line 165 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_TNCS_TEMPLATES

#define OPTIONS_NODE_TNCS_TEMPLATES   "Templates"

Definition at line 164 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_TNCS_TRANSLATION

#define OPTIONS_NODE_TNCS_TRANSLATION   "TCTranslation"

Definition at line 167 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_TNCS_TRANSLATION_IMPORTS

#define OPTIONS_NODE_TNCS_TRANSLATION_IMPORTS   "TCTranslationImports"

Definition at line 168 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_TRUSTED_ROOT_CERTIFICATES

#define OPTIONS_NODE_TRUSTED_ROOT_CERTIFICATES   "TrustedRootCertificates"

Definition at line 104 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_UNLIMIT_TRAFFIC

#define OPTIONS_NODE_UNLIMIT_TRAFFIC   "UnlimitTraffic"

Definition at line 158 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_USER_ID

#define OPTIONS_NODE_USER_ID   "UserID"

Definition at line 72 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_VISIBLE_ADDRESS

#define OPTIONS_NODE_VISIBLE_ADDRESS   "VisibleAddress"

Definition at line 145 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_VISIBLE_ADDRESS_LIST

#define OPTIONS_NODE_VISIBLE_ADDRESS_LIST   "VisibleAddresses"

Definition at line 144 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_X509_CERTIFICATE

#define OPTIONS_NODE_X509_CERTIFICATE   "X509Certificate"

Definition at line 107 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_X509_PKCS12

#define OPTIONS_NODE_X509_PKCS12   "X509PKCS12"

Definition at line 108 of file CACmdLnOptions.hpp.

◆ OPTIONS_NODE_X509DATA

#define OPTIONS_NODE_X509DATA   "X509Data"

Definition at line 106 of file CACmdLnOptions.hpp.

◆ OPTIONS_VALUE_MIX_NAME

#define OPTIONS_VALUE_MIX_NAME   "Mix"

Definition at line 92 of file CACmdLnOptions.hpp.

◆ OPTIONS_VALUE_NAMETYPE_DEFAULT

#define OPTIONS_VALUE_NAMETYPE_DEFAULT   OPTIONS_VALUE_MIX_NAME

Definition at line 93 of file CACmdLnOptions.hpp.

◆ OPTIONS_VALUE_OPERATOR_NAME

#define OPTIONS_VALUE_OPERATOR_NAME   "Operator"

Definition at line 91 of file CACmdLnOptions.hpp.

◆ REGEXP_BUFF_SIZE

#define REGEXP_BUFF_SIZE   4096

Definition at line 50 of file CACmdLnOptions.hpp.

◆ TERMS_AND_CONDITIONS_OPTIONS_NR

#define TERMS_AND_CONDITIONS_OPTIONS_NR   2

Definition at line 1014 of file CACmdLnOptions.hpp.

◆ WITH_SUBTREE

#define WITH_SUBTREE   true

Definition at line 59 of file CACmdLnOptions.hpp.

◆ WITHOUT_SUBTREE

#define WITHOUT_SUBTREE   (!(WITHSUBTREE))

Definition at line 60 of file CACmdLnOptions.hpp.

Typedef Documentation

◆ optionSetter_pt

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

Definition at line 235 of file CACmdLnOptions.hpp.

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.

Definition at line 693 of file CACmdLnOptions.cpp.

1230  {
1231  CACmdLnOptions* pOptions=((t_CMNDLN_REREAD_PARAMS*)param)->pCmdLnOptions;
1232  CAMix* pMix=((t_CMNDLN_REREAD_PARAMS*)param)->pMix;
1233  //pOptions->m_pcsReConfigure->lock();
1234  CAMsg::printMsg(LOG_DEBUG,"ReConfiguration of the Mix is under way....\n");
1235  CACmdLnOptions otmpOptions;
1236  XERCES_CPP_NAMESPACE::DOMDocument* docConfig=NULL;
1237  if(otmpOptions.readXmlConfiguration(docConfig,pOptions->m_strConfigFile)!=E_SUCCESS)
1238  {
1239  CAMsg::printMsg(LOG_DEBUG,"Could not re-read the config file!\n");
1240  goto REREAD_FINISH;
1241  }
1242  CAMsg::printMsg(LOG_DEBUG,"Re-readed config file -- start processing config file!\n");
1243  if(otmpOptions.processXmlConfiguration(docConfig)!=E_SUCCESS)
1244  {
1245  CAMsg::printMsg(LOG_DEBUG,"Re-readed config file -- could not process configuration!\n");
1246  goto REREAD_FINISH;
1247  }
1248  pOptions->setNewValues(otmpOptions);
1249  if(pMix!=NULL)
1250  pMix->reconfigure();
1251 
1252 REREAD_FINISH:
1253  CAMsg::printMsg(LOG_DEBUG,"ReConfiguration of the Mix finished!\n");
1254  //pOptions->m_pcsReConfigure->unlock();
1255  pOptions->m_bIsRunReConfigure=false;
1257  }
#define THREAD_RETURN_SUCCESS
Definition: StdAfx.h:542
SINT32 processXmlConfiguration(XERCES_CPP_NAMESPACE::DOMDocument *docConfig)
SINT32 setNewValues(CACmdLnOptions &newOptions)
Copies options from newOptions.
SINT32 readXmlConfiguration(XERCES_CPP_NAMESPACE::DOMDocument *&docConfig, const UINT8 *const configFileName)
Tries to read the XML configuration file configFile and parses (but not process) it.
Definition: CAMix.hpp:49
virtual SINT32 reconfigure()
Definition: CAMix.hpp:65
static SINT32 printMsg(UINT32 typ, const char *format,...)
Writes a given message to the log.
Definition: CAMsg.cpp:251
const SINT32 E_SUCCESS
Definition: errorcodes.hpp:2
CAMix * pMix
Definition: proxytest.cpp:75