Kea  2.3.4-git
isc::process Namespace Reference

Classes

class  CBControlBase
 Base class for implementing server specific mechanisms to control the use of the Configuration Backends. More...
 
class  ConfigBase
 Base class for all configurations. More...
 
class  ConfigControlInfo
 Embodies configuration information used during a server's configuration process. More...
 
class  ConfigControlParser
 Implements parser for config control information, "config-control". More...
 
class  ConfigDbInfo
 Provides configuration information used during a server's configuration process. More...
 
class  Daemon
 Base class for all services. More...
 
class  DaemonPIDExists
 Exception thrown when the PID file points to a live PID. More...
 
class  DCfgMgrBase
 Configuration Manager. More...
 
class  DCfgMgrBaseError
 Exception thrown if the configuration manager encounters an error. More...
 
class  DControllerBase
 Application Controller. More...
 
class  DControllerBaseError
 Exception thrown when the controller encounters an operational error. More...
 
class  DProcessBase
 Application Process Interface. More...
 
class  DProcessBaseError
 Exception thrown if the process encountered an operational error. More...
 
class  InvalidUsage
 Exception thrown when the command line is invalid. More...
 
class  LaunchError
 Exception thrown when the controller launch fails. More...
 
class  LogConfigParser
 Configures log4cplus by translating Kea configuration structures. More...
 
struct  LoggingDestination
 Defines single logging destination. More...
 
class  LoggingInfo
 structure that describes one logging entry More...
 
class  ProcessInitError
 Exception thrown when the application process fails. More...
 
