Kea  1.5.0
isc::d2 Namespace Reference

Classes

class  D2CfgContext
 DHCP-DDNS Configuration Context. More...
 
class  D2CfgError
 Exception thrown when the error during configuration handling occurs. More...
 
class  D2CfgMgr
 DHCP-DDNS Configuration Manager. More...
 
class  D2Controller
 Process Controller for D2 Process This class is the DHCP-DDNS specific derivation of DControllerBase. More...
 
class  D2Params
 Acts as a storage vault for D2 global scalar parameters. More...
 
class  D2ParseError
 Evaluation error exception raised when trying to parse. More...
 
class  D2Parser
 A Bison parser. More...
 
class  D2ParserContext
 Evaluation context, an interface to the expression evaluation. More...
 
class  D2Process
 DHCP-DDNS Application Process. More...
 
class  D2QueueMgr
 D2QueueMgr creates and manages a queue of DNS update requests. More...
 
class  D2QueueMgrError
 Thrown if the queue manager encounters a general error. More...
 
class  D2QueueMgrInvalidIndex
 Thrown if a queue index is beyond the end of the queue. More...
 
class  D2QueueMgrQueueEmpty
 Thrown if the request queue empty and a read is attempted. More...
 
class  D2QueueMgrQueueFull
 Thrown if the request queue is full when an enqueue is attempted. More...
 
class  D2QueueMgrReceiveError
 Thrown if the queue manager's receive handler is passed a failure result. More...
 
class  D2SimpleParser
 
class  D2UpdateMessage
 The D2UpdateMessage encapsulates a DNS Update message. More...
 
class  D2UpdateMgr
 D2UpdateMgr creates and manages update transactions. More...
 
class  D2UpdateMgrError
 Thrown if the update manager encounters a general error. More...
 
class  D2Zone
 The D2Zone encapsulates the Zone section in DNS Update message. More...
 
class  DdnsDomain
 Represents a DNS domain that is may be updated dynamically. More...
 
class  DdnsDomainListMgr
 Provides storage for and management of a list of DNS domains. More...
 
class  DdnsDomainListMgrParser
 Parser for DdnsDomainListMgr. More...
 
class  DdnsDomainListParser
 Parser for a list of DdnsDomains. More...
 
class  DdnsDomainParser
 Parser for DdnsDomain. More...
 
class  DNSClient
 The DNSClient class handles communication with the DNS server. More...
 
class  DNSClientImpl
 
class  DnsServerInfo
 Represents a specific DNS Server. More...
 
class  DnsServerInfoListParser
 Parser for a list of DnsServerInfos. More...
 
class  DnsServerInfoParser
 Parser for DnsServerInfo. More...
 
class  DScalarContext
 Storage container for scalar configuration parameters. More...
 
class  InvalidQRFlag
 Exception indicating that QR flag has invalid value. More...
 
class  InvalidZoneSection
 Exception indicating that Zone section contains invalid content. More...
 
class  NameAddTransaction
 Embodies the "life-cycle" required to carry out a DDNS Add update. More...
 
class  NameAddTransactionError
 Thrown if the NameAddTransaction encounters a general error. More...
 
class  NameChangeTransaction
 Embodies the "life-cycle" required to carry out a DDNS update. More...
 
class  NameChangeTransactionError
 Thrown if the transaction encounters a general error. More...
 
class  NameRemoveTransaction
 Embodies the "life-cycle" required to carry out a DDNS Remove update. More...
 
class  NameRemoveTransactionError
 Thrown if the NameRemoveTransaction encounters a general error. More...
 
class  NotUpdateMessage
 Exception indicating that the parsed message is not DNS Update. More...
 
class  slice
 Present a slice of the top of a stack. More...
 
class  stack
 A stack with random access from its top. More...
 
class  TSIGKeyInfo
 Represents a TSIG Key. More...
 
class  TSIGKeyInfoListParser
 Parser for a list of TSIGKeyInfos. More...
 
