![]() |
Kea 3.0.0
|
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. | |
| Public Member Functions inherited from isc::asiodns::IOFetch::Callback | |
| 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.