class  ProcessRunError
 Exception thrown when the application process encounters an operation in its event loop (i.e. More...
 
class  VersionMessage
 Exception used to convey version info upwards. More...
 

Typedefs

typedef boost::shared_ptr< ConfigControlInfoConfigControlInfoPtr
 Defines a pointer to a ConfigControlInfo. More...
 
typedef std::vector< ConfigDbInfoConfigDbInfoList
 
typedef boost::shared_ptr< ConfigBaseConfigPtr
 Non-const pointer to the ConfigBase. More...
 
typedef boost::shared_ptr< const ConfigControlInfoConstConfigControlInfoPtr
 Defines a pointer to a const ConfigControlInfo. More...
 
typedef boost::shared_ptr< DCfgMgrBaseDCfgMgrBasePtr
 Defines a shared pointer to DCfgMgrBase. More...
 
typedef boost::shared_ptr< DControllerBaseDControllerBasePtr
 
typedef boost::shared_ptr< DProcessBaseDProcessBasePtr
 Defines a shared pointer to DProcessBase. More...
 
typedef std::map< std::string, isc::data::ConstElementPtrElementMap
 Defines a map of ConstElementPtrs keyed by name. More...
 
typedef std::vector< isc::process::LoggingInfoLoggingInfoStorage
 storage for logging information in log4cplus format More...
 

Functions

bool hasObjectId (const db::AuditEntryCollection &audit_entries, const uint64_t &object_id)
 Checks if an object is in a collection od audit entries. More...
 
ConstElementPtr redactConfig (isc::data::ConstElementPtr const &element, std::list< std::string > const &json_path={"*"})
 Redact a configuration. More...
 

Variables

const char *const * d_config_report = isc::detail::config_report
 
const isc::log::MessageID DCTL_ALREADY_RUNNING = "DCTL_ALREADY_RUNNING"
 
const isc::log::MessageID DCTL_CCSESSION_ENDING = "DCTL_CCSESSION_ENDING"
 
const isc::log::MessageID DCTL_CFG_FILE_RELOAD_ERROR = "DCTL_CFG_FILE_RELOAD_ERROR"
 
const isc::log::MessageID DCTL_CFG_FILE_RELOAD_SIGNAL_RECVD = "DCTL_CFG_FILE_RELOAD_SIGNAL_RECVD"
 
const isc::log::MessageID DCTL_COMMAND_RECEIVED = "DCTL_COMMAND_RECEIVED"
 
const isc::log::MessageID DCTL_CONFIG_CHECK_COMPLETE = "DCTL_CONFIG_CHECK_COMPLETE"
 
const isc::log::MessageID DCTL_CONFIG_COMPLETE = "DCTL_CONFIG_COMPLETE"
 
const isc::log::MessageID DCTL_CONFIG_DEPRECATED = "DCTL_CONFIG_DEPRECATED"
 
const isc::log::MessageID DCTL_CONFIG_FETCH = "DCTL_CONFIG_FETCH"
 
const isc::log::MessageID DCTL_CONFIG_FILE_LOAD_FAIL = "DCTL_CONFIG_FILE_LOAD_FAIL"
 
const isc::log::MessageID DCTL_CONFIG_LOAD_FAIL = "DCTL_CONFIG_LOAD_FAIL"
 
const isc::log::MessageID DCTL_CONFIG_START = "DCTL_CONFIG_START"
 
const isc::log::MessageID DCTL_CONFIG_STUB = "DCTL_CONFIG_STUB"
 
const isc::log::MessageID DCTL_CONFIG_UPDATE = "DCTL_CONFIG_UPDATE"
 
const isc::log::MessageID DCTL_DEVELOPMENT_VERSION = "DCTL_DEVELOPMENT_VERSION"
 
const isc::log::MessageID DCTL_INIT_PROCESS = "DCTL_INIT_PROCESS"
 
const isc::log::MessageID DCTL_INIT_PROCESS_FAIL = "DCTL_INIT_PROCESS_FAIL"
 
isc::log::Logger dctl_logger ("dctl")
 Defines the logger used within libkea-process library. More...
 
const isc::log::MessageID DCTL_NOT_RUNNING = "DCTL_NOT_RUNNING"
 
const isc::log::MessageID DCTL_OPEN_CONFIG_DB = "DCTL_OPEN_CONFIG_DB"
 
const isc::log::MessageID DCTL_PARSER_FAIL = "DCTL_PARSER_FAIL"
 
const isc::log::MessageID DCTL_PID_FILE_ERROR = "DCTL_PID_FILE_ERROR"
 
const isc::log::MessageID DCTL_PROCESS_FAILED = "DCTL_PROCESS_FAILED"
 
const isc::log::MessageID DCTL_RUN_PROCESS = "DCTL_RUN_PROCESS"
 
const isc::log::MessageID DCTL_SESSION_FAIL = "DCTL_SESSION_FAIL"
 
const isc::log::MessageID DCTL_SHUTDOWN = "DCTL_SHUTDOWN"
 
const isc::log::MessageID DCTL_SHUTDOWN_SIGNAL_RECVD = "DCTL_SHUTDOWN_SIGNAL_RECVD"
 
const isc::log::MessageID DCTL_STANDALONE = "DCTL_STANDALONE"
 
const isc::log::MessageID DCTL_STARTING = "DCTL_STARTING"
 
const isc::log::MessageID DCTL_UNLOAD_LIBRARIES_ERROR = "DCTL_UNLOAD_LIBRARIES_ERROR"
 
const isc::log::MessageID DCTL_UNSUPPORTED_SIGNAL = "DCTL_UNSUPPORTED_SIGNAL"
 

Typedef Documentation

◆ ConfigControlInfoPtr

Defines a pointer to a ConfigControlInfo.

Definition at line 239 of file config_ctl_info.h.

◆ ConfigDbInfoList

Definition at line 112 of file config_ctl_info.h.

◆ ConfigPtr

typedef boost::shared_ptr<ConfigBase> isc::process::ConfigPtr

Non-const pointer to the ConfigBase.

Definition at line 176 of file config_base.h.

◆ ConstConfigControlInfoPtr

Defines a pointer to a const ConfigControlInfo.

Definition at line 242 of file config_ctl_info.h.

◆ DCfgMgrBasePtr

typedef boost::shared_ptr<DCfgMgrBase> isc::process::DCfgMgrBasePtr

Defines a shared pointer to DCfgMgrBase.

Definition at line 247 of file d_cfg_mgr.h.

◆ DControllerBasePtr

Definition at line 78 of file d_controller.h.

◆ DProcessBasePtr

typedef boost::shared_ptr<DProcessBase> isc::process::DProcessBasePtr

Defines a shared pointer to DProcessBase.

Definition at line 215 of file d_process.h.

◆ ElementMap

typedef std::map<std::string, isc::data::ConstElementPtr> isc::process::ElementMap

Defines a map of ConstElementPtrs keyed by name.

Definition at line 26 of file d_cfg_mgr.h.

◆ LoggingInfoStorage

storage for logging information in log4cplus format

Definition at line 141 of file logging_info.h.

Function Documentation

◆ hasObjectId()

bool isc::process::hasObjectId ( const db::AuditEntryCollection audit_entries,
const uint64_t &  object_id 
)
inline

Checks if an object is in a collection od audit entries.

Parameters
audit_entriescollection od audit entries to search for.
object_idobject identifier.

Definition at line 364 of file cb_ctl_base.h.

Referenced by isc::dhcp::CBControlDHCPv4::databaseConfigApply(), and isc::dhcp::CBControlDHCPv6::databaseConfigApply().

◆ redactConfig()

isc::data::ConstElementPtr isc::process::redactConfig ( isc::data::ConstElementPtr const &  element,
std::list< std::string > const &  json_path = {"*"} 
)

Redact a configuration.

This method walks on the configuration tree:

  • it copies only subtrees where a change was done.
  • it replaces passwords and secrets by asterisks.
  • it skips user context.
  • if a not empty list of keywords is given it follows only them.
Parameters
elementinitially the Element tree structure that describe the configuration and smaller subtrees in recursive calls.
json_pathJSON path to redact
Returns
a copy of the config where passwords and secrets were replaced by asterisks so it can be safely logged to an unprivileged place.

Definition at line 92 of file redact_config.cc.

Referenced by isc::dhcp::ControlledDhcpv4Srv::checkConfig(), isc::dhcp::ControlledDhcpv6Srv::checkConfig(), isc::d2::D2Process::configure(), isc::process::DCfgMgrBase::getContext(), isc::process::DCfgMgrBase::redactConfig(), isc::process::Daemon::redactConfig(), isc::process::Daemon::setExitValue(), and isc::process::DCfgMgrBase::simpleParseConfig().

Variable Documentation

◆ d_config_report

const char* const* isc::process::d_config_report = isc::detail::config_report

Definition at line 826 of file d_controller.cc.

◆ DCTL_ALREADY_RUNNING

const isc::log::MessageID isc::process::DCTL_ALREADY_RUNNING = "DCTL_ALREADY_RUNNING"

Definition at line 11 of file process_messages.h.

Referenced by isc::process::DControllerBase::launch().

◆ DCTL_CCSESSION_ENDING

const isc::log::MessageID isc::process::DCTL_CCSESSION_ENDING = "DCTL_CCSESSION_ENDING"

Definition at line 12 of file process_messages.h.

◆ DCTL_CFG_FILE_RELOAD_ERROR

const isc::log::MessageID isc::process::DCTL_CFG_FILE_RELOAD_ERROR = "DCTL_CFG_FILE_RELOAD_ERROR"

Definition at line 13 of file process_messages.h.

Referenced by isc::process::DControllerBase::processSignal().

◆ DCTL_CFG_FILE_RELOAD_SIGNAL_RECVD

const isc::log::MessageID isc::process::DCTL_CFG_FILE_RELOAD_SIGNAL_RECVD = "DCTL_CFG_FILE_RELOAD_SIGNAL_RECVD"

Definition at line 14 of file process_messages.h.

Referenced by isc::process::DControllerBase::processSignal().

◆ DCTL_COMMAND_RECEIVED

const isc::log::MessageID isc::process::DCTL_COMMAND_RECEIVED = "DCTL_COMMAND_RECEIVED"

Definition at line 15 of file process_messages.h.

◆ DCTL_CONFIG_CHECK_COMPLETE

const isc::log::MessageID isc::process::DCTL_CONFIG_CHECK_COMPLETE = "DCTL_CONFIG_CHECK_COMPLETE"

Definition at line 16 of file process_messages.h.

Referenced by isc::process::DCfgMgrBase::simpleParseConfig().

◆ DCTL_CONFIG_COMPLETE

const isc::log::MessageID isc::process::DCTL_CONFIG_COMPLETE = "DCTL_CONFIG_COMPLETE"

Definition at line 17 of file process_messages.h.

Referenced by isc::process::DCfgMgrBase::simpleParseConfig().

◆ DCTL_CONFIG_DEPRECATED

const isc::log::MessageID isc::process::DCTL_CONFIG_DEPRECATED = "DCTL_CONFIG_DEPRECATED"

◆ DCTL_CONFIG_FETCH

const isc::log::MessageID isc::process::DCTL_CONFIG_FETCH = "DCTL_CONFIG_FETCH"

◆ DCTL_CONFIG_FILE_LOAD_FAIL

const isc::log::MessageID isc::process::DCTL_CONFIG_FILE_LOAD_FAIL = "DCTL_CONFIG_FILE_LOAD_FAIL"

Definition at line 20 of file process_messages.h.

Referenced by isc::process::DControllerBase::launch().

◆ DCTL_CONFIG_LOAD_FAIL

const isc::log::MessageID isc::process::DCTL_CONFIG_LOAD_FAIL = "DCTL_CONFIG_LOAD_FAIL"

Definition at line 21 of file process_messages.h.

◆ DCTL_CONFIG_START

const isc::log::MessageID isc::process::DCTL_CONFIG_START = "DCTL_CONFIG_START"

Definition at line 22 of file process_messages.h.

Referenced by isc::process::DCfgMgrBase::simpleParseConfig().

◆ DCTL_CONFIG_STUB

const isc::log::MessageID isc::process::DCTL_CONFIG_STUB = "DCTL_CONFIG_STUB"

Definition at line 23 of file process_messages.h.

◆ DCTL_CONFIG_UPDATE

const isc::log::MessageID isc::process::DCTL_CONFIG_UPDATE = "DCTL_CONFIG_UPDATE"

Definition at line 24 of file process_messages.h.

◆ DCTL_DEVELOPMENT_VERSION

const isc::log::MessageID isc::process::DCTL_DEVELOPMENT_VERSION = "DCTL_DEVELOPMENT_VERSION"

Definition at line 25 of file process_messages.h.

Referenced by isc::process::DControllerBase::launch().

◆ DCTL_INIT_PROCESS

const isc::log::MessageID isc::process::DCTL_INIT_PROCESS = "DCTL_INIT_PROCESS"

Definition at line 26 of file process_messages.h.

Referenced by isc::process::DControllerBase::initProcess().

◆ DCTL_INIT_PROCESS_FAIL

const isc::log::MessageID isc::process::DCTL_INIT_PROCESS_FAIL = "DCTL_INIT_PROCESS_FAIL"

Definition at line 27 of file process_messages.h.

Referenced by isc::process::DControllerBase::launch().

◆ dctl_logger

◆ DCTL_NOT_RUNNING

const isc::log::MessageID isc::process::DCTL_NOT_RUNNING = "DCTL_NOT_RUNNING"

Definition at line 28 of file process_messages.h.

Referenced by isc::process::DControllerBase::shutdownProcess().

◆ DCTL_OPEN_CONFIG_DB

const isc::log::MessageID isc::process::DCTL_OPEN_CONFIG_DB = "DCTL_OPEN_CONFIG_DB"

◆ DCTL_PARSER_FAIL

const isc::log::MessageID isc::process::DCTL_PARSER_FAIL = "DCTL_PARSER_FAIL"

Definition at line 30 of file process_messages.h.

Referenced by isc::process::DCfgMgrBase::simpleParseConfig().

◆ DCTL_PID_FILE_ERROR

const isc::log::MessageID isc::process::DCTL_PID_FILE_ERROR = "DCTL_PID_FILE_ERROR"

Definition at line 31 of file process_messages.h.

Referenced by isc::process::DControllerBase::launch().

◆ DCTL_PROCESS_FAILED

const isc::log::MessageID isc::process::DCTL_PROCESS_FAILED = "DCTL_PROCESS_FAILED"

Definition at line 32 of file process_messages.h.

Referenced by isc::process::DControllerBase::launch().

◆ DCTL_RUN_PROCESS

const isc::log::MessageID isc::process::DCTL_RUN_PROCESS = "DCTL_RUN_PROCESS"

Definition at line 33 of file process_messages.h.

Referenced by isc::process::DControllerBase::runProcess().

◆ DCTL_SESSION_FAIL

const isc::log::MessageID isc::process::DCTL_SESSION_FAIL = "DCTL_SESSION_FAIL"

Definition at line 34 of file process_messages.h.

◆ DCTL_SHUTDOWN

const isc::log::MessageID isc::process::DCTL_SHUTDOWN = "DCTL_SHUTDOWN"

Definition at line 35 of file process_messages.h.

Referenced by isc::process::DControllerBase::launch().

◆ DCTL_SHUTDOWN_SIGNAL_RECVD

const isc::log::MessageID isc::process::DCTL_SHUTDOWN_SIGNAL_RECVD = "DCTL_SHUTDOWN_SIGNAL_RECVD"

Definition at line 36 of file process_messages.h.

Referenced by isc::process::DControllerBase::processSignal().

◆ DCTL_STANDALONE

const isc::log::MessageID isc::process::DCTL_STANDALONE = "DCTL_STANDALONE"

Definition at line 37 of file process_messages.h.

Referenced by isc::process::DControllerBase::launch().

◆ DCTL_STARTING

const isc::log::MessageID isc::process::DCTL_STARTING = "DCTL_STARTING"

Definition at line 38 of file process_messages.h.

Referenced by isc::process::DControllerBase::launch().

◆ DCTL_UNLOAD_LIBRARIES_ERROR

const isc::log::MessageID isc::process::DCTL_UNLOAD_LIBRARIES_ERROR = "DCTL_UNLOAD_LIBRARIES_ERROR"

Definition at line 39 of file process_messages.h.

Referenced by isc::process::DControllerBase::~DControllerBase().

◆ DCTL_UNSUPPORTED_SIGNAL

const isc::log::MessageID isc::process::DCTL_UNSUPPORTED_SIGNAL = "DCTL_UNSUPPORTED_SIGNAL"