class  TSIGKeyInfoParser
 Parser for TSIGKeyInfo. More...
 
class  TSIGVerifyError
 Exception indicating that a signed, inbound message failed to verify. More...
 
struct  variant
 A char[S] buffer to store and retrieve objects. More...
 

Typedefs

typedef boost::shared_ptr< D2CfgContextD2CfgContextPtr
 Pointer to a configuration context. More...
 
typedef boost::shared_ptr< D2CfgMgrD2CfgMgrPtr
 Defines a shared pointer to D2CfgMgr. More...
 
typedef boost::shared_ptr< D2ParamsD2ParamsPtr
 Defines a pointer for D2Params instances. More...
 
typedef boost::shared_ptr< D2ProcessD2ProcessPtr
 Defines a shared pointer to D2Process. More...
 
typedef boost::shared_ptr< D2QueueMgrD2QueueMgrPtr
 Defines a pointer for manager instances. More...
 
typedef boost::shared_ptr< D2UpdateMessageD2UpdateMessagePtr
 Pointer to the DNS Update Message. More...
 
typedef boost::shared_ptr< D2UpdateMgrD2UpdateMgrPtr
 Defines a pointer to a D2UpdateMgr instance. More...
 
typedef boost::shared_ptr< D2ZoneD2ZonePtr
 
typedef boost::shared_ptr< DdnsDomainListMgrDdnsDomainListMgrPtr
 Defines a pointer for DdnsDomain instances. More...
 
typedef std::map< std::string, DdnsDomainPtrDdnsDomainMap
 Defines a map of DdnsDomains, keyed by the domain name. More...
 
typedef std::pair< std::string, DdnsDomainPtrDdnsDomainMapPair
 Defines a iterator pairing domain name and DdnsDomain. More...
 
typedef boost::shared_ptr< DdnsDomainMapDdnsDomainMapPtr
 Defines a pointer to DdnsDomain storage containers. More...
 
typedef boost::shared_ptr< DdnsDomainDdnsDomainPtr
 Defines a pointer for DdnsDomain instances. More...
 
typedef boost::shared_ptr< DNSClientDNSClientPtr
 
typedef boost::shared_ptr< DnsServerInfoDnsServerInfoPtr
 Defines a pointer for DnsServerInfo instances. More...
 
typedef std::vector< DnsServerInfoPtrDnsServerInfoStorage
 Defines a storage container for DnsServerInfo pointers. More...
 
typedef boost::shared_ptr< DnsServerInfoStorageDnsServerInfoStoragePtr
 Defines a pointer to DnsServerInfo storage containers. More...
 
typedef boost::shared_ptr< DScalarContextDScalarContextPtr
 Defines a pointer for DScalarContext instances. More...
 
typedef boost::shared_ptr< NameAddTransactionNameAddTransactionPtr
 Defines a pointer to a NameAddTransaction. More...
 
typedef boost::shared_ptr< NameChangeTransactionNameChangeTransactionPtr
 Defines a pointer to a NameChangeTransaction. More...
 
typedef boost::shared_ptr< NameRemoveTransactionNameRemoveTransactionPtr
 Defines a pointer to a NameRemoveTransaction. More...
 
typedef std::deque< dhcp_ddns::NameChangeRequestPtrRequestQueue
 Defines a queue of requests. More...
 
typedef isc::dhcp_ddns::D2Dhcid TransactionKey
 Defines the type used as the unique key for transactions. More...
 
typedef std::map< TransactionKey, NameChangeTransactionPtrTransactionList
 Defines a list of transactions. More...
 
typedef std::map< std::string, TSIGKeyInfoPtrTSIGKeyInfoMap
 Defines a map of TSIGKeyInfos, keyed by the name. More...
 
typedef std::pair< std::string, TSIGKeyInfoPtrTSIGKeyInfoMapPair
 Defines a iterator pairing of name and TSIGKeyInfo. More...
 
typedef boost::shared_ptr< TSIGKeyInfoMapTSIGKeyInfoMapPtr
 Defines a pointer to map of TSIGkeyInfos. More...
 
