![]() |
Kea 3.1.1
|
Public Types | |
enum | State { NONE , STARTED , STOPPED , SUCCESS , FAILURE } |
The TKEY exchange state. More... | |
Public Member Functions | |
TKeyExchangeImpl (const IOServicePtr &io_service, const DnsServerPtr &server, const GssTsigKeyPtr &key, TKeyExchange::Callback *callback, uint32_t timeout, OM_uint32 flags) | |
Constructor. | |
virtual | ~TKeyExchangeImpl () |
Destructor. | |
void | cancel () |
This function cancels the started TKEY exchange. | |
void | doExchange () |
This function handles the repeated communication with the DNS server trying to complete the TKEY exchange. | |
isc::asiolink::IOServicePtr | getIOService () |
Gets IO service. | |
virtual void | operator() (IOFetch::Result result) |
This internal callback is called when the DNS update message exchange is complete. | |
void | setIOService (const isc::asiolink::IOServicePtr &io_service) |
Sets IO service. | |
![]() | |
Callback ()=default | |
Constructor. | |
virtual | ~Callback ()=default |
Destructor. | |
Definition at line 69 of file tkey_exchange.cc.
The TKEY exchange state.
Enumerator | |
---|---|
NONE | Initial state: no action has been initiated. |
STARTED | The TKEY exchange has been started. |
STOPPED | The TKEY exchange has been canceled. |
SUCCESS | The TKEY exchange has succeeded. |
FAILURE | The TKEY exchange has failed. |
Definition at line 72 of file tkey_exchange.cc.
isc::gss_tsig::TKeyExchangeImpl::TKeyExchangeImpl | ( | const IOServicePtr & | io_service, |
const DnsServerPtr & | server, | ||
const GssTsigKeyPtr & | key, | ||
TKeyExchange::Callback * | callback, | ||
uint32_t | timeout, | ||
OM_uint32 | flags ) |
Constructor.
io_service | The IOService which handles IO operations. |
server | The server for which the TKEY exchange is performed. |
key | The TKEY being updated. |
callback | Pointer to an object implementing TKeyExchange::Callback class. This object will be called when DNS message exchange completes or if an error occurs. NULL value disables callback invocation. |
timeout | The timeout for the IO operations. |
flags | The flags used for the TKEY exchange. |
Definition at line 205 of file tkey_exchange.cc.
|
virtual |
Destructor.
Definition at line 221 of file tkey_exchange.cc.
References cancel().
void isc::gss_tsig::TKeyExchangeImpl::cancel | ( | ) |
This function cancels the started TKEY exchange.
Definition at line 454 of file tkey_exchange.cc.
References STOPPED.
Referenced by ~TKeyExchangeImpl().
void isc::gss_tsig::TKeyExchangeImpl::doExchange | ( | ) |
This function handles the repeated communication with the DNS server trying to complete the TKEY exchange.
Definition at line 431 of file tkey_exchange.cc.
References isc::gss_tsig::BAD_CLIENT_CREDENTIALS, isc::gss_tsig::TKeyExchange::BAD_CREDENTIALS, isc::gss_tsig::gss_tsig_logger, isc_throw, LOG_ERROR, NONE, STARTED, and isc::Exception::what().
|
inline |
Gets IO service.
Definition at line 116 of file tkey_exchange.cc.
|
virtual |
This internal callback is called when the DNS update message exchange is complete.
It further invokes the external callback provided by a caller.
result | The result of the IOFetch operation. |
Implements isc::asiodns::IOFetch::Callback.
Definition at line 226 of file tkey_exchange.cc.
References isc::gss_tsig::gss_tsig_logger, isc::gss_tsig::TKeyExchange::INVALID_RESPONSE, isc::gss_tsig::TKeyExchange::IO_STOPPED, LOG_ERROR, isc::gss_tsig::TKeyExchange::OTHER, isc::asiodns::IOFetch::STOPPED, isc::asiodns::IOFetch::SUCCESS, isc::asiodns::IOFetch::TIME_OUT, isc::gss_tsig::TKeyExchange::TIMEOUT, isc::gss_tsig::TKEY_EXCHANGE_FAIL_EMPTY_IN_TOKEN, isc::gss_tsig::TKEY_EXCHANGE_FAIL_IO_ERROR, isc::gss_tsig::TKEY_EXCHANGE_FAIL_IO_STOPPED, and isc::gss_tsig::TKEY_EXCHANGE_FAIL_IO_TIMEOUT.
|
inline |
Sets IO service.
io_service | IOService object, used for all ASIO operations. |
Definition at line 123 of file tkey_exchange.cc.