48 impl->getHandler(handle);
57 impl->getAllHandler(handle);
66 impl->listHandler(handle);
77 impl->keyGetHandler(handle);
88 impl->keyExpireHandler(handle);
99 impl->keyDelHandler(handle);
110 impl->purgeHandler(handle);
119 impl->purgeAllHandler(handle);
130 impl->rekeyHandler(handle);
139 impl->rekeyAllHandler(handle);
153 if (proc_name !=
"kea-dhcp-ddns") {
155 <<
", expected kea-dhcp-ddns");
173 }
catch (
const std::exception& ex) {
221 const string error(
"Error: gss_tsig d2_srv_configured: server_config is null");
227 impl->finishConfigure(d2_config);
228 impl->getIOService()->post([]() {
impl->start(); });
229 }
catch (
const std::exception& ex) {
231 os <<
"gss_tsig config mismatch: " << ex.what();
232 string error(os.str());
264 bool useGssTsig =
false;
265 bool fallback =
false;
267 key =
impl->findKey(server_info, useGssTsig, fallback);
272 }
else if (!fallback) {
287 impl->commandProcessed(handle);
288 }
catch (
const std::exception& ex) {
@ NEXT_STEP_CONTINUE
continue normally
@ NEXT_STEP_DROP
drop the packet
@ NEXT_STEP_SKIP
skip the next processing step
A generic exception that is thrown when an unexpected error condition occurs.
static IOServiceMgr & instance()
Access the IOServiceMgr singleton instance.
void registerIOService(IOServicePtr io_service)
Register IOService.
void unregisterIOService(IOServicePtr io_service)
Unregister IOService.
GSS-TSIG hook implementation.
Per-packet callout handle.
@ NEXT_STEP_DROP
drop the packet
CalloutNextStep getStatus() const
Returns the next processing step.
void setStatus(const CalloutNextStep next)
Sets the next processing step.
void getArgument(const std::string &name, T &value) const
Get argument.
void setArgument(const std::string &name, T value)
Set argument.
void registerCommandCallout(const std::string &command_name, CalloutPtr callout)
Register control command handler.
isc::data::ConstElementPtr getParameters()
Get configuration parameter common code.
static std::string getProcName()
returns the process name This value is used as when forming the default PID file name
#define isc_throw(type, stream)
A shortcut macro to insert known values into exception arguments.
int key_expire(CalloutHandle &handle)
The gss-tsig-key-expire command.
int purge(CalloutHandle &handle)
The gss-tsig-purge command.
int select_key(CalloutHandle &handle)
This function is called when the server selects a DNS server and optionally a TSIG key.
int command_processed(CalloutHandle &handle)
This function is called when a command was processed.
int rekey_all(CalloutHandle &handle)
The gss-tsig-rekey-all command.
int get(CalloutHandle &handle)
The gss-tsig-get command.
int key_get(CalloutHandle &handle)
The gss-tsig-key-get command.
int multi_threading_compatible()
This function is called to retrieve the multi-threading compatibility.
int d2_srv_configured(CalloutHandle &handle)
This function is called when the server finishes (re)configuration.
int unload()
This function is called when the library is unloaded.
int get_all(CalloutHandle &handle)
The gss-tsig-get-all command.
int purge_all(CalloutHandle &handle)
The gss-tsig-purge-all command.
int rekey(CalloutHandle &handle)
The gss-tsig-rekey command.
int lists(CalloutHandle &handle)
The gss-tsig-list command.
int load(LibraryHandle &handle)
This function is called when the library is loaded.
int key_del(CalloutHandle &handle)
The gss-tsig-key-del command.
Implements a TSIGContext derived class which can be used as the value of TSIGContext pointers so with...
#define LOG_ERROR(LOGGER, MESSAGE)
Macro to conveniently test error output and log it.
#define LOG_INFO(LOGGER, MESSAGE)
Macro to conveniently test info output and log it.
boost::shared_ptr< DnsServerInfo > DnsServerInfoPtr
Defines a pointer for DnsServerInfo instances.
boost::shared_ptr< D2CfgContext > D2CfgContextPtr
Pointer to a configuration context.
boost::shared_ptr< D2TsigKey > D2TsigKeyPtr
Type of pointer to a D2 TSIG key.
boost::shared_ptr< const Element > ConstElementPtr
std::unique_ptr< GssTsigImpl > GssTsigImplPtr
Type of pointer to a GSS-TSIG hook configuration.
const isc::log::MessageID GSS_TSIG_LOAD_FAILED
const isc::log::MessageID GSS_TSIG_LOAD_OK
const isc::log::MessageID GSS_TSIG_COMMAND_PROCESSED_FAILED
isc::log::Logger gss_tsig_logger("gss-tsig-hooks")
GssTsigImplPtr impl
The GSS-TSIG hook implementation object.
const isc::log::MessageID GSS_TSIG_UNLOAD_OK
Defines the logger used by the top-level component of kea-lfc.