typedef boost::shared_ptr< TSIGKeyInfoTSIGKeyInfoPtr
 Defines a pointer for TSIGKeyInfo instances. More...
 

Functions

std::ostream & operator<< (std::ostream &os, const D2Params &config)
 Dumps the contents of a D2Params as text to an output stream. More...
 
std::ostream & operator<< (std::ostream &os, const D2Zone &zone)
 Insert the D2Zone as a string into stream. More...
 
std::ostream & operator<< (std::ostream &os, const DnsServerInfo &server)
 

Variables

isc::log::Logger d2_logger ("dhcpddns")
 Defines the logger used within D2. More...
 
isc::log::Logger d2_to_dns_logger ("d2-to-dns")
 
isc::log::Logger dhcp_to_d2_logger ("dhcp-to-d2")
 

Typedef Documentation

◆ D2CfgContextPtr

typedef boost::shared_ptr<D2CfgContext> isc::d2::D2CfgContextPtr

Pointer to a configuration context.

Definition at line 24 of file d2_cfg_mgr.h.

◆ D2CfgMgrPtr

typedef boost::shared_ptr<D2CfgMgr> isc::d2::D2CfgMgrPtr

Defines a shared pointer to D2CfgMgr.

Definition at line 297 of file d2_cfg_mgr.h.

◆ D2ParamsPtr

typedef boost::shared_ptr<D2Params> isc::d2::D2ParamsPtr

Defines a pointer for D2Params instances.

Definition at line 251 of file d2_config.h.

◆ D2ProcessPtr

typedef boost::shared_ptr<D2Process> isc::d2::D2ProcessPtr

Defines a shared pointer to D2Process.

Definition at line 308 of file d2_process.h.

◆ D2QueueMgrPtr

typedef boost::shared_ptr<D2QueueMgr> isc::d2::D2QueueMgrPtr

Defines a pointer for manager instances.

Definition at line 343 of file d2_queue_mgr.h.

◆ D2UpdateMessagePtr

typedef boost::shared_ptr<D2UpdateMessage> isc::d2::D2UpdateMessagePtr

Pointer to the DNS Update Message.

Definition at line 73 of file d2_update_message.h.

◆ D2UpdateMgrPtr

typedef boost::shared_ptr<D2UpdateMgr> isc::d2::D2UpdateMgrPtr

Defines a pointer to a D2UpdateMgr instance.

Definition at line 251 of file d2_update_mgr.h.

◆ D2ZonePtr

typedef boost::shared_ptr<D2Zone> isc::d2::D2ZonePtr

Definition at line 93 of file d2_zone.h.

◆ DdnsDomainListMgrPtr

typedef boost::shared_ptr< DdnsDomainListMgr > isc::d2::DdnsDomainListMgrPtr

Defines a pointer for DdnsDomain instances.

Definition at line 120 of file d2_cfg_mgr.h.

◆ DdnsDomainMap

typedef std::map<std::string, DdnsDomainPtr> isc::d2::DdnsDomainMap

Defines a map of DdnsDomains, keyed by the domain name.

Definition at line 589 of file d2_config.h.

◆ DdnsDomainMapPair

typedef std::pair<std::string, DdnsDomainPtr> isc::d2::DdnsDomainMapPair

Defines a iterator pairing domain name and DdnsDomain.

Definition at line 592 of file d2_config.h.

◆ DdnsDomainMapPtr

typedef boost::shared_ptr<DdnsDomainMap> isc::d2::DdnsDomainMapPtr

Defines a pointer to DdnsDomain storage containers.

Definition at line 595 of file d2_config.h.

◆ DdnsDomainPtr

typedef boost::shared_ptr<DdnsDomain> isc::d2::DdnsDomainPtr

Defines a pointer for DdnsDomain instances.

Definition at line 586 of file d2_config.h.

◆ DNSClientPtr

typedef boost::shared_ptr<DNSClient> isc::d2::DNSClientPtr

Definition at line 22 of file dns_client.h.

◆ DnsServerInfoPtr

typedef boost::shared_ptr<DnsServerInfo> isc::d2::DnsServerInfoPtr

Defines a pointer for DnsServerInfo instances.

Definition at line 509 of file d2_config.h.

◆ DnsServerInfoStorage

Defines a storage container for DnsServerInfo pointers.

Definition at line 512 of file d2_config.h.

◆ DnsServerInfoStoragePtr

Defines a pointer to DnsServerInfo storage containers.

Definition at line 515 of file d2_config.h.

◆ DScalarContextPtr

typedef boost::shared_ptr<DScalarContext> isc::d2::DScalarContextPtr

Defines a pointer for DScalarContext instances.

Definition at line 740 of file d2_config.h.

◆ NameAddTransactionPtr

Defines a pointer to a NameAddTransaction.

Definition at line 441 of file nc_add.h.

◆ NameChangeTransactionPtr

Defines a pointer to a NameChangeTransaction.

Definition at line 588 of file nc_trans.h.

◆ NameRemoveTransactionPtr

Defines a pointer to a NameRemoveTransaction.

Definition at line 424 of file nc_remove.h.

◆ RequestQueue

Defines a queue of requests.

Todo:
This may be replaced with an actual class in the future.

Definition at line 25 of file d2_queue_mgr.h.

◆ TransactionKey

Defines the type used as the unique key for transactions.

Definition at line 35 of file nc_trans.h.

◆ TransactionList

Defines a list of transactions.

Definition at line 34 of file d2_update_mgr.h.

◆ TSIGKeyInfoMap

typedef std::map<std::string, TSIGKeyInfoPtr> isc::d2::TSIGKeyInfoMap

Defines a map of TSIGKeyInfos, keyed by the name.

Definition at line 401 of file d2_config.h.

◆ TSIGKeyInfoMapPair

typedef std::pair<std::string, TSIGKeyInfoPtr> isc::d2::TSIGKeyInfoMapPair

Defines a iterator pairing of name and TSIGKeyInfo.

Definition at line 404 of file d2_config.h.

◆ TSIGKeyInfoMapPtr

typedef boost::shared_ptr<TSIGKeyInfoMap> isc::d2::TSIGKeyInfoMapPtr

Defines a pointer to map of TSIGkeyInfos.

Definition at line 407 of file d2_config.h.

◆ TSIGKeyInfoPtr

typedef boost::shared_ptr<TSIGKeyInfo> isc::d2::TSIGKeyInfoPtr

Defines a pointer for TSIGKeyInfo instances.

Definition at line 398 of file d2_config.h.

Function Documentation

◆ operator<<() [1/3]

std::ostream & isc::d2::operator<< ( std::ostream &  os,
const D2Params config 
)

Dumps the contents of a D2Params as text to an output stream.

Parameters
osoutput stream to which text should be sent
configD2Param instance to dump

Definition at line 119 of file d2_config.cc.

References isc::d2::D2Params::toText().

+ Here is the call graph for this function:

◆ operator<<() [2/3]

std::ostream & isc::d2::operator<< ( std::ostream &  os,
const D2Zone zone 
)

Insert the D2Zone as a string into stream.

Parameters
osA std::ostream object on which the insertion operation is performed.
zoneA reference to the D2Zone object output by the operation.
Returns
A reference to the same std::ostream object referenced by parameter os after the insertion operation.

Definition at line 22 of file d2_zone.cc.

References isc::d2::D2Zone::toText().

+ Here is the call graph for this function:

◆ operator<<() [3/3]

std::ostream & isc::d2::operator<< ( std::ostream &  os,
const DnsServerInfo server 
)

Definition at line 236 of file d2_config.cc.

References isc::d2::DnsServerInfo::toText().

+ Here is the call graph for this function:

Variable Documentation

◆ d2_logger

◆ d2_to_dns_logger

◆ dhcp_to_d2_logger