From: Francis Dupont Date: Sat, 9 Feb 2019 00:47:45 +0000 (+0100) Subject: [441-make-distcheck-fails-on-fedora-29-automake-1-16] Second attempt to fix automake... X-Git-Tag: Kea-1.6.0-beta~383 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c5ecc2be01274fd6db75fb354c2a79750751fd3c;p=thirdparty%2Fkea.git [441-make-distcheck-fails-on-fedora-29-automake-1-16] Second attempt to fix automake 1.16 issue; distribute generated file --- diff --git a/configure.ac b/configure.ac index 461bbe66b9..e25d13d4ff 100644 --- a/configure.ac +++ b/configure.ac @@ -1370,6 +1370,12 @@ AC_SUBST(PERL) AC_PATH_PROGS(AWK, gawk awk) AC_SUBST(AWK) +AC_ARG_ENABLE(generate_messages, [AC_HELP_STRING([--enable-generate-messages], + [indicates that the messages files will be regenerated. [default=no]])], + enable_generate_messages=$enableval, enable_generate_messages=no) + +AM_CONDITIONAL([GENERATE_MESSAGES], [test x$enable_generate_messages != xno]) + AC_ARG_ENABLE(generate_parser, [AC_HELP_STRING([--enable-generate-parser], [indicates that the parsers will be regenerated. This implies that the bison and flex are required [default=no]])], diff --git a/src/bin/agent/.gitignore b/src/bin/agent/.gitignore index c24184cb91..fd2f92f14c 100644 --- a/src/bin/agent/.gitignore +++ b/src/bin/agent/.gitignore @@ -1,6 +1,3 @@ /kea-ctrl-agent -/ca_messages.cc -/ca_messages.h -/s-messages /kea-ctrl-agent.8 diff --git a/src/bin/agent/Makefile.am b/src/bin/agent/Makefile.am index ffea77b4df..58ffab2c2e 100644 --- a/src/bin/agent/Makefile.am +++ b/src/bin/agent/Makefile.am @@ -9,7 +9,7 @@ if USE_STATIC_LINK AM_LDFLAGS = -static endif -CLEANFILES = *.gcno *.gcda ca_messages.h ca_messages.cc s-messages +CLEANFILES = *.gcno *.gcda man_MANS = kea-ctrl-agent.8 DISTCLEANFILES = $(man_MANS) @@ -30,15 +30,6 @@ $(man_MANS): endif -ca_messages.h ca_messages.cc: s-messages - -s-messages: ca_messages.mes - $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/bin/agent/ca_messages.mes - touch $@ - -BUILT_SOURCES = ca_messages.h ca_messages.cc - - # convenience archive noinst_LTLIBRARIES = libagent.la @@ -55,8 +46,7 @@ libagent_la_SOURCES += ca_response_creator_factory.h libagent_la_SOURCES += simple_parser.cc simple_parser.h libagent_la_SOURCES += parser_context.cc parser_context.h parser_context_decl.h libagent_la_SOURCES += agent_lexer.ll location.hh position.hh stack.hh - -nodist_libagent_la_SOURCES = ca_messages.h ca_messages.cc +libagent_la_SOURCES += ca_messages.h ca_messages.cc EXTRA_DIST += ca_messages.mes EXTRA_DIST += agent_lexer.ll EXTRA_DIST += agent_parser.yy @@ -88,6 +78,39 @@ kea_ctrl_agent_LDADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS) kea_ctrl_agent_LDFLAGS = $(AM_LDFLAGS) $(CRYPTO_LDFLAGS) +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f ca_messages.h ca_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES + +# Define rule to build logging source files from message file +messages: ca_messages.h ca_messages.cc + @echo Message files regenerated + +ca_messages.h ca_messages.cc: ca_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/ca/ca_messages.mes + +else + +messages ca_messages.h ca_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it. + +endif + if GENERATE_PARSER parser: agent_lexer.cc location.hh position.hh stack.hh agent_parser.cc agent_parser.h diff --git a/src/bin/agent/ca_messages.cc b/src/bin/agent/ca_messages.cc new file mode 100644 index 0000000000..307100c7ec --- /dev/null +++ b/src/bin/agent/ca_messages.cc @@ -0,0 +1,41 @@ +// File created from ../../../src/bin/agent/ca_messages.mes on Fri Feb 08 2019 20:33 + +#include +#include +#include + +namespace isc { +namespace agent { + +extern const isc::log::MessageID CTRL_AGENT_COMMAND_FORWARDED = "CTRL_AGENT_COMMAND_FORWARDED"; +extern const isc::log::MessageID CTRL_AGENT_COMMAND_FORWARD_BEGIN = "CTRL_AGENT_COMMAND_FORWARD_BEGIN"; +extern const isc::log::MessageID CTRL_AGENT_COMMAND_FORWARD_FAILED = "CTRL_AGENT_COMMAND_FORWARD_FAILED"; +extern const isc::log::MessageID CTRL_AGENT_CONFIG_CHECK_FAIL = "CTRL_AGENT_CONFIG_CHECK_FAIL"; +extern const isc::log::MessageID CTRL_AGENT_CONFIG_FAIL = "CTRL_AGENT_CONFIG_FAIL"; +extern const isc::log::MessageID CTRL_AGENT_FAILED = "CTRL_AGENT_FAILED"; +extern const isc::log::MessageID CTRL_AGENT_HTTP_SERVICE_STARTED = "CTRL_AGENT_HTTP_SERVICE_STARTED"; +extern const isc::log::MessageID CTRL_AGENT_RUN_EXIT = "CTRL_AGENT_RUN_EXIT"; +extern const isc::log::MessageID CTRL_AGENT_STARTED = "CTRL_AGENT_STARTED"; + +} // namespace agent +} // namespace isc + +namespace { + +const char* values[] = { + "CTRL_AGENT_COMMAND_FORWARDED", "command %1 successfully forwarded to the service %2", + "CTRL_AGENT_COMMAND_FORWARD_BEGIN", "begin forwarding command %1 to service %2", + "CTRL_AGENT_COMMAND_FORWARD_FAILED", "failed forwarding command %1: %2", + "CTRL_AGENT_CONFIG_CHECK_FAIL", "Control Agent configuration check failed: %1", + "CTRL_AGENT_CONFIG_FAIL", "Control Agent configuration failed: %1", + "CTRL_AGENT_FAILED", "application experienced a fatal error: %1", + "CTRL_AGENT_HTTP_SERVICE_STARTED", "HTTP service bound to address %1:%2", + "CTRL_AGENT_RUN_EXIT", "application is exiting the event loop", + "CTRL_AGENT_STARTED", "Kea Control Agent version %1 started", + NULL +}; + +const isc::log::MessageInitializer initializer(values); + +} // Anonymous namespace + diff --git a/src/bin/agent/ca_messages.h b/src/bin/agent/ca_messages.h new file mode 100644 index 0000000000..acfd3555d4 --- /dev/null +++ b/src/bin/agent/ca_messages.h @@ -0,0 +1,24 @@ +// File created from ../../../src/bin/agent/ca_messages.mes on Fri Feb 08 2019 20:33 + +#ifndef CA_MESSAGES_H +#define CA_MESSAGES_H + +#include + +namespace isc { +namespace agent { + +extern const isc::log::MessageID CTRL_AGENT_COMMAND_FORWARDED; +extern const isc::log::MessageID CTRL_AGENT_COMMAND_FORWARD_BEGIN; +extern const isc::log::MessageID CTRL_AGENT_COMMAND_FORWARD_FAILED; +extern const isc::log::MessageID CTRL_AGENT_CONFIG_CHECK_FAIL; +extern const isc::log::MessageID CTRL_AGENT_CONFIG_FAIL; +extern const isc::log::MessageID CTRL_AGENT_FAILED; +extern const isc::log::MessageID CTRL_AGENT_HTTP_SERVICE_STARTED; +extern const isc::log::MessageID CTRL_AGENT_RUN_EXIT; +extern const isc::log::MessageID CTRL_AGENT_STARTED; + +} // namespace agent +} // namespace isc + +#endif // CA_MESSAGES_H diff --git a/src/bin/d2/.gitignore b/src/bin/d2/.gitignore index 06446ddf48..5a1a8041bc 100644 --- a/src/bin/d2/.gitignore +++ b/src/bin/d2/.gitignore @@ -1,5 +1,2 @@ /kea-dhcp-ddns /kea-dhcp-ddns.8 -/d2_messages.cc -/d2_messages.h -/s-messages diff --git a/src/bin/d2/Makefile.am b/src/bin/d2/Makefile.am index 7f52bafb40..f60f5bde1b 100644 --- a/src/bin/d2/Makefile.am +++ b/src/bin/d2/Makefile.am @@ -10,7 +10,7 @@ if USE_STATIC_LINK AM_LDFLAGS = -static endif -CLEANFILES = *.gcno *.gcda d2_messages.h d2_messages.cc s-messages +CLEANFILES = *.gcno *.gcda man_MANS = kea-dhcp-ddns.8 DISTCLEANFILES = $(man_MANS) @@ -39,14 +39,6 @@ $(man_MANS): endif -d2_messages.h d2_messages.cc: s-messages - -s-messages: d2_messages.mes - $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/bin/d2/d2_messages.mes - touch $@ - -BUILT_SOURCES = d2_messages.h d2_messages.cc - # convenience archive noinst_LTLIBRARIES = libd2.la @@ -69,8 +61,7 @@ libd2_la_SOURCES += nc_remove.cc nc_remove.h libd2_la_SOURCES += nc_trans.cc nc_trans.h libd2_la_SOURCES += d2_controller.cc d2_controller.h libd2_la_SOURCES += parser_context.cc parser_context.h parser_context_decl.h - -nodist_libd2_la_SOURCES = d2_messages.h d2_messages.cc +libd2_la_SOURCES += d2_messages.h d2_messages.cc EXTRA_DIST += d2_messages.mes sbin_PROGRAMS = kea-dhcp-ddns @@ -102,6 +93,39 @@ kea_dhcp_ddns_LDFLAGS = $(AM_LDFLAGS) $(CRYPTO_LDFLAGS) kea_dhcp_ddnsdir = $(pkgdatadir) +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f d2_messages.h d2_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES + +# Define rule to build logging source files from message file +messages: d2_messages.h d2_messages.cc + @echo Message files regenerated + +d2_messages.h d2_messages.cc: d2_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/d2/d2_messages.mes + +else + +messages d2_messages.h d2_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it. + +endif + if GENERATE_PARSER parser: d2_lexer.cc location.hh position.hh stack.hh d2_parser.cc d2_parser.h diff --git a/src/bin/d2/d2_messages.cc b/src/bin/d2/d2_messages.cc new file mode 100644 index 0000000000..50b9309a1e --- /dev/null +++ b/src/bin/d2/d2_messages.cc @@ -0,0 +1,171 @@ +// File created from ../../../src/bin/d2/d2_messages.mes on Fri Feb 08 2019 20:33 + +#include +#include +#include + +namespace isc { +namespace d2 { + +extern const isc::log::MessageID DHCP_DDNS_ADD_FAILED = "DHCP_DDNS_ADD_FAILED"; +extern const isc::log::MessageID DHCP_DDNS_ADD_SUCCEEDED = "DHCP_DDNS_ADD_SUCCEEDED"; +extern const isc::log::MessageID DHCP_DDNS_ALREADY_RUNNING = "DHCP_DDNS_ALREADY_RUNNING"; +extern const isc::log::MessageID DHCP_DDNS_AT_MAX_TRANSACTIONS = "DHCP_DDNS_AT_MAX_TRANSACTIONS"; +extern const isc::log::MessageID DHCP_DDNS_CLEARED_FOR_SHUTDOWN = "DHCP_DDNS_CLEARED_FOR_SHUTDOWN"; +extern const isc::log::MessageID DHCP_DDNS_COMMAND = "DHCP_DDNS_COMMAND"; +extern const isc::log::MessageID DHCP_DDNS_CONFIGURE = "DHCP_DDNS_CONFIGURE"; +extern const isc::log::MessageID DHCP_DDNS_CONFIG_CHECK_FAIL = "DHCP_DDNS_CONFIG_CHECK_FAIL"; +extern const isc::log::MessageID DHCP_DDNS_CONFIG_FAIL = "DHCP_DDNS_CONFIG_FAIL"; +extern const isc::log::MessageID DHCP_DDNS_FAILED = "DHCP_DDNS_FAILED"; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_ADD_BAD_DNSCLIENT_STATUS = "DHCP_DDNS_FORWARD_ADD_BAD_DNSCLIENT_STATUS"; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_ADD_BUILD_FAILURE = "DHCP_DDNS_FORWARD_ADD_BUILD_FAILURE"; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_ADD_IO_ERROR = "DHCP_DDNS_FORWARD_ADD_IO_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_ADD_REJECTED = "DHCP_DDNS_FORWARD_ADD_REJECTED"; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_ADD_RESP_CORRUPT = "DHCP_DDNS_FORWARD_ADD_RESP_CORRUPT"; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REMOVE_ADDRS_BAD_DNSCLIENT_STATUS = "DHCP_DDNS_FORWARD_REMOVE_ADDRS_BAD_DNSCLIENT_STATUS"; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REMOVE_ADDRS_BUILD_FAILURE = "DHCP_DDNS_FORWARD_REMOVE_ADDRS_BUILD_FAILURE"; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REMOVE_ADDRS_IO_ERROR = "DHCP_DDNS_FORWARD_REMOVE_ADDRS_IO_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REMOVE_ADDRS_REJECTED = "DHCP_DDNS_FORWARD_REMOVE_ADDRS_REJECTED"; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REMOVE_ADDRS_RESP_CORRUPT = "DHCP_DDNS_FORWARD_REMOVE_ADDRS_RESP_CORRUPT"; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REMOVE_RRS_BAD_DNSCLIENT_STATUS = "DHCP_DDNS_FORWARD_REMOVE_RRS_BAD_DNSCLIENT_STATUS"; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REMOVE_RRS_BUILD_FAILURE = "DHCP_DDNS_FORWARD_REMOVE_RRS_BUILD_FAILURE"; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REMOVE_RRS_IO_ERROR = "DHCP_DDNS_FORWARD_REMOVE_RRS_IO_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REMOVE_RRS_REJECTED = "DHCP_DDNS_FORWARD_REMOVE_RRS_REJECTED"; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REMOVE_RRS_RESP_CORRUPT = "DHCP_DDNS_FORWARD_REMOVE_RRS_RESP_CORRUPT"; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REPLACE_BAD_DNSCLIENT_STATUS = "DHCP_DDNS_FORWARD_REPLACE_BAD_DNSCLIENT_STATUS"; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REPLACE_BUILD_FAILURE = "DHCP_DDNS_FORWARD_REPLACE_BUILD_FAILURE"; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REPLACE_IO_ERROR = "DHCP_DDNS_FORWARD_REPLACE_IO_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REPLACE_REJECTED = "DHCP_DDNS_FORWARD_REPLACE_REJECTED"; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REPLACE_RESP_CORRUPT = "DHCP_DDNS_FORWARD_REPLACE_RESP_CORRUPT"; +extern const isc::log::MessageID DHCP_DDNS_FWD_REQUEST_IGNORED = "DHCP_DDNS_FWD_REQUEST_IGNORED"; +extern const isc::log::MessageID DHCP_DDNS_INVALID_RESPONSE = "DHCP_DDNS_INVALID_RESPONSE"; +extern const isc::log::MessageID DHCP_DDNS_NOT_ON_LOOPBACK = "DHCP_DDNS_NOT_ON_LOOPBACK"; +extern const isc::log::MessageID DHCP_DDNS_NO_ELIGIBLE_JOBS = "DHCP_DDNS_NO_ELIGIBLE_JOBS"; +extern const isc::log::MessageID DHCP_DDNS_NO_FWD_MATCH_ERROR = "DHCP_DDNS_NO_FWD_MATCH_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_NO_MATCH = "DHCP_DDNS_NO_MATCH"; +extern const isc::log::MessageID DHCP_DDNS_NO_REV_MATCH_ERROR = "DHCP_DDNS_NO_REV_MATCH_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_PROCESS_INIT = "DHCP_DDNS_PROCESS_INIT"; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_QUEUE_FULL = "DHCP_DDNS_QUEUE_MGR_QUEUE_FULL"; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_QUEUE_RECEIVE = "DHCP_DDNS_QUEUE_MGR_QUEUE_RECEIVE"; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_RECONFIGURING = "DHCP_DDNS_QUEUE_MGR_RECONFIGURING"; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_RECOVERING = "DHCP_DDNS_QUEUE_MGR_RECOVERING"; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_RECV_ERROR = "DHCP_DDNS_QUEUE_MGR_RECV_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_RESUME_ERROR = "DHCP_DDNS_QUEUE_MGR_RESUME_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_RESUMING = "DHCP_DDNS_QUEUE_MGR_RESUMING"; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_STARTED = "DHCP_DDNS_QUEUE_MGR_STARTED"; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_START_ERROR = "DHCP_DDNS_QUEUE_MGR_START_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_STOPPED = "DHCP_DDNS_QUEUE_MGR_STOPPED"; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_STOPPING = "DHCP_DDNS_QUEUE_MGR_STOPPING"; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_STOP_ERROR = "DHCP_DDNS_QUEUE_MGR_STOP_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_UNEXPECTED_HANDLER_ERROR = "DHCP_DDNS_QUEUE_MGR_UNEXPECTED_HANDLER_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_UNEXPECTED_STOP = "DHCP_DDNS_QUEUE_MGR_UNEXPECTED_STOP"; +extern const isc::log::MessageID DHCP_DDNS_REMOVE_FAILED = "DHCP_DDNS_REMOVE_FAILED"; +extern const isc::log::MessageID DHCP_DDNS_REMOVE_SUCCEEDED = "DHCP_DDNS_REMOVE_SUCCEEDED"; +extern const isc::log::MessageID DHCP_DDNS_REQUEST_DROPPED = "DHCP_DDNS_REQUEST_DROPPED"; +extern const isc::log::MessageID DHCP_DDNS_REVERSE_REMOVE_BAD_DNSCLIENT_STATUS = "DHCP_DDNS_REVERSE_REMOVE_BAD_DNSCLIENT_STATUS"; +extern const isc::log::MessageID DHCP_DDNS_REVERSE_REMOVE_BUILD_FAILURE = "DHCP_DDNS_REVERSE_REMOVE_BUILD_FAILURE"; +extern const isc::log::MessageID DHCP_DDNS_REVERSE_REMOVE_IO_ERROR = "DHCP_DDNS_REVERSE_REMOVE_IO_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_REVERSE_REMOVE_REJECTED = "DHCP_DDNS_REVERSE_REMOVE_REJECTED"; +extern const isc::log::MessageID DHCP_DDNS_REVERSE_REMOVE_RESP_CORRUPT = "DHCP_DDNS_REVERSE_REMOVE_RESP_CORRUPT"; +extern const isc::log::MessageID DHCP_DDNS_REVERSE_REPLACE_BAD_DNSCLIENT_STATUS = "DHCP_DDNS_REVERSE_REPLACE_BAD_DNSCLIENT_STATUS"; +extern const isc::log::MessageID DHCP_DDNS_REVERSE_REPLACE_BUILD_FAILURE = "DHCP_DDNS_REVERSE_REPLACE_BUILD_FAILURE"; +extern const isc::log::MessageID DHCP_DDNS_REVERSE_REPLACE_IO_ERROR = "DHCP_DDNS_REVERSE_REPLACE_IO_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_REVERSE_REPLACE_REJECTED = "DHCP_DDNS_REVERSE_REPLACE_REJECTED"; +extern const isc::log::MessageID DHCP_DDNS_REVERSE_REPLACE_RESP_CORRUPT = "DHCP_DDNS_REVERSE_REPLACE_RESP_CORRUPT"; +extern const isc::log::MessageID DHCP_DDNS_REV_REQUEST_IGNORED = "DHCP_DDNS_REV_REQUEST_IGNORED"; +extern const isc::log::MessageID DHCP_DDNS_RUN_EXIT = "DHCP_DDNS_RUN_EXIT"; +extern const isc::log::MessageID DHCP_DDNS_SHUTDOWN_COMMAND = "DHCP_DDNS_SHUTDOWN_COMMAND"; +extern const isc::log::MessageID DHCP_DDNS_STARTED = "DHCP_DDNS_STARTED"; +extern const isc::log::MessageID DHCP_DDNS_STARTING_TRANSACTION = "DHCP_DDNS_STARTING_TRANSACTION"; +extern const isc::log::MessageID DHCP_DDNS_STATE_MODEL_UNEXPECTED_ERROR = "DHCP_DDNS_STATE_MODEL_UNEXPECTED_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_TRANS_SEND_ERROR = "DHCP_DDNS_TRANS_SEND_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_UPDATE_REQUEST_SENT = "DHCP_DDNS_UPDATE_REQUEST_SENT"; +extern const isc::log::MessageID DHCP_DDNS_UPDATE_RESPONSE_RECEIVED = "DHCP_DDNS_UPDATE_RESPONSE_RECEIVED"; + +} // namespace d2 +} // namespace isc + +namespace { + +const char* values[] = { + "DHCP_DDNS_ADD_FAILED", "DHCP_DDNS Request ID %1: Transaction outcome %2", + "DHCP_DDNS_ADD_SUCCEEDED", "DHCP_DDNS Request ID %1: successfully added the DNS mapping addition for this request: %2", + "DHCP_DDNS_ALREADY_RUNNING", "%1 already running? %2", + "DHCP_DDNS_AT_MAX_TRANSACTIONS", "application has %1 queued requests but has reached maximum number of %2 concurrent transactions", + "DHCP_DDNS_CLEARED_FOR_SHUTDOWN", "application has met shutdown criteria for shutdown type: %1", + "DHCP_DDNS_COMMAND", "command directive received, command: %1 - args: %2", + "DHCP_DDNS_CONFIGURE", "configuration %1 received: %2", + "DHCP_DDNS_CONFIG_CHECK_FAIL", "DHCP-DDNS server configuration check failed: %1", + "DHCP_DDNS_CONFIG_FAIL", "DHCP-DDNS server configuration failed: %1", + "DHCP_DDNS_FAILED", "application experienced a fatal error: %1", + "DHCP_DDNS_FORWARD_ADD_BAD_DNSCLIENT_STATUS", "DHCP_DDNS Request ID %1: received an unknown DNSClient status: %2, while adding a forward address mapping for FQDN %3 to DNS server %4", + "DHCP_DDNS_FORWARD_ADD_BUILD_FAILURE", "DNS Request ID %1: update message to add a forward DNS entry could not be constructed for this request: %2, reason: %3", + "DHCP_DDNS_FORWARD_ADD_IO_ERROR", "DHCP_DDNS Request ID %1: encountered an IO error sending a forward mapping add for FQDN %2 to DNS server %3", + "DHCP_DDNS_FORWARD_ADD_REJECTED", "DNS Request ID %1: Server, %2, rejected a DNS update request to add the address mapping for FQDN, %3, with an RCODE: %4", + "DHCP_DDNS_FORWARD_ADD_RESP_CORRUPT", "DHCP_DDNS Request ID %1: received a corrupt response from the DNS server, %2, while adding forward address mapping for FQDN, %3", + "DHCP_DDNS_FORWARD_REMOVE_ADDRS_BAD_DNSCLIENT_STATUS", "DHCP_DDNS Request ID %1: received an unknown DNSClient status: %2, while removing a forward address mapping for FQDN %3 to DNS server %4", + "DHCP_DDNS_FORWARD_REMOVE_ADDRS_BUILD_FAILURE", "DNS Request ID %1: update message to remove a forward DNS Address entry could not be constructed for this request: %2, reason: %3", + "DHCP_DDNS_FORWARD_REMOVE_ADDRS_IO_ERROR", "DHCP_DDNS Request ID %1: encountered an IO error sending a forward mapping address removal for FQDN %2 to DNS server %3", + "DHCP_DDNS_FORWARD_REMOVE_ADDRS_REJECTED", "DNS Request ID %1: Server, %2, rejected a DNS update request to remove the forward address mapping for FQDN, %3, with an RCODE: %4", + "DHCP_DDNS_FORWARD_REMOVE_ADDRS_RESP_CORRUPT", "DHCP_DDNS Request ID %1: received a corrupt response from the DNS server, %2, while removing forward address mapping for FQDN, %3", + "DHCP_DDNS_FORWARD_REMOVE_RRS_BAD_DNSCLIENT_STATUS", "DHCP_DDNS Request ID %1: received an unknown DNSClient status: %2, while removing forward RRs for FQDN %3 to DNS server %4", + "DHCP_DDNS_FORWARD_REMOVE_RRS_BUILD_FAILURE", "DNS Request ID %1: update message to remove forward DNS RR entries could not be constructed for this request: %2, reason: %3", + "DHCP_DDNS_FORWARD_REMOVE_RRS_IO_ERROR", "DHCP_DDNS Request ID %1: encountered an IO error sending a forward RR removal for FQDN %2 to DNS server %3", + "DHCP_DDNS_FORWARD_REMOVE_RRS_REJECTED", "DNS Request ID %1: Server, %2, rejected a DNS update request to remove forward RR entries for FQDN, %3, with an RCODE: %4", + "DHCP_DDNS_FORWARD_REMOVE_RRS_RESP_CORRUPT", "DHCP_DDNS Request ID %1: received a corrupt response from the DNS server, %2, while removing forward RRs for FQDN, %3", + "DHCP_DDNS_FORWARD_REPLACE_BAD_DNSCLIENT_STATUS", "DHCP_DDNS Request ID %1: received an unknown DNSClient status: %2, while replacing forward address mapping for FQDN %3 to DNS server %4", + "DHCP_DDNS_FORWARD_REPLACE_BUILD_FAILURE", "DNS Request ID %1: update message to replace a forward DNS entry could not be constructed from this request: %2, reason: %3", + "DHCP_DDNS_FORWARD_REPLACE_IO_ERROR", "DHCP_DDNS Request ID %1: encountered an IO error sending a forward mapping replace for FQDN %2 to DNS server %3", + "DHCP_DDNS_FORWARD_REPLACE_REJECTED", "DNS Request ID %1: Server, %2, rejected a DNS update request to replace the address mapping for FQDN, %3, with an RCODE: %4", + "DHCP_DDNS_FORWARD_REPLACE_RESP_CORRUPT", "DHCP_DDNS Request ID %1: received a corrupt response from the DNS server, %2, while replacing forward address mapping for FQDN, %3", + "DHCP_DDNS_FWD_REQUEST_IGNORED", "Request ID %1: Forward updates are disabled, the forward portion of request will be ignored: %2", + "DHCP_DDNS_INVALID_RESPONSE", "received response to DNS Update message is malformed: %1", + "DHCP_DDNS_NOT_ON_LOOPBACK", "the DHCP-DDNS server has been configured to listen on %1 which is not the local loopback. This is an insecure configuration supported for testing purposes only", + "DHCP_DDNS_NO_ELIGIBLE_JOBS", "although there are queued requests, there are pending transactions for each, Queue count: %1 Transaction count: %2", + "DHCP_DDNS_NO_FWD_MATCH_ERROR", "Request ID %1: the configured list of forward DDNS domains does not contain a match for: %2 The request has been discarded.", + "DHCP_DDNS_NO_MATCH", "No DNS servers match FQDN %1", + "DHCP_DDNS_NO_REV_MATCH_ERROR", "Request ID %1: the configured list of reverse DDNS domains does not contain a match for: %2 The request has been discarded.", + "DHCP_DDNS_PROCESS_INIT", "application init invoked", + "DHCP_DDNS_QUEUE_MGR_QUEUE_FULL", "application request queue has reached maximum number of entries %1", + "DHCP_DDNS_QUEUE_MGR_QUEUE_RECEIVE", "Request ID %1: received and queued a request.", + "DHCP_DDNS_QUEUE_MGR_RECONFIGURING", "application is reconfiguring the queue manager", + "DHCP_DDNS_QUEUE_MGR_RECOVERING", "application is attempting to recover from a queue manager IO error", + "DHCP_DDNS_QUEUE_MGR_RECV_ERROR", "application's queue manager was notified of a request receive error by its listener.", + "DHCP_DDNS_QUEUE_MGR_RESUME_ERROR", "application could not restart the queue manager, reason: %1", + "DHCP_DDNS_QUEUE_MGR_RESUMING", "application is resuming listening for requests now that the request queue size has reached %1 of a maximum %2 allowed", + "DHCP_DDNS_QUEUE_MGR_STARTED", "application's queue manager has begun listening for requests.", + "DHCP_DDNS_QUEUE_MGR_START_ERROR", "application could not start the queue manager, reason: %1", + "DHCP_DDNS_QUEUE_MGR_STOPPED", "application's queue manager has stopped listening for requests.", + "DHCP_DDNS_QUEUE_MGR_STOPPING", "application is stopping the queue manager for %1", + "DHCP_DDNS_QUEUE_MGR_STOP_ERROR", "application encountered an error stopping the queue manager: %1", + "DHCP_DDNS_QUEUE_MGR_UNEXPECTED_HANDLER_ERROR", "application's queue manager request receive handler experienced an unexpected exception %1:", + "DHCP_DDNS_QUEUE_MGR_UNEXPECTED_STOP", "application's queue manager receive was", + "DHCP_DDNS_REMOVE_FAILED", "DHCP_DDNS Request ID %1: Transaction outcome: %2", + "DHCP_DDNS_REMOVE_SUCCEEDED", "DHCP_DDNS Request ID %1: successfully removed the DNS mapping addition for this request: %2", + "DHCP_DDNS_REQUEST_DROPPED", "Request ID %1: Request contains no enabled update requests and will be dropped: %2", + "DHCP_DDNS_REVERSE_REMOVE_BAD_DNSCLIENT_STATUS", "DHCP_DDNS Request ID %1: received an unknown DNSClient status: %2, while removing reverse address mapping for FQDN %3 to DNS server %4", + "DHCP_DDNS_REVERSE_REMOVE_BUILD_FAILURE", "DNS Request ID %1: update message to remove a reverse DNS entry could not be constructed from this request: %2, reason: %3", + "DHCP_DDNS_REVERSE_REMOVE_IO_ERROR", "DHCP_DDNS Request ID %1: encountered an IO error sending a reverse mapping remove for FQDN %2 to DNS server %3", + "DHCP_DDNS_REVERSE_REMOVE_REJECTED", "DNS Request ID %1: Server, %2, rejected a DNS update request to remove the reverse mapping for FQDN, %3, with an RCODE: %4", + "DHCP_DDNS_REVERSE_REMOVE_RESP_CORRUPT", "DHCP_DDNS Request ID %1: received a corrupt response from the DNS server, %2, while removing reverse address mapping for FQDN, %3", + "DHCP_DDNS_REVERSE_REPLACE_BAD_DNSCLIENT_STATUS", "DHCP_DDNS Request ID %1: received an unknown DNSClient status: %2, while replacing reverse address mapping for FQDN %3 to DNS server %4", + "DHCP_DDNS_REVERSE_REPLACE_BUILD_FAILURE", "DNS Request ID %1: update message to replace a reverse DNS entry could not be constructed from this request: %2, reason: %3", + "DHCP_DDNS_REVERSE_REPLACE_IO_ERROR", "DHCP_DDNS Request ID %1: encountered an IO error sending a reverse mapping replacement for FQDN %2 to DNS server %3", + "DHCP_DDNS_REVERSE_REPLACE_REJECTED", "DNS Request ID %1: Server, %2, rejected a DNS update request to replace the reverse mapping for FQDN, %3, with an RCODE: %4", + "DHCP_DDNS_REVERSE_REPLACE_RESP_CORRUPT", "DHCP_DDNS Request ID %1: received a corrupt response from the DNS server, %2, while replacing reverse address mapping for FQDN, %3", + "DHCP_DDNS_REV_REQUEST_IGNORED", "Request ID %1: Reverse updates are disabled, the reverse portion of request will be ignored: %2", + "DHCP_DDNS_RUN_EXIT", "application is exiting the event loop", + "DHCP_DDNS_SHUTDOWN_COMMAND", "application received shutdown command with args: %1", + "DHCP_DDNS_STARTED", "Kea DHCP-DDNS server version %1 started", + "DHCP_DDNS_STARTING_TRANSACTION", "Request ID %1:", + "DHCP_DDNS_STATE_MODEL_UNEXPECTED_ERROR", "Request ID %1: application encountered an unexpected error while carrying out a NameChangeRequest: %2", + "DHCP_DDNS_TRANS_SEND_ERROR", "Request ID %1: application encountered an unexpected error while attempting to send a DNS update: %2", + "DHCP_DDNS_UPDATE_REQUEST_SENT", "Request ID %1: %2 to server: %3", + "DHCP_DDNS_UPDATE_RESPONSE_RECEIVED", "Request ID %1: to server: %2 status: %3", + NULL +}; + +const isc::log::MessageInitializer initializer(values); + +} // Anonymous namespace + diff --git a/src/bin/d2/d2_messages.h b/src/bin/d2/d2_messages.h new file mode 100644 index 0000000000..299f8bb575 --- /dev/null +++ b/src/bin/d2/d2_messages.h @@ -0,0 +1,89 @@ +// File created from ../../../src/bin/d2/d2_messages.mes on Fri Feb 08 2019 20:33 + +#ifndef D2_MESSAGES_H +#define D2_MESSAGES_H + +#include + +namespace isc { +namespace d2 { + +extern const isc::log::MessageID DHCP_DDNS_ADD_FAILED; +extern const isc::log::MessageID DHCP_DDNS_ADD_SUCCEEDED; +extern const isc::log::MessageID DHCP_DDNS_ALREADY_RUNNING; +extern const isc::log::MessageID DHCP_DDNS_AT_MAX_TRANSACTIONS; +extern const isc::log::MessageID DHCP_DDNS_CLEARED_FOR_SHUTDOWN; +extern const isc::log::MessageID DHCP_DDNS_COMMAND; +extern const isc::log::MessageID DHCP_DDNS_CONFIGURE; +extern const isc::log::MessageID DHCP_DDNS_CONFIG_CHECK_FAIL; +extern const isc::log::MessageID DHCP_DDNS_CONFIG_FAIL; +extern const isc::log::MessageID DHCP_DDNS_FAILED; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_ADD_BAD_DNSCLIENT_STATUS; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_ADD_BUILD_FAILURE; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_ADD_IO_ERROR; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_ADD_REJECTED; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_ADD_RESP_CORRUPT; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REMOVE_ADDRS_BAD_DNSCLIENT_STATUS; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REMOVE_ADDRS_BUILD_FAILURE; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REMOVE_ADDRS_IO_ERROR; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REMOVE_ADDRS_REJECTED; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REMOVE_ADDRS_RESP_CORRUPT; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REMOVE_RRS_BAD_DNSCLIENT_STATUS; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REMOVE_RRS_BUILD_FAILURE; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REMOVE_RRS_IO_ERROR; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REMOVE_RRS_REJECTED; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REMOVE_RRS_RESP_CORRUPT; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REPLACE_BAD_DNSCLIENT_STATUS; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REPLACE_BUILD_FAILURE; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REPLACE_IO_ERROR; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REPLACE_REJECTED; +extern const isc::log::MessageID DHCP_DDNS_FORWARD_REPLACE_RESP_CORRUPT; +extern const isc::log::MessageID DHCP_DDNS_FWD_REQUEST_IGNORED; +extern const isc::log::MessageID DHCP_DDNS_INVALID_RESPONSE; +extern const isc::log::MessageID DHCP_DDNS_NOT_ON_LOOPBACK; +extern const isc::log::MessageID DHCP_DDNS_NO_ELIGIBLE_JOBS; +extern const isc::log::MessageID DHCP_DDNS_NO_FWD_MATCH_ERROR; +extern const isc::log::MessageID DHCP_DDNS_NO_MATCH; +extern const isc::log::MessageID DHCP_DDNS_NO_REV_MATCH_ERROR; +extern const isc::log::MessageID DHCP_DDNS_PROCESS_INIT; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_QUEUE_FULL; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_QUEUE_RECEIVE; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_RECONFIGURING; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_RECOVERING; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_RECV_ERROR; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_RESUME_ERROR; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_RESUMING; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_STARTED; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_START_ERROR; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_STOPPED; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_STOPPING; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_STOP_ERROR; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_UNEXPECTED_HANDLER_ERROR; +extern const isc::log::MessageID DHCP_DDNS_QUEUE_MGR_UNEXPECTED_STOP; +extern const isc::log::MessageID DHCP_DDNS_REMOVE_FAILED; +extern const isc::log::MessageID DHCP_DDNS_REMOVE_SUCCEEDED; +extern const isc::log::MessageID DHCP_DDNS_REQUEST_DROPPED; +extern const isc::log::MessageID DHCP_DDNS_REVERSE_REMOVE_BAD_DNSCLIENT_STATUS; +extern const isc::log::MessageID DHCP_DDNS_REVERSE_REMOVE_BUILD_FAILURE; +extern const isc::log::MessageID DHCP_DDNS_REVERSE_REMOVE_IO_ERROR; +extern const isc::log::MessageID DHCP_DDNS_REVERSE_REMOVE_REJECTED; +extern const isc::log::MessageID DHCP_DDNS_REVERSE_REMOVE_RESP_CORRUPT; +extern const isc::log::MessageID DHCP_DDNS_REVERSE_REPLACE_BAD_DNSCLIENT_STATUS; +extern const isc::log::MessageID DHCP_DDNS_REVERSE_REPLACE_BUILD_FAILURE; +extern const isc::log::MessageID DHCP_DDNS_REVERSE_REPLACE_IO_ERROR; +extern const isc::log::MessageID DHCP_DDNS_REVERSE_REPLACE_REJECTED; +extern const isc::log::MessageID DHCP_DDNS_REVERSE_REPLACE_RESP_CORRUPT; +extern const isc::log::MessageID DHCP_DDNS_REV_REQUEST_IGNORED; +extern const isc::log::MessageID DHCP_DDNS_RUN_EXIT; +extern const isc::log::MessageID DHCP_DDNS_SHUTDOWN_COMMAND; +extern const isc::log::MessageID DHCP_DDNS_STARTED; +extern const isc::log::MessageID DHCP_DDNS_STARTING_TRANSACTION; +extern const isc::log::MessageID DHCP_DDNS_STATE_MODEL_UNEXPECTED_ERROR; +extern const isc::log::MessageID DHCP_DDNS_TRANS_SEND_ERROR; +extern const isc::log::MessageID DHCP_DDNS_UPDATE_REQUEST_SENT; +extern const isc::log::MessageID DHCP_DDNS_UPDATE_RESPONSE_RECEIVED; + +} // namespace d2 +} // namespace isc + +#endif // D2_MESSAGES_H diff --git a/src/bin/dhcp4/.gitignore b/src/bin/dhcp4/.gitignore index 4d09efbc94..770611fd32 100644 --- a/src/bin/dhcp4/.gitignore +++ b/src/bin/dhcp4/.gitignore @@ -1,6 +1,3 @@ /kea-dhcp4 /kea-dhcp4.8 -/dhcp4_messages.cc -/dhcp4_messages.h -/s-messages /dhcp4_parser.report diff --git a/src/bin/dhcp4/Makefile.am b/src/bin/dhcp4/Makefile.am index 56defd6e6c..6eeb137290 100644 --- a/src/bin/dhcp4/Makefile.am +++ b/src/bin/dhcp4/Makefile.am @@ -20,7 +20,7 @@ if USE_STATIC_LINK AM_LDFLAGS = -static endif -CLEANFILES = *.gcno *.gcda dhcp4_messages.h dhcp4_messages.cc s-messages +CLEANFILES = *.gcno *.gcda man_MANS = kea-dhcp4.8 DISTCLEANFILES = $(man_MANS) @@ -42,14 +42,6 @@ $(man_MANS): endif -dhcp4_messages.h dhcp4_messages.cc: s-messages - -s-messages: dhcp4_messages.mes - $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/bin/dhcp4/dhcp4_messages.mes - touch $@ - -BUILT_SOURCES = dhcp4_messages.h dhcp4_messages.cc - # convenience archive noinst_LTLIBRARIES = libdhcp4.la @@ -63,8 +55,7 @@ libdhcp4_la_SOURCES += dhcp4to6_ipc.cc dhcp4to6_ipc.h libdhcp4_la_SOURCES += dhcp4_lexer.ll location.hh position.hh stack.hh libdhcp4_la_SOURCES += dhcp4_parser.cc dhcp4_parser.h libdhcp4_la_SOURCES += parser_context.cc parser_context.h parser_context_decl.h - -nodist_libdhcp4_la_SOURCES = dhcp4_messages.h dhcp4_messages.cc +libdhcp4_la_SOURCES += dhcp4_messages.h dhcp4_messages.cc EXTRA_DIST += dhcp4_messages.mes sbin_PROGRAMS = kea-dhcp4 @@ -116,6 +107,39 @@ endif kea_dhcp4dir = $(pkgdatadir) +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f dhcp4_messages.h dhcp4_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES + +# Define rule to build logging source files from message file +messages: dhcp4_messages.h dhcp4_messages.cc + @echo Message files regenerated + +dhcp4_messages.h dhcp4_messages.cc: dhcp4_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/dhcp4/dhcp4_messages.mes + +else + +messages dhcp4_messages.h dhcp4_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it. + +endif + if GENERATE_PARSER parser: dhcp4_lexer.cc location.hh position.hh stack.hh dhcp4_parser.cc dhcp4_parser.h diff --git a/src/bin/dhcp4/dhcp4_messages.cc b/src/bin/dhcp4/dhcp4_messages.cc new file mode 100644 index 0000000000..46e0efdaf1 --- /dev/null +++ b/src/bin/dhcp4/dhcp4_messages.cc @@ -0,0 +1,275 @@ +// File created from ../../../src/bin/dhcp4/dhcp4_messages.mes on Fri Feb 08 2019 20:32 + +#include +#include +#include + +namespace isc { +namespace dhcp { + +extern const isc::log::MessageID DHCP4_ACTIVATE_INTERFACE = "DHCP4_ACTIVATE_INTERFACE"; +extern const isc::log::MessageID DHCP4_ALREADY_RUNNING = "DHCP4_ALREADY_RUNNING"; +extern const isc::log::MessageID DHCP4_BUFFER_RECEIVED = "DHCP4_BUFFER_RECEIVED"; +extern const isc::log::MessageID DHCP4_BUFFER_RECEIVE_FAIL = "DHCP4_BUFFER_RECEIVE_FAIL"; +extern const isc::log::MessageID DHCP4_BUFFER_UNPACK = "DHCP4_BUFFER_UNPACK"; +extern const isc::log::MessageID DHCP4_BUFFER_WAIT_SIGNAL = "DHCP4_BUFFER_WAIT_SIGNAL"; +extern const isc::log::MessageID DHCP4_CLASS_ASSIGNED = "DHCP4_CLASS_ASSIGNED"; +extern const isc::log::MessageID DHCP4_CLASS_UNCONFIGURED = "DHCP4_CLASS_UNCONFIGURED"; +extern const isc::log::MessageID DHCP4_CLASS_UNDEFINED = "DHCP4_CLASS_UNDEFINED"; +extern const isc::log::MessageID DHCP4_CLASS_UNTESTABLE = "DHCP4_CLASS_UNTESTABLE"; +extern const isc::log::MessageID DHCP4_CLIENTID_IGNORED_FOR_LEASES = "DHCP4_CLIENTID_IGNORED_FOR_LEASES"; +extern const isc::log::MessageID DHCP4_CLIENT_FQDN_DATA = "DHCP4_CLIENT_FQDN_DATA"; +extern const isc::log::MessageID DHCP4_CLIENT_FQDN_PROCESS = "DHCP4_CLIENT_FQDN_PROCESS"; +extern const isc::log::MessageID DHCP4_CLIENT_HOSTNAME_DATA = "DHCP4_CLIENT_HOSTNAME_DATA"; +extern const isc::log::MessageID DHCP4_CLIENT_HOSTNAME_PROCESS = "DHCP4_CLIENT_HOSTNAME_PROCESS"; +extern const isc::log::MessageID DHCP4_CLIENT_NAME_PROC_FAIL = "DHCP4_CLIENT_NAME_PROC_FAIL"; +extern const isc::log::MessageID DHCP4_COMMAND_RECEIVED = "DHCP4_COMMAND_RECEIVED"; +extern const isc::log::MessageID DHCP4_CONFIG_COMPLETE = "DHCP4_CONFIG_COMPLETE"; +extern const isc::log::MessageID DHCP4_CONFIG_FETCH = "DHCP4_CONFIG_FETCH"; +extern const isc::log::MessageID DHCP4_CONFIG_LOAD_FAIL = "DHCP4_CONFIG_LOAD_FAIL"; +extern const isc::log::MessageID DHCP4_CONFIG_MERGED = "DHCP4_CONFIG_MERGED"; +extern const isc::log::MessageID DHCP4_CONFIG_NEW_SUBNET = "DHCP4_CONFIG_NEW_SUBNET"; +extern const isc::log::MessageID DHCP4_CONFIG_OPTION_DUPLICATE = "DHCP4_CONFIG_OPTION_DUPLICATE"; +extern const isc::log::MessageID DHCP4_CONFIG_PACKET_QUEUE = "DHCP4_CONFIG_PACKET_QUEUE"; +extern const isc::log::MessageID DHCP4_CONFIG_RECEIVED = "DHCP4_CONFIG_RECEIVED"; +extern const isc::log::MessageID DHCP4_CONFIG_START = "DHCP4_CONFIG_START"; +extern const isc::log::MessageID DHCP4_CONFIG_UPDATE = "DHCP4_CONFIG_UPDATE"; +extern const isc::log::MessageID DHCP4_DB_RECONNECT_ATTEMPT_FAILED = "DHCP4_DB_RECONNECT_ATTEMPT_FAILED"; +extern const isc::log::MessageID DHCP4_DB_RECONNECT_ATTEMPT_SCHEDULE = "DHCP4_DB_RECONNECT_ATTEMPT_SCHEDULE"; +extern const isc::log::MessageID DHCP4_DB_RECONNECT_DISABLED = "DHCP4_DB_RECONNECT_DISABLED"; +extern const isc::log::MessageID DHCP4_DB_RECONNECT_NO_DB_CTL = "DHCP4_DB_RECONNECT_NO_DB_CTL"; +extern const isc::log::MessageID DHCP4_DB_RECONNECT_RETRIES_EXHAUSTED = "DHCP4_DB_RECONNECT_RETRIES_EXHAUSTED"; +extern const isc::log::MessageID DHCP4_DDNS_REQUEST_SEND_FAILED = "DHCP4_DDNS_REQUEST_SEND_FAILED"; +extern const isc::log::MessageID DHCP4_DEACTIVATE_INTERFACE = "DHCP4_DEACTIVATE_INTERFACE"; +extern const isc::log::MessageID DHCP4_DECLINE_LEASE = "DHCP4_DECLINE_LEASE"; +extern const isc::log::MessageID DHCP4_DECLINE_LEASE_MISMATCH = "DHCP4_DECLINE_LEASE_MISMATCH"; +extern const isc::log::MessageID DHCP4_DECLINE_LEASE_NOT_FOUND = "DHCP4_DECLINE_LEASE_NOT_FOUND"; +extern const isc::log::MessageID DHCP4_DHCP4O6_BAD_PACKET = "DHCP4_DHCP4O6_BAD_PACKET"; +extern const isc::log::MessageID DHCP4_DHCP4O6_PACKET_RECEIVED = "DHCP4_DHCP4O6_PACKET_RECEIVED"; +extern const isc::log::MessageID DHCP4_DHCP4O6_PACKET_SEND = "DHCP4_DHCP4O6_PACKET_SEND"; +extern const isc::log::MessageID DHCP4_DHCP4O6_PACKET_SEND_FAIL = "DHCP4_DHCP4O6_PACKET_SEND_FAIL"; +extern const isc::log::MessageID DHCP4_DHCP4O6_RECEIVE_FAIL = "DHCP4_DHCP4O6_RECEIVE_FAIL"; +extern const isc::log::MessageID DHCP4_DHCP4O6_RECEIVING = "DHCP4_DHCP4O6_RECEIVING"; +extern const isc::log::MessageID DHCP4_DHCP4O6_RESPONSE_DATA = "DHCP4_DHCP4O6_RESPONSE_DATA"; +extern const isc::log::MessageID DHCP4_DYNAMIC_RECONFIGURATION = "DHCP4_DYNAMIC_RECONFIGURATION"; +extern const isc::log::MessageID DHCP4_DYNAMIC_RECONFIGURATION_FAIL = "DHCP4_DYNAMIC_RECONFIGURATION_FAIL"; +extern const isc::log::MessageID DHCP4_EMPTY_HOSTNAME = "DHCP4_EMPTY_HOSTNAME"; +extern const isc::log::MessageID DHCP4_FLEX_ID = "DHCP4_FLEX_ID"; +extern const isc::log::MessageID DHCP4_GENERATE_FQDN = "DHCP4_GENERATE_FQDN"; +extern const isc::log::MessageID DHCP4_HANDLE_SIGNAL_EXCEPTION = "DHCP4_HANDLE_SIGNAL_EXCEPTION"; +extern const isc::log::MessageID DHCP4_HOOKS_LIBS_RELOAD_FAIL = "DHCP4_HOOKS_LIBS_RELOAD_FAIL"; +extern const isc::log::MessageID DHCP4_HOOK_BUFFER_RCVD_DROP = "DHCP4_HOOK_BUFFER_RCVD_DROP"; +extern const isc::log::MessageID DHCP4_HOOK_BUFFER_RCVD_SKIP = "DHCP4_HOOK_BUFFER_RCVD_SKIP"; +extern const isc::log::MessageID DHCP4_HOOK_BUFFER_SEND_SKIP = "DHCP4_HOOK_BUFFER_SEND_SKIP"; +extern const isc::log::MessageID DHCP4_HOOK_DECLINE_SKIP = "DHCP4_HOOK_DECLINE_SKIP"; +extern const isc::log::MessageID DHCP4_HOOK_LEASE4_RELEASE_SKIP = "DHCP4_HOOK_LEASE4_RELEASE_SKIP"; +extern const isc::log::MessageID DHCP4_HOOK_LEASES4_COMMITTED_DROP = "DHCP4_HOOK_LEASES4_COMMITTED_DROP"; +extern const isc::log::MessageID DHCP4_HOOK_LEASES4_COMMITTED_PARK = "DHCP4_HOOK_LEASES4_COMMITTED_PARK"; +extern const isc::log::MessageID DHCP4_HOOK_PACKET_RCVD_SKIP = "DHCP4_HOOK_PACKET_RCVD_SKIP"; +extern const isc::log::MessageID DHCP4_HOOK_PACKET_SEND_SKIP = "DHCP4_HOOK_PACKET_SEND_SKIP"; +extern const isc::log::MessageID DHCP4_HOOK_SUBNET4_SELECT_DROP = "DHCP4_HOOK_SUBNET4_SELECT_DROP"; +extern const isc::log::MessageID DHCP4_HOOK_SUBNET4_SELECT_SKIP = "DHCP4_HOOK_SUBNET4_SELECT_SKIP"; +extern const isc::log::MessageID DHCP4_INFORM_DIRECT_REPLY = "DHCP4_INFORM_DIRECT_REPLY"; +extern const isc::log::MessageID DHCP4_INIT_FAIL = "DHCP4_INIT_FAIL"; +extern const isc::log::MessageID DHCP4_INIT_REBOOT = "DHCP4_INIT_REBOOT"; +extern const isc::log::MessageID DHCP4_LEASE_ADVERT = "DHCP4_LEASE_ADVERT"; +extern const isc::log::MessageID DHCP4_LEASE_ALLOC = "DHCP4_LEASE_ALLOC"; +extern const isc::log::MessageID DHCP4_NCR_CREATE = "DHCP4_NCR_CREATE"; +extern const isc::log::MessageID DHCP4_NCR_CREATION_FAILED = "DHCP4_NCR_CREATION_FAILED"; +extern const isc::log::MessageID DHCP4_NOT_RUNNING = "DHCP4_NOT_RUNNING"; +extern const isc::log::MessageID DHCP4_NO_LEASE_INIT_REBOOT = "DHCP4_NO_LEASE_INIT_REBOOT"; +extern const isc::log::MessageID DHCP4_NO_SOCKETS_OPEN = "DHCP4_NO_SOCKETS_OPEN"; +extern const isc::log::MessageID DHCP4_OPEN_CONFIG_DB = "DHCP4_OPEN_CONFIG_DB"; +extern const isc::log::MessageID DHCP4_OPEN_SOCKET = "DHCP4_OPEN_SOCKET"; +extern const isc::log::MessageID DHCP4_OPEN_SOCKET_FAIL = "DHCP4_OPEN_SOCKET_FAIL"; +extern const isc::log::MessageID DHCP4_PACKET_DROP_0001 = "DHCP4_PACKET_DROP_0001"; +extern const isc::log::MessageID DHCP4_PACKET_DROP_0002 = "DHCP4_PACKET_DROP_0002"; +extern const isc::log::MessageID DHCP4_PACKET_DROP_0003 = "DHCP4_PACKET_DROP_0003"; +extern const isc::log::MessageID DHCP4_PACKET_DROP_0004 = "DHCP4_PACKET_DROP_0004"; +extern const isc::log::MessageID DHCP4_PACKET_DROP_0005 = "DHCP4_PACKET_DROP_0005"; +extern const isc::log::MessageID DHCP4_PACKET_DROP_0006 = "DHCP4_PACKET_DROP_0006"; +extern const isc::log::MessageID DHCP4_PACKET_DROP_0007 = "DHCP4_PACKET_DROP_0007"; +extern const isc::log::MessageID DHCP4_PACKET_DROP_0008 = "DHCP4_PACKET_DROP_0008"; +extern const isc::log::MessageID DHCP4_PACKET_DROP_0009 = "DHCP4_PACKET_DROP_0009"; +extern const isc::log::MessageID DHCP4_PACKET_NAK_0001 = "DHCP4_PACKET_NAK_0001"; +extern const isc::log::MessageID DHCP4_PACKET_NAK_0002 = "DHCP4_PACKET_NAK_0002"; +extern const isc::log::MessageID DHCP4_PACKET_NAK_0003 = "DHCP4_PACKET_NAK_0003"; +extern const isc::log::MessageID DHCP4_PACKET_NAK_0004 = "DHCP4_PACKET_NAK_0004"; +extern const isc::log::MessageID DHCP4_PACKET_OPTIONS_SKIPPED = "DHCP4_PACKET_OPTIONS_SKIPPED"; +extern const isc::log::MessageID DHCP4_PACKET_PACK = "DHCP4_PACKET_PACK"; +extern const isc::log::MessageID DHCP4_PACKET_PACK_FAIL = "DHCP4_PACKET_PACK_FAIL"; +extern const isc::log::MessageID DHCP4_PACKET_PROCESS_EXCEPTION = "DHCP4_PACKET_PROCESS_EXCEPTION"; +extern const isc::log::MessageID DHCP4_PACKET_PROCESS_STD_EXCEPTION = "DHCP4_PACKET_PROCESS_STD_EXCEPTION"; +extern const isc::log::MessageID DHCP4_PACKET_RECEIVED = "DHCP4_PACKET_RECEIVED"; +extern const isc::log::MessageID DHCP4_PACKET_SEND = "DHCP4_PACKET_SEND"; +extern const isc::log::MessageID DHCP4_PACKET_SEND_FAIL = "DHCP4_PACKET_SEND_FAIL"; +extern const isc::log::MessageID DHCP4_PARSER_COMMIT_EXCEPTION = "DHCP4_PARSER_COMMIT_EXCEPTION"; +extern const isc::log::MessageID DHCP4_PARSER_COMMIT_FAIL = "DHCP4_PARSER_COMMIT_FAIL"; +extern const isc::log::MessageID DHCP4_PARSER_EXCEPTION = "DHCP4_PARSER_EXCEPTION"; +extern const isc::log::MessageID DHCP4_PARSER_FAIL = "DHCP4_PARSER_FAIL"; +extern const isc::log::MessageID DHCP4_POST_ALLOCATION_NAME_UPDATE_FAIL = "DHCP4_POST_ALLOCATION_NAME_UPDATE_FAIL"; +extern const isc::log::MessageID DHCP4_QUERY_DATA = "DHCP4_QUERY_DATA"; +extern const isc::log::MessageID DHCP4_RELEASE = "DHCP4_RELEASE"; +extern const isc::log::MessageID DHCP4_RELEASE_EXCEPTION = "DHCP4_RELEASE_EXCEPTION"; +extern const isc::log::MessageID DHCP4_RELEASE_FAIL = "DHCP4_RELEASE_FAIL"; +extern const isc::log::MessageID DHCP4_RELEASE_FAIL_NO_LEASE = "DHCP4_RELEASE_FAIL_NO_LEASE"; +extern const isc::log::MessageID DHCP4_RELEASE_FAIL_WRONG_CLIENT = "DHCP4_RELEASE_FAIL_WRONG_CLIENT"; +extern const isc::log::MessageID DHCP4_RESERVED_HOSTNAME_ASSIGNED = "DHCP4_RESERVED_HOSTNAME_ASSIGNED"; +extern const isc::log::MessageID DHCP4_RESPONSE_DATA = "DHCP4_RESPONSE_DATA"; +extern const isc::log::MessageID DHCP4_RESPONSE_FQDN_DATA = "DHCP4_RESPONSE_FQDN_DATA"; +extern const isc::log::MessageID DHCP4_RESPONSE_HOSTNAME_DATA = "DHCP4_RESPONSE_HOSTNAME_DATA"; +extern const isc::log::MessageID DHCP4_RESPONSE_HOSTNAME_GENERATE = "DHCP4_RESPONSE_HOSTNAME_GENERATE"; +extern const isc::log::MessageID DHCP4_SERVER_FAILED = "DHCP4_SERVER_FAILED"; +extern const isc::log::MessageID DHCP4_SHUTDOWN = "DHCP4_SHUTDOWN"; +extern const isc::log::MessageID DHCP4_SHUTDOWN_REQUEST = "DHCP4_SHUTDOWN_REQUEST"; +extern const isc::log::MessageID DHCP4_SRV_CONSTRUCT_ERROR = "DHCP4_SRV_CONSTRUCT_ERROR"; +extern const isc::log::MessageID DHCP4_SRV_D2STOP_ERROR = "DHCP4_SRV_D2STOP_ERROR"; +extern const isc::log::MessageID DHCP4_SRV_DHCP4O6_ERROR = "DHCP4_SRV_DHCP4O6_ERROR"; +extern const isc::log::MessageID DHCP4_STARTED = "DHCP4_STARTED"; +extern const isc::log::MessageID DHCP4_STARTING = "DHCP4_STARTING"; +extern const isc::log::MessageID DHCP4_START_INFO = "DHCP4_START_INFO"; +extern const isc::log::MessageID DHCP4_SUBNET_DATA = "DHCP4_SUBNET_DATA"; +extern const isc::log::MessageID DHCP4_SUBNET_DYNAMICALLY_CHANGED = "DHCP4_SUBNET_DYNAMICALLY_CHANGED"; +extern const isc::log::MessageID DHCP4_SUBNET_SELECTED = "DHCP4_SUBNET_SELECTED"; +extern const isc::log::MessageID DHCP4_SUBNET_SELECTION_FAILED = "DHCP4_SUBNET_SELECTION_FAILED"; +extern const isc::log::MessageID DHCP6_DHCP4O6_PACKET_RECEIVED = "DHCP6_DHCP4O6_PACKET_RECEIVED"; + +} // namespace dhcp +} // namespace isc + +namespace { + +const char* values[] = { + "DHCP4_ACTIVATE_INTERFACE", "activating interface %1", + "DHCP4_ALREADY_RUNNING", "%1 already running? %2", + "DHCP4_BUFFER_RECEIVED", "received buffer from %1:%2 to %3:%4 over interface %5", + "DHCP4_BUFFER_RECEIVE_FAIL", "error on attempt to receive packet: %1", + "DHCP4_BUFFER_UNPACK", "parsing buffer received from %1 to %2 over interface %3", + "DHCP4_BUFFER_WAIT_SIGNAL", "signal received while waiting for next packet, next waiting signal is %1", + "DHCP4_CLASS_ASSIGNED", "%1: client packet has been assigned to the following class(es): %2", + "DHCP4_CLASS_UNCONFIGURED", "%1: client packet belongs to an unconfigured class: %2", + "DHCP4_CLASS_UNDEFINED", "required class %1 has no definition", + "DHCP4_CLASS_UNTESTABLE", "required class %1 has no test expression", + "DHCP4_CLIENTID_IGNORED_FOR_LEASES", "%1: not using client identifier for lease allocation for subnet %2", + "DHCP4_CLIENT_FQDN_DATA", "%1: Client sent FQDN option: %2", + "DHCP4_CLIENT_FQDN_PROCESS", "%1: processing Client FQDN option", + "DHCP4_CLIENT_HOSTNAME_DATA", "%1: client sent Hostname option: %2", + "DHCP4_CLIENT_HOSTNAME_PROCESS", "%1: processing client's Hostname option", + "DHCP4_CLIENT_NAME_PROC_FAIL", "%1: failed to process the fqdn or hostname sent by a client: %2", + "DHCP4_COMMAND_RECEIVED", "received command %1, arguments: %2", + "DHCP4_CONFIG_COMPLETE", "DHCPv4 server has completed configuration: %1", + "DHCP4_CONFIG_FETCH", "Fetching configuration data from config backends.", + "DHCP4_CONFIG_LOAD_FAIL", "configuration error using file: %1, reason: %2", + "DHCP4_CONFIG_MERGED", "Configuration backend data has been merged.", + "DHCP4_CONFIG_NEW_SUBNET", "a new subnet has been added to configuration: %1", + "DHCP4_CONFIG_OPTION_DUPLICATE", "multiple options with the code %1 added to the subnet %2", + "DHCP4_CONFIG_PACKET_QUEUE", "DHCPv4 packet queue info after configuration: %1", + "DHCP4_CONFIG_RECEIVED", "received configuration %1", + "DHCP4_CONFIG_START", "DHCPv4 server is processing the following configuration: %1", + "DHCP4_CONFIG_UPDATE", "updated configuration received: %1", + "DHCP4_DB_RECONNECT_ATTEMPT_FAILED", "database reconnect failed: %1", + "DHCP4_DB_RECONNECT_ATTEMPT_SCHEDULE", "scheduling attempt %1 of %2 in %3 milliseconds", + "DHCP4_DB_RECONNECT_DISABLED", "database reconnect is disabled: max-reconnect-tries %1, reconnect-wait-time %2", + "DHCP4_DB_RECONNECT_NO_DB_CTL", "unexpected error in database reconnect", + "DHCP4_DB_RECONNECT_RETRIES_EXHAUSTED", "maximum number of database reconnect attempts: %1, has been exhausted without success, server is shutting down!", + "DHCP4_DDNS_REQUEST_SEND_FAILED", "failed sending a request to kea-dhcp-ddns, error: %1, ncr: %2", + "DHCP4_DEACTIVATE_INTERFACE", "deactivate interface %1", + "DHCP4_DECLINE_LEASE", "Received DHCPDECLINE for addr %1 from client %2. The lease will be unavailable for %3 seconds.", + "DHCP4_DECLINE_LEASE_MISMATCH", "Received DHCPDECLINE for addr %1 from client %2, but the data doesn't match: received hwaddr: %3, lease hwaddr: %4, received client-id: %5, lease client-id: %6", + "DHCP4_DECLINE_LEASE_NOT_FOUND", "Received DHCPDECLINE for addr %1 from client %2, but no such lease found.", + "DHCP4_DHCP4O6_BAD_PACKET", "received malformed DHCPv4o6 packet: %1", + "DHCP4_DHCP4O6_PACKET_RECEIVED", "received DHCPv4o6 packet from DHCPv4 server (type %1) for %2 on interface %3", + "DHCP4_DHCP4O6_PACKET_SEND", "%1: trying to send packet %2 (type %3) to %4 port %5 on interface %6 encapsulating %7: %8 (type %9)", + "DHCP4_DHCP4O6_PACKET_SEND_FAIL", "%1: failed to send DHCPv4o6 packet: %2", + "DHCP4_DHCP4O6_RECEIVE_FAIL", "failed to receive DHCPv4o6: %1", + "DHCP4_DHCP4O6_RECEIVING", "receiving DHCPv4o6 packet from DHCPv6 server", + "DHCP4_DHCP4O6_RESPONSE_DATA", "%1: responding with packet %2 (type %3), packet details: %4", + "DHCP4_DYNAMIC_RECONFIGURATION", "initiate server reconfiguration using file: %1, after receiving SIGHUP signal", + "DHCP4_DYNAMIC_RECONFIGURATION_FAIL", "dynamic server reconfiguration failed with file: %1", + "DHCP4_EMPTY_HOSTNAME", "%1: received empty hostname from the client, skipping processing of this option", + "DHCP4_FLEX_ID", "flexible identifier generated for incoming packet: %1", + "DHCP4_GENERATE_FQDN", "%1: client did not send a FQDN or hostname; FQDN will be be generated for the client", + "DHCP4_HANDLE_SIGNAL_EXCEPTION", "An exception was thrown while handing signal: %1", + "DHCP4_HOOKS_LIBS_RELOAD_FAIL", "reload of hooks libraries failed", + "DHCP4_HOOK_BUFFER_RCVD_DROP", "received buffer from %1 to %2 over interface %3 was dropped because a callout set the drop flag", + "DHCP4_HOOK_BUFFER_RCVD_SKIP", "received buffer from %1 to %2 over interface %3 is not parsed because a callout set the next step to SKIP.", + "DHCP4_HOOK_BUFFER_SEND_SKIP", "%1: prepared response is dropped because a callout set the next step to SKIP.", + "DHCP4_HOOK_DECLINE_SKIP", "Decline4 hook callouts set status to DROP, ignoring packet.", + "DHCP4_HOOK_LEASE4_RELEASE_SKIP", "%1: lease was not released because a callout set the next step to SKIP", + "DHCP4_HOOK_LEASES4_COMMITTED_DROP", "%1: packet is dropped, because a callout set the next step to DROP", + "DHCP4_HOOK_LEASES4_COMMITTED_PARK", "%1: packet is parked, because a callout set the next step to PARK", + "DHCP4_HOOK_PACKET_RCVD_SKIP", "%1: packet is dropped, because a callout set the next step to SKIP", + "DHCP4_HOOK_PACKET_SEND_SKIP", "%1: prepared response is not sent, because a callout set the next stp to SKIP", + "DHCP4_HOOK_SUBNET4_SELECT_DROP", "%1: packet was dropped, because a callout set the next step to 'drop'", + "DHCP4_HOOK_SUBNET4_SELECT_SKIP", "%1: no subnet was selected, because a callout set the next skip flag", + "DHCP4_INFORM_DIRECT_REPLY", "%1: DHCPACK in reply to the DHCPINFORM will be sent directly to %2 over %3", + "DHCP4_INIT_FAIL", "failed to initialize Kea server: %1", + "DHCP4_INIT_REBOOT", "%1: client is in INIT-REBOOT state and requests address %2", + "DHCP4_LEASE_ADVERT", "%1: lease %2 will be advertised", + "DHCP4_LEASE_ALLOC", "%1: lease %2 has been allocated", + "DHCP4_NCR_CREATE", "%1: DDNS updates enabled, therefore sending name change requests", + "DHCP4_NCR_CREATION_FAILED", "%1: failed to generate name change requests for DNS: %2", + "DHCP4_NOT_RUNNING", "DHCPv4 server is not running", + "DHCP4_NO_LEASE_INIT_REBOOT", "%1: no lease for address %2 requested by INIT-REBOOT client", + "DHCP4_NO_SOCKETS_OPEN", "no interface configured to listen to DHCP traffic", + "DHCP4_OPEN_CONFIG_DB", "Opening configuration database: %1", + "DHCP4_OPEN_SOCKET", "opening service sockets on port %1", + "DHCP4_OPEN_SOCKET_FAIL", "failed to open socket: %1", + "DHCP4_PACKET_DROP_0001", "failed to parse packet from %1 to %2, received over interface %3, reason: %4", + "DHCP4_PACKET_DROP_0002", "%1, from interface %2: no suitable subnet configured for a direct client", + "DHCP4_PACKET_DROP_0003", "%1, from interface %2: it contains a foreign server identifier", + "DHCP4_PACKET_DROP_0004", "%1, from interface %2: missing msg-type option", + "DHCP4_PACKET_DROP_0005", "%1: unrecognized type %2 in option 53", + "DHCP4_PACKET_DROP_0006", "%1: unsupported DHCPv4 message type %2", + "DHCP4_PACKET_DROP_0007", "%1: failed to process packet: %2", + "DHCP4_PACKET_DROP_0008", "%1: DHCP service is globally disabled", + "DHCP4_PACKET_DROP_0009", "%1: Option 53 missing (no DHCP message type), is this a BOOTP packet?", + "DHCP4_PACKET_NAK_0001", "%1: failed to select a subnet for incoming packet, src %2, type %3", + "DHCP4_PACKET_NAK_0002", "%1: invalid address %2 requested by INIT-REBOOT", + "DHCP4_PACKET_NAK_0003", "%1: failed to advertise a lease, client sent ciaddr %2, requested-ip-address %3", + "DHCP4_PACKET_NAK_0004", "%1: failed to grant a lease, client sent ciaddr %2, requested-ip-address %3", + "DHCP4_PACKET_OPTIONS_SKIPPED", "An error upacking an option, caused subsequent options to be skipped: %1", + "DHCP4_PACKET_PACK", "%1: preparing on-wire format of the packet to be sent", + "DHCP4_PACKET_PACK_FAIL", "%1: preparing on-wire-format of the packet to be sent failed %2", + "DHCP4_PACKET_PROCESS_EXCEPTION", "exception occurred during packet processing", + "DHCP4_PACKET_PROCESS_STD_EXCEPTION", "exception occurred during packet processing: %1", + "DHCP4_PACKET_RECEIVED", "%1: %2 (type %3) received from %4 to %5 on interface %6", + "DHCP4_PACKET_SEND", "%1: trying to send packet %2 (type %3) from %4:%5 to %6:%7 on interface %8", + "DHCP4_PACKET_SEND_FAIL", "%1: failed to send DHCPv4 packet: %2", + "DHCP4_PARSER_COMMIT_EXCEPTION", "parser failed to commit changes", + "DHCP4_PARSER_COMMIT_FAIL", "parser failed to commit changes: %1", + "DHCP4_PARSER_EXCEPTION", "failed to create or run parser for configuration element %1", + "DHCP4_PARSER_FAIL", "failed to create or run parser for configuration element %1: %2", + "DHCP4_POST_ALLOCATION_NAME_UPDATE_FAIL", "%1: failed to update hostname %2 in a lease after address allocation: %3", + "DHCP4_QUERY_DATA", "%1, packet details: %2", + "DHCP4_RELEASE", "%1: address %2 was released properly.", + "DHCP4_RELEASE_EXCEPTION", "%1: while trying to release address %2 an exception occurred: %3", + "DHCP4_RELEASE_FAIL", "%1: failed to remove lease for address %2", + "DHCP4_RELEASE_FAIL_NO_LEASE", "%1: client is trying to release non-existing lease %2", + "DHCP4_RELEASE_FAIL_WRONG_CLIENT", "%1: client is trying to release the lease %2 which belongs to a different client", + "DHCP4_RESERVED_HOSTNAME_ASSIGNED", "%1: server assigned reserved hostname %2", + "DHCP4_RESPONSE_DATA", "%1: responding with packet %2 (type %3), packet details: %4", + "DHCP4_RESPONSE_FQDN_DATA", "%1: including FQDN option in the server's response: %2", + "DHCP4_RESPONSE_HOSTNAME_DATA", "%1: including Hostname option in the server's response: %2", + "DHCP4_RESPONSE_HOSTNAME_GENERATE", "%1: server has generated hostname %2 for the client", + "DHCP4_SERVER_FAILED", "server failed: %1", + "DHCP4_SHUTDOWN", "server shutdown", + "DHCP4_SHUTDOWN_REQUEST", "shutdown of server requested", + "DHCP4_SRV_CONSTRUCT_ERROR", "error creating Dhcpv4Srv object, reason: %1", + "DHCP4_SRV_D2STOP_ERROR", "error stopping IO with DHCP_DDNS during shutdown: %1", + "DHCP4_SRV_DHCP4O6_ERROR", "error stopping IO with DHCPv4o6 during shutdown: %1", + "DHCP4_STARTED", "Kea DHCPv4 server version %1 started", + "DHCP4_STARTING", "Kea DHCPv4 server version %1 starting", + "DHCP4_START_INFO", "pid: %1, server port: %2, client port: %3, verbose: %4", + "DHCP4_SUBNET_DATA", "%1: the selected subnet details: %2", + "DHCP4_SUBNET_DYNAMICALLY_CHANGED", "%1: changed selected subnet %2 to subnet %3 from shared network %4 for client assignments", + "DHCP4_SUBNET_SELECTED", "%1: the subnet with ID %2 was selected for client assignments", + "DHCP4_SUBNET_SELECTION_FAILED", "%1: failed to select subnet for the client", + "DHCP6_DHCP4O6_PACKET_RECEIVED", "received DHCPv4o6 packet from DHCPv6 server (type %1) for %2 port %3 on interface %4", + NULL +}; + +const isc::log::MessageInitializer initializer(values); + +} // Anonymous namespace + diff --git a/src/bin/dhcp4/dhcp4_messages.h b/src/bin/dhcp4/dhcp4_messages.h new file mode 100644 index 0000000000..dbcf0050a2 --- /dev/null +++ b/src/bin/dhcp4/dhcp4_messages.h @@ -0,0 +1,141 @@ +// File created from ../../../src/bin/dhcp4/dhcp4_messages.mes on Fri Feb 08 2019 20:32 + +#ifndef DHCP4_MESSAGES_H +#define DHCP4_MESSAGES_H + +#include + +namespace isc { +namespace dhcp { + +extern const isc::log::MessageID DHCP4_ACTIVATE_INTERFACE; +extern const isc::log::MessageID DHCP4_ALREADY_RUNNING; +extern const isc::log::MessageID DHCP4_BUFFER_RECEIVED; +extern const isc::log::MessageID DHCP4_BUFFER_RECEIVE_FAIL; +extern const isc::log::MessageID DHCP4_BUFFER_UNPACK; +extern const isc::log::MessageID DHCP4_BUFFER_WAIT_SIGNAL; +extern const isc::log::MessageID DHCP4_CLASS_ASSIGNED; +extern const isc::log::MessageID DHCP4_CLASS_UNCONFIGURED; +extern const isc::log::MessageID DHCP4_CLASS_UNDEFINED; +extern const isc::log::MessageID DHCP4_CLASS_UNTESTABLE; +extern const isc::log::MessageID DHCP4_CLIENTID_IGNORED_FOR_LEASES; +extern const isc::log::MessageID DHCP4_CLIENT_FQDN_DATA; +extern const isc::log::MessageID DHCP4_CLIENT_FQDN_PROCESS; +extern const isc::log::MessageID DHCP4_CLIENT_HOSTNAME_DATA; +extern const isc::log::MessageID DHCP4_CLIENT_HOSTNAME_PROCESS; +extern const isc::log::MessageID DHCP4_CLIENT_NAME_PROC_FAIL; +extern const isc::log::MessageID DHCP4_COMMAND_RECEIVED; +extern const isc::log::MessageID DHCP4_CONFIG_COMPLETE; +extern const isc::log::MessageID DHCP4_CONFIG_FETCH; +extern const isc::log::MessageID DHCP4_CONFIG_LOAD_FAIL; +extern const isc::log::MessageID DHCP4_CONFIG_MERGED; +extern const isc::log::MessageID DHCP4_CONFIG_NEW_SUBNET; +extern const isc::log::MessageID DHCP4_CONFIG_OPTION_DUPLICATE; +extern const isc::log::MessageID DHCP4_CONFIG_PACKET_QUEUE; +extern const isc::log::MessageID DHCP4_CONFIG_RECEIVED; +extern const isc::log::MessageID DHCP4_CONFIG_START; +extern const isc::log::MessageID DHCP4_CONFIG_UPDATE; +extern const isc::log::MessageID DHCP4_DB_RECONNECT_ATTEMPT_FAILED; +extern const isc::log::MessageID DHCP4_DB_RECONNECT_ATTEMPT_SCHEDULE; +extern const isc::log::MessageID DHCP4_DB_RECONNECT_DISABLED; +extern const isc::log::MessageID DHCP4_DB_RECONNECT_NO_DB_CTL; +extern const isc::log::MessageID DHCP4_DB_RECONNECT_RETRIES_EXHAUSTED; +extern const isc::log::MessageID DHCP4_DDNS_REQUEST_SEND_FAILED; +extern const isc::log::MessageID DHCP4_DEACTIVATE_INTERFACE; +extern const isc::log::MessageID DHCP4_DECLINE_LEASE; +extern const isc::log::MessageID DHCP4_DECLINE_LEASE_MISMATCH; +extern const isc::log::MessageID DHCP4_DECLINE_LEASE_NOT_FOUND; +extern const isc::log::MessageID DHCP4_DHCP4O6_BAD_PACKET; +extern const isc::log::MessageID DHCP4_DHCP4O6_PACKET_RECEIVED; +extern const isc::log::MessageID DHCP4_DHCP4O6_PACKET_SEND; +extern const isc::log::MessageID DHCP4_DHCP4O6_PACKET_SEND_FAIL; +extern const isc::log::MessageID DHCP4_DHCP4O6_RECEIVE_FAIL; +extern const isc::log::MessageID DHCP4_DHCP4O6_RECEIVING; +extern const isc::log::MessageID DHCP4_DHCP4O6_RESPONSE_DATA; +extern const isc::log::MessageID DHCP4_DYNAMIC_RECONFIGURATION; +extern const isc::log::MessageID DHCP4_DYNAMIC_RECONFIGURATION_FAIL; +extern const isc::log::MessageID DHCP4_EMPTY_HOSTNAME; +extern const isc::log::MessageID DHCP4_FLEX_ID; +extern const isc::log::MessageID DHCP4_GENERATE_FQDN; +extern const isc::log::MessageID DHCP4_HANDLE_SIGNAL_EXCEPTION; +extern const isc::log::MessageID DHCP4_HOOKS_LIBS_RELOAD_FAIL; +extern const isc::log::MessageID DHCP4_HOOK_BUFFER_RCVD_DROP; +extern const isc::log::MessageID DHCP4_HOOK_BUFFER_RCVD_SKIP; +extern const isc::log::MessageID DHCP4_HOOK_BUFFER_SEND_SKIP; +extern const isc::log::MessageID DHCP4_HOOK_DECLINE_SKIP; +extern const isc::log::MessageID DHCP4_HOOK_LEASE4_RELEASE_SKIP; +extern const isc::log::MessageID DHCP4_HOOK_LEASES4_COMMITTED_DROP; +extern const isc::log::MessageID DHCP4_HOOK_LEASES4_COMMITTED_PARK; +extern const isc::log::MessageID DHCP4_HOOK_PACKET_RCVD_SKIP; +extern const isc::log::MessageID DHCP4_HOOK_PACKET_SEND_SKIP; +extern const isc::log::MessageID DHCP4_HOOK_SUBNET4_SELECT_DROP; +extern const isc::log::MessageID DHCP4_HOOK_SUBNET4_SELECT_SKIP; +extern const isc::log::MessageID DHCP4_INFORM_DIRECT_REPLY; +extern const isc::log::MessageID DHCP4_INIT_FAIL; +extern const isc::log::MessageID DHCP4_INIT_REBOOT; +extern const isc::log::MessageID DHCP4_LEASE_ADVERT; +extern const isc::log::MessageID DHCP4_LEASE_ALLOC; +extern const isc::log::MessageID DHCP4_NCR_CREATE; +extern const isc::log::MessageID DHCP4_NCR_CREATION_FAILED; +extern const isc::log::MessageID DHCP4_NOT_RUNNING; +extern const isc::log::MessageID DHCP4_NO_LEASE_INIT_REBOOT; +extern const isc::log::MessageID DHCP4_NO_SOCKETS_OPEN; +extern const isc::log::MessageID DHCP4_OPEN_CONFIG_DB; +extern const isc::log::MessageID DHCP4_OPEN_SOCKET; +extern const isc::log::MessageID DHCP4_OPEN_SOCKET_FAIL; +extern const isc::log::MessageID DHCP4_PACKET_DROP_0001; +extern const isc::log::MessageID DHCP4_PACKET_DROP_0002; +extern const isc::log::MessageID DHCP4_PACKET_DROP_0003; +extern const isc::log::MessageID DHCP4_PACKET_DROP_0004; +extern const isc::log::MessageID DHCP4_PACKET_DROP_0005; +extern const isc::log::MessageID DHCP4_PACKET_DROP_0006; +extern const isc::log::MessageID DHCP4_PACKET_DROP_0007; +extern const isc::log::MessageID DHCP4_PACKET_DROP_0008; +extern const isc::log::MessageID DHCP4_PACKET_DROP_0009; +extern const isc::log::MessageID DHCP4_PACKET_NAK_0001; +extern const isc::log::MessageID DHCP4_PACKET_NAK_0002; +extern const isc::log::MessageID DHCP4_PACKET_NAK_0003; +extern const isc::log::MessageID DHCP4_PACKET_NAK_0004; +extern const isc::log::MessageID DHCP4_PACKET_OPTIONS_SKIPPED; +extern const isc::log::MessageID DHCP4_PACKET_PACK; +extern const isc::log::MessageID DHCP4_PACKET_PACK_FAIL; +extern const isc::log::MessageID DHCP4_PACKET_PROCESS_EXCEPTION; +extern const isc::log::MessageID DHCP4_PACKET_PROCESS_STD_EXCEPTION; +extern const isc::log::MessageID DHCP4_PACKET_RECEIVED; +extern const isc::log::MessageID DHCP4_PACKET_SEND; +extern const isc::log::MessageID DHCP4_PACKET_SEND_FAIL; +extern const isc::log::MessageID DHCP4_PARSER_COMMIT_EXCEPTION; +extern const isc::log::MessageID DHCP4_PARSER_COMMIT_FAIL; +extern const isc::log::MessageID DHCP4_PARSER_EXCEPTION; +extern const isc::log::MessageID DHCP4_PARSER_FAIL; +extern const isc::log::MessageID DHCP4_POST_ALLOCATION_NAME_UPDATE_FAIL; +extern const isc::log::MessageID DHCP4_QUERY_DATA; +extern const isc::log::MessageID DHCP4_RELEASE; +extern const isc::log::MessageID DHCP4_RELEASE_EXCEPTION; +extern const isc::log::MessageID DHCP4_RELEASE_FAIL; +extern const isc::log::MessageID DHCP4_RELEASE_FAIL_NO_LEASE; +extern const isc::log::MessageID DHCP4_RELEASE_FAIL_WRONG_CLIENT; +extern const isc::log::MessageID DHCP4_RESERVED_HOSTNAME_ASSIGNED; +extern const isc::log::MessageID DHCP4_RESPONSE_DATA; +extern const isc::log::MessageID DHCP4_RESPONSE_FQDN_DATA; +extern const isc::log::MessageID DHCP4_RESPONSE_HOSTNAME_DATA; +extern const isc::log::MessageID DHCP4_RESPONSE_HOSTNAME_GENERATE; +extern const isc::log::MessageID DHCP4_SERVER_FAILED; +extern const isc::log::MessageID DHCP4_SHUTDOWN; +extern const isc::log::MessageID DHCP4_SHUTDOWN_REQUEST; +extern const isc::log::MessageID DHCP4_SRV_CONSTRUCT_ERROR; +extern const isc::log::MessageID DHCP4_SRV_D2STOP_ERROR; +extern const isc::log::MessageID DHCP4_SRV_DHCP4O6_ERROR; +extern const isc::log::MessageID DHCP4_STARTED; +extern const isc::log::MessageID DHCP4_STARTING; +extern const isc::log::MessageID DHCP4_START_INFO; +extern const isc::log::MessageID DHCP4_SUBNET_DATA; +extern const isc::log::MessageID DHCP4_SUBNET_DYNAMICALLY_CHANGED; +extern const isc::log::MessageID DHCP4_SUBNET_SELECTED; +extern const isc::log::MessageID DHCP4_SUBNET_SELECTION_FAILED; +extern const isc::log::MessageID DHCP6_DHCP4O6_PACKET_RECEIVED; + +} // namespace dhcp +} // namespace isc + +#endif // DHCP4_MESSAGES_H diff --git a/src/bin/dhcp6/.gitignore b/src/bin/dhcp6/.gitignore index 5b933291bd..075b3500ef 100644 --- a/src/bin/dhcp6/.gitignore +++ b/src/bin/dhcp6/.gitignore @@ -1,6 +1,3 @@ /kea-dhcp6 /kea-dhcp6.8 -/dhcp6_messages.cc -/dhcp6_messages.h -/s-messages /dhcp6_parser.report diff --git a/src/bin/dhcp6/Makefile.am b/src/bin/dhcp6/Makefile.am index 6d26c557c1..09279901b3 100644 --- a/src/bin/dhcp6/Makefile.am +++ b/src/bin/dhcp6/Makefile.am @@ -20,8 +20,6 @@ if USE_STATIC_LINK AM_LDFLAGS = -static endif -CLEANFILES = dhcp6_messages.h dhcp6_messages.cc s-messages - man_MANS = kea-dhcp6.8 DISTCLEANFILES = $(man_MANS) EXTRA_DIST = $(man_MANS) kea-dhcp6.xml @@ -43,14 +41,6 @@ $(man_MANS): endif -dhcp6_messages.h dhcp6_messages.cc: s-messages - -s-messages: dhcp6_messages.mes - $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/bin/dhcp6/dhcp6_messages.mes - touch $@ - -BUILT_SOURCES = dhcp6_messages.h dhcp6_messages.cc - # convenience archive noinst_LTLIBRARIES = libdhcp6.la @@ -64,7 +54,7 @@ libdhcp6_la_SOURCES += dhcp6to4_ipc.cc dhcp6to4_ipc.h libdhcp6_la_SOURCES += dhcp6_lexer.ll location.hh position.hh stack.hh libdhcp6_la_SOURCES += dhcp6_parser.cc dhcp6_parser.h libdhcp6_la_SOURCES += parser_context.cc parser_context.h parser_context_decl.h -nodist_libdhcp6_la_SOURCES = dhcp6_messages.h dhcp6_messages.cc +libdhcp6_la_SOURCES += dhcp6_messages.h dhcp6_messages.cc EXTRA_DIST += dhcp6_messages.mes sbin_PROGRAMS = kea-dhcp6 @@ -117,6 +107,39 @@ endif kea_dhcp6dir = $(pkgdatadir) +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f dhcp6_messages.h dhcp6_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES + +# Define rule to build logging source files from message file +messages: dhcp6_messages.h dhcp6_messages.cc + @echo Message files regenerated + +dhcp6_messages.h dhcp6_messages.cc: dhcp6_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/dhcp6/dhcp6_messages.mes + +else + +messages dhcp6_messages.h dhcp6_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it. + +endif + if GENERATE_PARSER parser: dhcp6_lexer.cc location.hh position.hh stack.hh dhcp6_parser.cc dhcp6_parser.h diff --git a/src/bin/dhcp6/dhcp6_messages.cc b/src/bin/dhcp6/dhcp6_messages.cc new file mode 100644 index 0000000000..84f65315f8 --- /dev/null +++ b/src/bin/dhcp6/dhcp6_messages.cc @@ -0,0 +1,285 @@ +// File created from ../../../src/bin/dhcp6/dhcp6_messages.mes on Fri Feb 08 2019 20:33 + +#include +#include +#include + +namespace isc { +namespace dhcp { + +extern const isc::log::MessageID DHCP6_ACTIVATE_INTERFACE = "DHCP6_ACTIVATE_INTERFACE"; +extern const isc::log::MessageID DHCP6_ADD_GLOBAL_STATUS_CODE = "DHCP6_ADD_GLOBAL_STATUS_CODE"; +extern const isc::log::MessageID DHCP6_ADD_STATUS_CODE_FOR_IA = "DHCP6_ADD_STATUS_CODE_FOR_IA"; +extern const isc::log::MessageID DHCP6_ALREADY_RUNNING = "DHCP6_ALREADY_RUNNING"; +extern const isc::log::MessageID DHCP6_BUFFER_RECEIVED = "DHCP6_BUFFER_RECEIVED"; +extern const isc::log::MessageID DHCP6_BUFFER_UNPACK = "DHCP6_BUFFER_UNPACK"; +extern const isc::log::MessageID DHCP6_BUFFER_WAIT_SIGNAL = "DHCP6_BUFFER_WAIT_SIGNAL"; +extern const isc::log::MessageID DHCP6_CLASS_ASSIGNED = "DHCP6_CLASS_ASSIGNED"; +extern const isc::log::MessageID DHCP6_CLASS_UNCONFIGURED = "DHCP6_CLASS_UNCONFIGURED"; +extern const isc::log::MessageID DHCP6_CLASS_UNDEFINED = "DHCP6_CLASS_UNDEFINED"; +extern const isc::log::MessageID DHCP6_CLASS_UNTESTABLE = "DHCP6_CLASS_UNTESTABLE"; +extern const isc::log::MessageID DHCP6_COMMAND_RECEIVED = "DHCP6_COMMAND_RECEIVED"; +extern const isc::log::MessageID DHCP6_CONFIG_COMPLETE = "DHCP6_CONFIG_COMPLETE"; +extern const isc::log::MessageID DHCP6_CONFIG_LOAD_FAIL = "DHCP6_CONFIG_LOAD_FAIL"; +extern const isc::log::MessageID DHCP6_CONFIG_PACKET_QUEUE = "DHCP6_CONFIG_PACKET_QUEUE"; +extern const isc::log::MessageID DHCP6_CONFIG_RECEIVED = "DHCP6_CONFIG_RECEIVED"; +extern const isc::log::MessageID DHCP6_CONFIG_START = "DHCP6_CONFIG_START"; +extern const isc::log::MessageID DHCP6_CONFIG_UPDATE = "DHCP6_CONFIG_UPDATE"; +extern const isc::log::MessageID DHCP6_DB_BACKEND_STARTED = "DHCP6_DB_BACKEND_STARTED"; +extern const isc::log::MessageID DHCP6_DB_RECONNECT_ATTEMPT_FAILED = "DHCP6_DB_RECONNECT_ATTEMPT_FAILED"; +extern const isc::log::MessageID DHCP6_DB_RECONNECT_ATTEMPT_SCHEDULE = "DHCP6_DB_RECONNECT_ATTEMPT_SCHEDULE"; +extern const isc::log::MessageID DHCP6_DB_RECONNECT_DISABLED = "DHCP6_DB_RECONNECT_DISABLED"; +extern const isc::log::MessageID DHCP6_DB_RECONNECT_NO_DB_CTL = "DHCP6_DB_RECONNECT_NO_DB_CTL"; +extern const isc::log::MessageID DHCP6_DB_RECONNECT_RETRIES_EXHAUSTED = "DHCP6_DB_RECONNECT_RETRIES_EXHAUSTED"; +extern const isc::log::MessageID DHCP6_DDNS_CREATE_ADD_NAME_CHANGE_REQUEST = "DHCP6_DDNS_CREATE_ADD_NAME_CHANGE_REQUEST"; +extern const isc::log::MessageID DHCP6_DDNS_FQDN_GENERATED = "DHCP6_DDNS_FQDN_GENERATED"; +extern const isc::log::MessageID DHCP6_DDNS_GENERATED_FQDN_UPDATE_FAIL = "DHCP6_DDNS_GENERATED_FQDN_UPDATE_FAIL"; +extern const isc::log::MessageID DHCP6_DDNS_GENERATE_FQDN = "DHCP6_DDNS_GENERATE_FQDN"; +extern const isc::log::MessageID DHCP6_DDNS_LEASE_RENEW_FQDN_CHANGE = "DHCP6_DDNS_LEASE_RENEW_FQDN_CHANGE"; +extern const isc::log::MessageID DHCP6_DDNS_RECEIVE_FQDN = "DHCP6_DDNS_RECEIVE_FQDN"; +extern const isc::log::MessageID DHCP6_DDNS_REQUEST_SEND_FAILED = "DHCP6_DDNS_REQUEST_SEND_FAILED"; +extern const isc::log::MessageID DHCP6_DDNS_RESPONSE_FQDN_DATA = "DHCP6_DDNS_RESPONSE_FQDN_DATA"; +extern const isc::log::MessageID DHCP6_DDNS_SEND_FQDN = "DHCP6_DDNS_SEND_FQDN"; +extern const isc::log::MessageID DHCP6_DEACTIVATE_INTERFACE = "DHCP6_DEACTIVATE_INTERFACE"; +extern const isc::log::MessageID DHCP6_DECLINE_FAIL_DUID_MISMATCH = "DHCP6_DECLINE_FAIL_DUID_MISMATCH"; +extern const isc::log::MessageID DHCP6_DECLINE_FAIL_IAID_MISMATCH = "DHCP6_DECLINE_FAIL_IAID_MISMATCH"; +extern const isc::log::MessageID DHCP6_DECLINE_FAIL_LEASE_WITHOUT_DUID = "DHCP6_DECLINE_FAIL_LEASE_WITHOUT_DUID"; +extern const isc::log::MessageID DHCP6_DECLINE_FAIL_NO_LEASE = "DHCP6_DECLINE_FAIL_NO_LEASE"; +extern const isc::log::MessageID DHCP6_DECLINE_LEASE = "DHCP6_DECLINE_LEASE"; +extern const isc::log::MessageID DHCP6_DECLINE_PROCESS_IA = "DHCP6_DECLINE_PROCESS_IA"; +extern const isc::log::MessageID DHCP6_DHCP4O6_PACKET_RECEIVED = "DHCP6_DHCP4O6_PACKET_RECEIVED"; +extern const isc::log::MessageID DHCP6_DHCP4O6_RECEIVE_FAIL = "DHCP6_DHCP4O6_RECEIVE_FAIL"; +extern const isc::log::MessageID DHCP6_DHCP4O6_RECEIVING = "DHCP6_DHCP4O6_RECEIVING"; +extern const isc::log::MessageID DHCP6_DHCP4O6_SEND_FAIL = "DHCP6_DHCP4O6_SEND_FAIL"; +extern const isc::log::MessageID DHCP6_DYNAMIC_RECONFIGURATION = "DHCP6_DYNAMIC_RECONFIGURATION"; +extern const isc::log::MessageID DHCP6_DYNAMIC_RECONFIGURATION_FAIL = "DHCP6_DYNAMIC_RECONFIGURATION_FAIL"; +extern const isc::log::MessageID DHCP6_FLEX_ID = "DHCP6_FLEX_ID"; +extern const isc::log::MessageID DHCP6_HANDLE_SIGNAL_EXCEPTION = "DHCP6_HANDLE_SIGNAL_EXCEPTION"; +extern const isc::log::MessageID DHCP6_HOOKS_LIBS_RELOAD_FAIL = "DHCP6_HOOKS_LIBS_RELOAD_FAIL"; +extern const isc::log::MessageID DHCP6_HOOK_BUFFER_RCVD_DROP = "DHCP6_HOOK_BUFFER_RCVD_DROP"; +extern const isc::log::MessageID DHCP6_HOOK_BUFFER_RCVD_SKIP = "DHCP6_HOOK_BUFFER_RCVD_SKIP"; +extern const isc::log::MessageID DHCP6_HOOK_BUFFER_SEND_SKIP = "DHCP6_HOOK_BUFFER_SEND_SKIP"; +extern const isc::log::MessageID DHCP6_HOOK_DECLINE_DROP = "DHCP6_HOOK_DECLINE_DROP"; +extern const isc::log::MessageID DHCP6_HOOK_DECLINE_SKIP = "DHCP6_HOOK_DECLINE_SKIP"; +extern const isc::log::MessageID DHCP6_HOOK_LEASE6_RELEASE_NA_SKIP = "DHCP6_HOOK_LEASE6_RELEASE_NA_SKIP"; +extern const isc::log::MessageID DHCP6_HOOK_LEASE6_RELEASE_PD_SKIP = "DHCP6_HOOK_LEASE6_RELEASE_PD_SKIP"; +extern const isc::log::MessageID DHCP6_HOOK_LEASES6_COMMITTED_DROP = "DHCP6_HOOK_LEASES6_COMMITTED_DROP"; +extern const isc::log::MessageID DHCP6_HOOK_LEASES6_COMMITTED_PARK = "DHCP6_HOOK_LEASES6_COMMITTED_PARK"; +extern const isc::log::MessageID DHCP6_HOOK_PACKET_RCVD_SKIP = "DHCP6_HOOK_PACKET_RCVD_SKIP"; +extern const isc::log::MessageID DHCP6_HOOK_PACKET_SEND_DROP = "DHCP6_HOOK_PACKET_SEND_DROP"; +extern const isc::log::MessageID DHCP6_HOOK_PACKET_SEND_SKIP = "DHCP6_HOOK_PACKET_SEND_SKIP"; +extern const isc::log::MessageID DHCP6_HOOK_SUBNET6_SELECT_DROP = "DHCP6_HOOK_SUBNET6_SELECT_DROP"; +extern const isc::log::MessageID DHCP6_HOOK_SUBNET6_SELECT_SKIP = "DHCP6_HOOK_SUBNET6_SELECT_SKIP"; +extern const isc::log::MessageID DHCP6_INIT_FAIL = "DHCP6_INIT_FAIL"; +extern const isc::log::MessageID DHCP6_LEASE_ADVERT = "DHCP6_LEASE_ADVERT"; +extern const isc::log::MessageID DHCP6_LEASE_ADVERT_FAIL = "DHCP6_LEASE_ADVERT_FAIL"; +extern const isc::log::MessageID DHCP6_LEASE_ALLOC = "DHCP6_LEASE_ALLOC"; +extern const isc::log::MessageID DHCP6_LEASE_ALLOC_FAIL = "DHCP6_LEASE_ALLOC_FAIL"; +extern const isc::log::MessageID DHCP6_LEASE_DATA = "DHCP6_LEASE_DATA"; +extern const isc::log::MessageID DHCP6_LEASE_NA_WITHOUT_DUID = "DHCP6_LEASE_NA_WITHOUT_DUID"; +extern const isc::log::MessageID DHCP6_LEASE_PD_WITHOUT_DUID = "DHCP6_LEASE_PD_WITHOUT_DUID"; +extern const isc::log::MessageID DHCP6_LEASE_RENEW = "DHCP6_LEASE_RENEW"; +extern const isc::log::MessageID DHCP6_NOT_RUNNING = "DHCP6_NOT_RUNNING"; +extern const isc::log::MessageID DHCP6_NO_INTERFACES = "DHCP6_NO_INTERFACES"; +extern const isc::log::MessageID DHCP6_NO_SOCKETS_OPEN = "DHCP6_NO_SOCKETS_OPEN"; +extern const isc::log::MessageID DHCP6_OPEN_SOCKET = "DHCP6_OPEN_SOCKET"; +extern const isc::log::MessageID DHCP6_OPEN_SOCKET_FAIL = "DHCP6_OPEN_SOCKET_FAIL"; +extern const isc::log::MessageID DHCP6_PACKET_DROP_DHCP_DISABLED = "DHCP6_PACKET_DROP_DHCP_DISABLED"; +extern const isc::log::MessageID DHCP6_PACKET_DROP_PARSE_FAIL = "DHCP6_PACKET_DROP_PARSE_FAIL"; +extern const isc::log::MessageID DHCP6_PACKET_DROP_SERVERID_MISMATCH = "DHCP6_PACKET_DROP_SERVERID_MISMATCH"; +extern const isc::log::MessageID DHCP6_PACKET_DROP_UNICAST = "DHCP6_PACKET_DROP_UNICAST"; +extern const isc::log::MessageID DHCP6_PACKET_OPTIONS_SKIPPED = "DHCP6_PACKET_OPTIONS_SKIPPED"; +extern const isc::log::MessageID DHCP6_PACKET_PROCESS_EXCEPTION = "DHCP6_PACKET_PROCESS_EXCEPTION"; +extern const isc::log::MessageID DHCP6_PACKET_PROCESS_FAIL = "DHCP6_PACKET_PROCESS_FAIL"; +extern const isc::log::MessageID DHCP6_PACKET_PROCESS_STD_EXCEPTION = "DHCP6_PACKET_PROCESS_STD_EXCEPTION"; +extern const isc::log::MessageID DHCP6_PACKET_RECEIVED = "DHCP6_PACKET_RECEIVED"; +extern const isc::log::MessageID DHCP6_PACKET_RECEIVE_FAIL = "DHCP6_PACKET_RECEIVE_FAIL"; +extern const isc::log::MessageID DHCP6_PACKET_SEND_FAIL = "DHCP6_PACKET_SEND_FAIL"; +extern const isc::log::MessageID DHCP6_PACK_FAIL = "DHCP6_PACK_FAIL"; +extern const isc::log::MessageID DHCP6_PARSER_COMMIT_EXCEPTION = "DHCP6_PARSER_COMMIT_EXCEPTION"; +extern const isc::log::MessageID DHCP6_PARSER_COMMIT_FAIL = "DHCP6_PARSER_COMMIT_FAIL"; +extern const isc::log::MessageID DHCP6_PARSER_EXCEPTION = "DHCP6_PARSER_EXCEPTION"; +extern const isc::log::MessageID DHCP6_PARSER_FAIL = "DHCP6_PARSER_FAIL"; +extern const isc::log::MessageID DHCP6_PD_LEASE_ADVERT = "DHCP6_PD_LEASE_ADVERT"; +extern const isc::log::MessageID DHCP6_PD_LEASE_ADVERT_FAIL = "DHCP6_PD_LEASE_ADVERT_FAIL"; +extern const isc::log::MessageID DHCP6_PD_LEASE_ALLOC = "DHCP6_PD_LEASE_ALLOC"; +extern const isc::log::MessageID DHCP6_PD_LEASE_ALLOC_FAIL = "DHCP6_PD_LEASE_ALLOC_FAIL"; +extern const isc::log::MessageID DHCP6_PD_LEASE_RENEW = "DHCP6_PD_LEASE_RENEW"; +extern const isc::log::MessageID DHCP6_PROCESS_IA_NA_EXTEND = "DHCP6_PROCESS_IA_NA_EXTEND"; +extern const isc::log::MessageID DHCP6_PROCESS_IA_NA_RELEASE = "DHCP6_PROCESS_IA_NA_RELEASE"; +extern const isc::log::MessageID DHCP6_PROCESS_IA_NA_REQUEST = "DHCP6_PROCESS_IA_NA_REQUEST"; +extern const isc::log::MessageID DHCP6_PROCESS_IA_PD_EXTEND = "DHCP6_PROCESS_IA_PD_EXTEND"; +extern const isc::log::MessageID DHCP6_PROCESS_IA_PD_REQUEST = "DHCP6_PROCESS_IA_PD_REQUEST"; +extern const isc::log::MessageID DHCP6_QUERY_DATA = "DHCP6_QUERY_DATA"; +extern const isc::log::MessageID DHCP6_RAPID_COMMIT = "DHCP6_RAPID_COMMIT"; +extern const isc::log::MessageID DHCP6_RELEASE_NA = "DHCP6_RELEASE_NA"; +extern const isc::log::MessageID DHCP6_RELEASE_NA_FAIL = "DHCP6_RELEASE_NA_FAIL"; +extern const isc::log::MessageID DHCP6_RELEASE_NA_FAIL_WRONG_DUID = "DHCP6_RELEASE_NA_FAIL_WRONG_DUID"; +extern const isc::log::MessageID DHCP6_RELEASE_NA_FAIL_WRONG_IAID = "DHCP6_RELEASE_NA_FAIL_WRONG_IAID"; +extern const isc::log::MessageID DHCP6_RELEASE_PD = "DHCP6_RELEASE_PD"; +extern const isc::log::MessageID DHCP6_RELEASE_PD_FAIL = "DHCP6_RELEASE_PD_FAIL"; +extern const isc::log::MessageID DHCP6_RELEASE_PD_FAIL_WRONG_DUID = "DHCP6_RELEASE_PD_FAIL_WRONG_DUID"; +extern const isc::log::MessageID DHCP6_RELEASE_PD_FAIL_WRONG_IAID = "DHCP6_RELEASE_PD_FAIL_WRONG_IAID"; +extern const isc::log::MessageID DHCP6_REQUIRED_OPTIONS_CHECK_FAIL = "DHCP6_REQUIRED_OPTIONS_CHECK_FAIL"; +extern const isc::log::MessageID DHCP6_RESPONSE_DATA = "DHCP6_RESPONSE_DATA"; +extern const isc::log::MessageID DHCP6_SERVER_FAILED = "DHCP6_SERVER_FAILED"; +extern const isc::log::MessageID DHCP6_SHUTDOWN = "DHCP6_SHUTDOWN"; +extern const isc::log::MessageID DHCP6_SHUTDOWN_REQUEST = "DHCP6_SHUTDOWN_REQUEST"; +extern const isc::log::MessageID DHCP6_SOCKET_UNICAST = "DHCP6_SOCKET_UNICAST"; +extern const isc::log::MessageID DHCP6_SRV_CONSTRUCT_ERROR = "DHCP6_SRV_CONSTRUCT_ERROR"; +extern const isc::log::MessageID DHCP6_SRV_D2STOP_ERROR = "DHCP6_SRV_D2STOP_ERROR"; +extern const isc::log::MessageID DHCP6_STANDALONE = "DHCP6_STANDALONE"; +extern const isc::log::MessageID DHCP6_STARTED = "DHCP6_STARTED"; +extern const isc::log::MessageID DHCP6_STARTING = "DHCP6_STARTING"; +extern const isc::log::MessageID DHCP6_START_INFO = "DHCP6_START_INFO"; +extern const isc::log::MessageID DHCP6_SUBNET_DATA = "DHCP6_SUBNET_DATA"; +extern const isc::log::MessageID DHCP6_SUBNET_DYNAMICALLY_CHANGED = "DHCP6_SUBNET_DYNAMICALLY_CHANGED"; +extern const isc::log::MessageID DHCP6_SUBNET_SELECTED = "DHCP6_SUBNET_SELECTED"; +extern const isc::log::MessageID DHCP6_SUBNET_SELECTION_FAILED = "DHCP6_SUBNET_SELECTION_FAILED"; +extern const isc::log::MessageID DHCP6_UNKNOWN_MSG_RECEIVED = "DHCP6_UNKNOWN_MSG_RECEIVED"; +extern const isc::log::MessageID DHCP6_USING_SERVERID = "DHCP6_USING_SERVERID"; + +} // namespace dhcp +} // namespace isc + +namespace { + +const char* values[] = { + "DHCP6_ACTIVATE_INTERFACE", "activating interface %1", + "DHCP6_ADD_GLOBAL_STATUS_CODE", "%1: adding Status Code to DHCPv6 packet: %2", + "DHCP6_ADD_STATUS_CODE_FOR_IA", "%1: adding Status Code to IA with iaid=%2: %3", + "DHCP6_ALREADY_RUNNING", "%1 already running? %2", + "DHCP6_BUFFER_RECEIVED", "received buffer from %1:%2 to %3:%4 over interface %5", + "DHCP6_BUFFER_UNPACK", "parsing buffer received from %1 to %2 over interface %3", + "DHCP6_BUFFER_WAIT_SIGNAL", "signal received while waiting for next packet, next waiting signal is %1", + "DHCP6_CLASS_ASSIGNED", "%1: client packet has been assigned to the following class(es): %2", + "DHCP6_CLASS_UNCONFIGURED", "%1: client packet belongs to an unconfigured class: %2", + "DHCP6_CLASS_UNDEFINED", "required class %1 has no definition", + "DHCP6_CLASS_UNTESTABLE", "required class %1 has no test expression", + "DHCP6_COMMAND_RECEIVED", "received command %1, arguments: %2", + "DHCP6_CONFIG_COMPLETE", "DHCPv6 server has completed configuration: %1", + "DHCP6_CONFIG_LOAD_FAIL", "configuration error using file: %1, reason: %2", + "DHCP6_CONFIG_PACKET_QUEUE", "DHCPv6 packet queue info after configuration: %1", + "DHCP6_CONFIG_RECEIVED", "received configuration: %1", + "DHCP6_CONFIG_START", "DHCPv6 server is processing the following configuration: %1", + "DHCP6_CONFIG_UPDATE", "updated configuration received: %1", + "DHCP6_DB_BACKEND_STARTED", "lease database started (type: %1, name: %2)", + "DHCP6_DB_RECONNECT_ATTEMPT_FAILED", "database reconnect failed: %1", + "DHCP6_DB_RECONNECT_ATTEMPT_SCHEDULE", "scheduling attempt %1 of %2 in %3 milliseconds", + "DHCP6_DB_RECONNECT_DISABLED", "database reconnect is disabled: max-reconnect-tries %1, reconnect-wait-time %2", + "DHCP6_DB_RECONNECT_NO_DB_CTL", "unexpected error in database reconnect", + "DHCP6_DB_RECONNECT_RETRIES_EXHAUSTED", "maximum number of database reconnect attempts: %1, has been exhausted without success, server is shutting down!", + "DHCP6_DDNS_CREATE_ADD_NAME_CHANGE_REQUEST", "created name change request: %1", + "DHCP6_DDNS_FQDN_GENERATED", "%1: generated FQDN for the client: %2", + "DHCP6_DDNS_GENERATED_FQDN_UPDATE_FAIL", "%1: failed to update the lease using address %2, after generating FQDN for a client, reason: %3", + "DHCP6_DDNS_GENERATE_FQDN", "%1: client did not send a FQDN option; FQDN will be", + "DHCP6_DDNS_LEASE_RENEW_FQDN_CHANGE", "FQDN %1: FQDN for the renewed lease: %2 has changed. New values: hostname = %3, reverse mapping = %4, forward mapping = %5", + "DHCP6_DDNS_RECEIVE_FQDN", "%1: received DHCPv6 Client FQDN option: %2", + "DHCP6_DDNS_REQUEST_SEND_FAILED", "failed sending a request to kea-dhcp-ddns, error: %1, ncr: %2", + "DHCP6_DDNS_RESPONSE_FQDN_DATA", "%1: including FQDN option in the server's response: %2", + "DHCP6_DDNS_SEND_FQDN", "sending DHCPv6 Client FQDN Option to the client: %1", + "DHCP6_DEACTIVATE_INTERFACE", "deactivate interface %1", + "DHCP6_DECLINE_FAIL_DUID_MISMATCH", "Client %1 sent DECLINE for address %2, but it belongs to client with DUID %3", + "DHCP6_DECLINE_FAIL_IAID_MISMATCH", "Client %1 sent DECLINE for address %2, but used a wrong IAID (%3), instead of expected %4", + "DHCP6_DECLINE_FAIL_LEASE_WITHOUT_DUID", "Client %1 sent DECLINE for address %2, but the associated lease has no DUID", + "DHCP6_DECLINE_FAIL_NO_LEASE", "Client %1 sent DECLINE for address %2, but there's no lease for it", + "DHCP6_DECLINE_LEASE", "Client %1 sent DECLINE for address %2 and the server marked it as declined. The lease will be recovered in %3 seconds.", + "DHCP6_DECLINE_PROCESS_IA", "Processing of IA (IAID: %1) from client %2 started.", + "DHCP6_DHCP4O6_PACKET_RECEIVED", "received DHCPv4o6 packet from DHCPv4 server (type %1) for %2 port %3 on interface %4", + "DHCP6_DHCP4O6_RECEIVE_FAIL", "failed to receive DHCPv4o6: %1", + "DHCP6_DHCP4O6_RECEIVING", "receiving DHCPv4o6 packet from DHCPv4 server", + "DHCP6_DHCP4O6_SEND_FAIL", "failed to send DHCPv4o6 packet: %1", + "DHCP6_DYNAMIC_RECONFIGURATION", "initiate server reconfiguration using file: %1, after receiving SIGHUP signal", + "DHCP6_DYNAMIC_RECONFIGURATION_FAIL", "dynamic server reconfiguration failed with file: %1", + "DHCP6_FLEX_ID", "flexible identifier generated for incoming packet: %1", + "DHCP6_HANDLE_SIGNAL_EXCEPTION", "An exception was thrown while handing signal: %1", + "DHCP6_HOOKS_LIBS_RELOAD_FAIL", "reload of hooks libraries failed", + "DHCP6_HOOK_BUFFER_RCVD_DROP", "received buffer from %1 to %2 over interface %3 was dropped because a callout set the drop flag", + "DHCP6_HOOK_BUFFER_RCVD_SKIP", "received buffer from %1 to %2 over interface %3 is not parsed because a callout set the next step to SKIP", + "DHCP6_HOOK_BUFFER_SEND_SKIP", "%1: prepared DHCPv6 response was dropped because a callout set the next step to SKIP", + "DHCP6_HOOK_DECLINE_DROP", "During Decline processing (client=%1, interface=%2, addr=%3) hook callout set next step to DROP, dropping packet.", + "DHCP6_HOOK_DECLINE_SKIP", "During Decline processing (client=%1, interface=%2, addr=%3) hook callout set status to SKIP, skipping decline.", + "DHCP6_HOOK_LEASE6_RELEASE_NA_SKIP", "%1: DHCPv6 address lease was not released because a callout set the next step to SKIP", + "DHCP6_HOOK_LEASE6_RELEASE_PD_SKIP", "%1: prefix lease was not released because a callout set the next step to SKIP", + "DHCP6_HOOK_LEASES6_COMMITTED_DROP", "%1: packet is dropped, because a callout set the next step to DROP", + "DHCP6_HOOK_LEASES6_COMMITTED_PARK", "%1: packet is parked, because a callout set the next step to PARK", + "DHCP6_HOOK_PACKET_RCVD_SKIP", "%1: packet is dropped, because a callout set the next step to SKIP", + "DHCP6_HOOK_PACKET_SEND_DROP", "%1: prepared DHCPv6 response was not sent because a callout set the next ste to DROP", + "DHCP6_HOOK_PACKET_SEND_SKIP", "%1: prepared DHCPv6 response is not built because a callout set the next step to SKIP", + "DHCP6_HOOK_SUBNET6_SELECT_DROP", "%1: packet was dropped because a callout set the drop flag", + "DHCP6_HOOK_SUBNET6_SELECT_SKIP", "%1: no subnet was selected because a callout set the next step to SKIP", + "DHCP6_INIT_FAIL", "failed to initialize Kea server: %1", + "DHCP6_LEASE_ADVERT", "%1: lease for address %2 and iaid=%3 will be advertised", + "DHCP6_LEASE_ADVERT_FAIL", "%1: failed to advertise an address lease for iaid=%2", + "DHCP6_LEASE_ALLOC", "%1: lease for address %2 and iaid=%3 has been allocated", + "DHCP6_LEASE_ALLOC_FAIL", "%1: failed to grant an address lease for iaid=%2", + "DHCP6_LEASE_DATA", "%1: detailed lease information for iaid=%2: %3", + "DHCP6_LEASE_NA_WITHOUT_DUID", "%1: address lease for address %2 does not have a DUID", + "DHCP6_LEASE_PD_WITHOUT_DUID", "%1: lease for prefix %2/%3 does not have a DUID", + "DHCP6_LEASE_RENEW", "%1: lease for address %2 and iaid=%3 has been allocated", + "DHCP6_NOT_RUNNING", "IPv6 DHCP server is not running", + "DHCP6_NO_INTERFACES", "failed to detect any network interfaces", + "DHCP6_NO_SOCKETS_OPEN", "no interface configured to listen to DHCP traffic", + "DHCP6_OPEN_SOCKET", "opening service sockets on port %1", + "DHCP6_OPEN_SOCKET_FAIL", "failed to open socket: %1", + "DHCP6_PACKET_DROP_DHCP_DISABLED", "%1: DHCP service is globally disabled", + "DHCP6_PACKET_DROP_PARSE_FAIL", "failed to parse packet from %1 to %2, received over interface %3, reason: %4", + "DHCP6_PACKET_DROP_SERVERID_MISMATCH", "%1: dropping packet with server identifier: %2, server is using: %3", + "DHCP6_PACKET_DROP_UNICAST", "%1: dropping unicast %2 packet as this packet should be sent to multicast", + "DHCP6_PACKET_OPTIONS_SKIPPED", "An error upacking an option, caused subsequent options to be skipped: %1", + "DHCP6_PACKET_PROCESS_EXCEPTION", "exception occurred during packet processing", + "DHCP6_PACKET_PROCESS_FAIL", "processing of %1 message received from %2 failed: %3", + "DHCP6_PACKET_PROCESS_STD_EXCEPTION", "exception occurred during packet processing: %1", + "DHCP6_PACKET_RECEIVED", "%1: %2 (type %3) received from %4 to %5 on interface %6", + "DHCP6_PACKET_RECEIVE_FAIL", "error on attempt to receive packet: %1", + "DHCP6_PACKET_SEND_FAIL", "failed to send DHCPv6 packet: %1", + "DHCP6_PACK_FAIL", "failed to assemble response correctly", + "DHCP6_PARSER_COMMIT_EXCEPTION", "parser failed to commit changes", + "DHCP6_PARSER_COMMIT_FAIL", "parser failed to commit changes: %1", + "DHCP6_PARSER_EXCEPTION", "failed to create or run parser for configuration element %1", + "DHCP6_PARSER_FAIL", "failed to create or run parser for configuration element %1: %2", + "DHCP6_PD_LEASE_ADVERT", "%1: lease for prefix %2/%3 and iaid=%4 will be advertised", + "DHCP6_PD_LEASE_ADVERT_FAIL", "%1: failed to advertise a prefix lease for iaid=%2", + "DHCP6_PD_LEASE_ALLOC", "%1: lease for prefix %2/%3 and iaid=%4 has been allocated", + "DHCP6_PD_LEASE_ALLOC_FAIL", "%1: failed to grant a prefix lease for iaid=%2", + "DHCP6_PD_LEASE_RENEW", "%1: lease for prefix %2/%3 and iaid=%4 has been allocated", + "DHCP6_PROCESS_IA_NA_EXTEND", "%1: extending lease lifetime for IA_NA option with iaid=%2", + "DHCP6_PROCESS_IA_NA_RELEASE", "%1: releasing lease for IA_NA option with iaid=%2", + "DHCP6_PROCESS_IA_NA_REQUEST", "%1: server is processing IA_NA option with iaid=%2 and hint=%3", + "DHCP6_PROCESS_IA_PD_EXTEND", "%1: extending lease lifetime for IA_PD option with iaid=%2", + "DHCP6_PROCESS_IA_PD_REQUEST", "%1: server is processing IA_PD option with iaid=%2 and hint=%3", + "DHCP6_QUERY_DATA", "%1, packet details: %2", + "DHCP6_RAPID_COMMIT", "%1: Rapid Commit option received, following 2-way exchange", + "DHCP6_RELEASE_NA", "%1: binding for address %2 and iaid=%3 was released properly", + "DHCP6_RELEASE_NA_FAIL", "%1: failed to remove address lease for address %2 and iaid=%3", + "DHCP6_RELEASE_NA_FAIL_WRONG_DUID", "%1: client tried to release address %2, but it belongs to another client using duid=%3", + "DHCP6_RELEASE_NA_FAIL_WRONG_IAID", "%1: client tried to release address %2, but it used wrong IAID (expected %3, but got %4)", + "DHCP6_RELEASE_PD", "%1: prefix %2/%3 for iaid=%4 was released properly", + "DHCP6_RELEASE_PD_FAIL", "%1: failed to release prefix %2/%3 for iaid=%4", + "DHCP6_RELEASE_PD_FAIL_WRONG_DUID", "%1: client tried to release prefix %2/%3, but it belongs to another client (duid=%4)", + "DHCP6_RELEASE_PD_FAIL_WRONG_IAID", "%1: client tried to release prefix %2/%3, but it used wrong IAID (expected %4, but got %5)", + "DHCP6_REQUIRED_OPTIONS_CHECK_FAIL", "%1 message received from %2 failed the following check: %3", + "DHCP6_RESPONSE_DATA", "responding with packet type %1 data is %2", + "DHCP6_SERVER_FAILED", "server failed: %1", + "DHCP6_SHUTDOWN", "server shutdown", + "DHCP6_SHUTDOWN_REQUEST", "shutdown of server requested", + "DHCP6_SOCKET_UNICAST", "server is about to open socket on address %1 on interface %2", + "DHCP6_SRV_CONSTRUCT_ERROR", "error creating Dhcpv6Srv object, reason: %1", + "DHCP6_SRV_D2STOP_ERROR", "error stopping IO with DHCP_DDNS during shutdown: %1", + "DHCP6_STANDALONE", "skipping message queue, running standalone", + "DHCP6_STARTED", "Kea DHCPv6 server version %1 started", + "DHCP6_STARTING", "Kea DHCPv6 server version %1 starting", + "DHCP6_START_INFO", "pid: %1, server port: %2, client port: %3, verbose: %4", + "DHCP6_SUBNET_DATA", "%1: the selected subnet details: %2", + "DHCP6_SUBNET_DYNAMICALLY_CHANGED", "%1: changed selected subnet %2 to subnet %3 from shared network %4 for client assignments", + "DHCP6_SUBNET_SELECTED", "%1: the subnet with ID %2 was selected for client assignments", + "DHCP6_SUBNET_SELECTION_FAILED", "%1: failed to select subnet for the client", + "DHCP6_UNKNOWN_MSG_RECEIVED", "received unknown message (type %1) on interface %2", + "DHCP6_USING_SERVERID", "server is using server-id %1 and stores in the file %2", + NULL +}; + +const isc::log::MessageInitializer initializer(values); + +} // Anonymous namespace + diff --git a/src/bin/dhcp6/dhcp6_messages.h b/src/bin/dhcp6/dhcp6_messages.h new file mode 100644 index 0000000000..e814d610f5 --- /dev/null +++ b/src/bin/dhcp6/dhcp6_messages.h @@ -0,0 +1,146 @@ +// File created from ../../../src/bin/dhcp6/dhcp6_messages.mes on Fri Feb 08 2019 20:33 + +#ifndef DHCP6_MESSAGES_H +#define DHCP6_MESSAGES_H + +#include + +namespace isc { +namespace dhcp { + +extern const isc::log::MessageID DHCP6_ACTIVATE_INTERFACE; +extern const isc::log::MessageID DHCP6_ADD_GLOBAL_STATUS_CODE; +extern const isc::log::MessageID DHCP6_ADD_STATUS_CODE_FOR_IA; +extern const isc::log::MessageID DHCP6_ALREADY_RUNNING; +extern const isc::log::MessageID DHCP6_BUFFER_RECEIVED; +extern const isc::log::MessageID DHCP6_BUFFER_UNPACK; +extern const isc::log::MessageID DHCP6_BUFFER_WAIT_SIGNAL; +extern const isc::log::MessageID DHCP6_CLASS_ASSIGNED; +extern const isc::log::MessageID DHCP6_CLASS_UNCONFIGURED; +extern const isc::log::MessageID DHCP6_CLASS_UNDEFINED; +extern const isc::log::MessageID DHCP6_CLASS_UNTESTABLE; +extern const isc::log::MessageID DHCP6_COMMAND_RECEIVED; +extern const isc::log::MessageID DHCP6_CONFIG_COMPLETE; +extern const isc::log::MessageID DHCP6_CONFIG_LOAD_FAIL; +extern const isc::log::MessageID DHCP6_CONFIG_PACKET_QUEUE; +extern const isc::log::MessageID DHCP6_CONFIG_RECEIVED; +extern const isc::log::MessageID DHCP6_CONFIG_START; +extern const isc::log::MessageID DHCP6_CONFIG_UPDATE; +extern const isc::log::MessageID DHCP6_DB_BACKEND_STARTED; +extern const isc::log::MessageID DHCP6_DB_RECONNECT_ATTEMPT_FAILED; +extern const isc::log::MessageID DHCP6_DB_RECONNECT_ATTEMPT_SCHEDULE; +extern const isc::log::MessageID DHCP6_DB_RECONNECT_DISABLED; +extern const isc::log::MessageID DHCP6_DB_RECONNECT_NO_DB_CTL; +extern const isc::log::MessageID DHCP6_DB_RECONNECT_RETRIES_EXHAUSTED; +extern const isc::log::MessageID DHCP6_DDNS_CREATE_ADD_NAME_CHANGE_REQUEST; +extern const isc::log::MessageID DHCP6_DDNS_FQDN_GENERATED; +extern const isc::log::MessageID DHCP6_DDNS_GENERATED_FQDN_UPDATE_FAIL; +extern const isc::log::MessageID DHCP6_DDNS_GENERATE_FQDN; +extern const isc::log::MessageID DHCP6_DDNS_LEASE_RENEW_FQDN_CHANGE; +extern const isc::log::MessageID DHCP6_DDNS_RECEIVE_FQDN; +extern const isc::log::MessageID DHCP6_DDNS_REQUEST_SEND_FAILED; +extern const isc::log::MessageID DHCP6_DDNS_RESPONSE_FQDN_DATA; +extern const isc::log::MessageID DHCP6_DDNS_SEND_FQDN; +extern const isc::log::MessageID DHCP6_DEACTIVATE_INTERFACE; +extern const isc::log::MessageID DHCP6_DECLINE_FAIL_DUID_MISMATCH; +extern const isc::log::MessageID DHCP6_DECLINE_FAIL_IAID_MISMATCH; +extern const isc::log::MessageID DHCP6_DECLINE_FAIL_LEASE_WITHOUT_DUID; +extern const isc::log::MessageID DHCP6_DECLINE_FAIL_NO_LEASE; +extern const isc::log::MessageID DHCP6_DECLINE_LEASE; +extern const isc::log::MessageID DHCP6_DECLINE_PROCESS_IA; +extern const isc::log::MessageID DHCP6_DHCP4O6_PACKET_RECEIVED; +extern const isc::log::MessageID DHCP6_DHCP4O6_RECEIVE_FAIL; +extern const isc::log::MessageID DHCP6_DHCP4O6_RECEIVING; +extern const isc::log::MessageID DHCP6_DHCP4O6_SEND_FAIL; +extern const isc::log::MessageID DHCP6_DYNAMIC_RECONFIGURATION; +extern const isc::log::MessageID DHCP6_DYNAMIC_RECONFIGURATION_FAIL; +extern const isc::log::MessageID DHCP6_FLEX_ID; +extern const isc::log::MessageID DHCP6_HANDLE_SIGNAL_EXCEPTION; +extern const isc::log::MessageID DHCP6_HOOKS_LIBS_RELOAD_FAIL; +extern const isc::log::MessageID DHCP6_HOOK_BUFFER_RCVD_DROP; +extern const isc::log::MessageID DHCP6_HOOK_BUFFER_RCVD_SKIP; +extern const isc::log::MessageID DHCP6_HOOK_BUFFER_SEND_SKIP; +extern const isc::log::MessageID DHCP6_HOOK_DECLINE_DROP; +extern const isc::log::MessageID DHCP6_HOOK_DECLINE_SKIP; +extern const isc::log::MessageID DHCP6_HOOK_LEASE6_RELEASE_NA_SKIP; +extern const isc::log::MessageID DHCP6_HOOK_LEASE6_RELEASE_PD_SKIP; +extern const isc::log::MessageID DHCP6_HOOK_LEASES6_COMMITTED_DROP; +extern const isc::log::MessageID DHCP6_HOOK_LEASES6_COMMITTED_PARK; +extern const isc::log::MessageID DHCP6_HOOK_PACKET_RCVD_SKIP; +extern const isc::log::MessageID DHCP6_HOOK_PACKET_SEND_DROP; +extern const isc::log::MessageID DHCP6_HOOK_PACKET_SEND_SKIP; +extern const isc::log::MessageID DHCP6_HOOK_SUBNET6_SELECT_DROP; +extern const isc::log::MessageID DHCP6_HOOK_SUBNET6_SELECT_SKIP; +extern const isc::log::MessageID DHCP6_INIT_FAIL; +extern const isc::log::MessageID DHCP6_LEASE_ADVERT; +extern const isc::log::MessageID DHCP6_LEASE_ADVERT_FAIL; +extern const isc::log::MessageID DHCP6_LEASE_ALLOC; +extern const isc::log::MessageID DHCP6_LEASE_ALLOC_FAIL; +extern const isc::log::MessageID DHCP6_LEASE_DATA; +extern const isc::log::MessageID DHCP6_LEASE_NA_WITHOUT_DUID; +extern const isc::log::MessageID DHCP6_LEASE_PD_WITHOUT_DUID; +extern const isc::log::MessageID DHCP6_LEASE_RENEW; +extern const isc::log::MessageID DHCP6_NOT_RUNNING; +extern const isc::log::MessageID DHCP6_NO_INTERFACES; +extern const isc::log::MessageID DHCP6_NO_SOCKETS_OPEN; +extern const isc::log::MessageID DHCP6_OPEN_SOCKET; +extern const isc::log::MessageID DHCP6_OPEN_SOCKET_FAIL; +extern const isc::log::MessageID DHCP6_PACKET_DROP_DHCP_DISABLED; +extern const isc::log::MessageID DHCP6_PACKET_DROP_PARSE_FAIL; +extern const isc::log::MessageID DHCP6_PACKET_DROP_SERVERID_MISMATCH; +extern const isc::log::MessageID DHCP6_PACKET_DROP_UNICAST; +extern const isc::log::MessageID DHCP6_PACKET_OPTIONS_SKIPPED; +extern const isc::log::MessageID DHCP6_PACKET_PROCESS_EXCEPTION; +extern const isc::log::MessageID DHCP6_PACKET_PROCESS_FAIL; +extern const isc::log::MessageID DHCP6_PACKET_PROCESS_STD_EXCEPTION; +extern const isc::log::MessageID DHCP6_PACKET_RECEIVED; +extern const isc::log::MessageID DHCP6_PACKET_RECEIVE_FAIL; +extern const isc::log::MessageID DHCP6_PACKET_SEND_FAIL; +extern const isc::log::MessageID DHCP6_PACK_FAIL; +extern const isc::log::MessageID DHCP6_PARSER_COMMIT_EXCEPTION; +extern const isc::log::MessageID DHCP6_PARSER_COMMIT_FAIL; +extern const isc::log::MessageID DHCP6_PARSER_EXCEPTION; +extern const isc::log::MessageID DHCP6_PARSER_FAIL; +extern const isc::log::MessageID DHCP6_PD_LEASE_ADVERT; +extern const isc::log::MessageID DHCP6_PD_LEASE_ADVERT_FAIL; +extern const isc::log::MessageID DHCP6_PD_LEASE_ALLOC; +extern const isc::log::MessageID DHCP6_PD_LEASE_ALLOC_FAIL; +extern const isc::log::MessageID DHCP6_PD_LEASE_RENEW; +extern const isc::log::MessageID DHCP6_PROCESS_IA_NA_EXTEND; +extern const isc::log::MessageID DHCP6_PROCESS_IA_NA_RELEASE; +extern const isc::log::MessageID DHCP6_PROCESS_IA_NA_REQUEST; +extern const isc::log::MessageID DHCP6_PROCESS_IA_PD_EXTEND; +extern const isc::log::MessageID DHCP6_PROCESS_IA_PD_REQUEST; +extern const isc::log::MessageID DHCP6_QUERY_DATA; +extern const isc::log::MessageID DHCP6_RAPID_COMMIT; +extern const isc::log::MessageID DHCP6_RELEASE_NA; +extern const isc::log::MessageID DHCP6_RELEASE_NA_FAIL; +extern const isc::log::MessageID DHCP6_RELEASE_NA_FAIL_WRONG_DUID; +extern const isc::log::MessageID DHCP6_RELEASE_NA_FAIL_WRONG_IAID; +extern const isc::log::MessageID DHCP6_RELEASE_PD; +extern const isc::log::MessageID DHCP6_RELEASE_PD_FAIL; +extern const isc::log::MessageID DHCP6_RELEASE_PD_FAIL_WRONG_DUID; +extern const isc::log::MessageID DHCP6_RELEASE_PD_FAIL_WRONG_IAID; +extern const isc::log::MessageID DHCP6_REQUIRED_OPTIONS_CHECK_FAIL; +extern const isc::log::MessageID DHCP6_RESPONSE_DATA; +extern const isc::log::MessageID DHCP6_SERVER_FAILED; +extern const isc::log::MessageID DHCP6_SHUTDOWN; +extern const isc::log::MessageID DHCP6_SHUTDOWN_REQUEST; +extern const isc::log::MessageID DHCP6_SOCKET_UNICAST; +extern const isc::log::MessageID DHCP6_SRV_CONSTRUCT_ERROR; +extern const isc::log::MessageID DHCP6_SRV_D2STOP_ERROR; +extern const isc::log::MessageID DHCP6_STANDALONE; +extern const isc::log::MessageID DHCP6_STARTED; +extern const isc::log::MessageID DHCP6_STARTING; +extern const isc::log::MessageID DHCP6_START_INFO; +extern const isc::log::MessageID DHCP6_SUBNET_DATA; +extern const isc::log::MessageID DHCP6_SUBNET_DYNAMICALLY_CHANGED; +extern const isc::log::MessageID DHCP6_SUBNET_SELECTED; +extern const isc::log::MessageID DHCP6_SUBNET_SELECTION_FAILED; +extern const isc::log::MessageID DHCP6_UNKNOWN_MSG_RECEIVED; +extern const isc::log::MessageID DHCP6_USING_SERVERID; + +} // namespace dhcp +} // namespace isc + +#endif // DHCP6_MESSAGES_H diff --git a/src/bin/lfc/.gitignore b/src/bin/lfc/.gitignore index 5c1604f3d3..a64e4394bc 100644 --- a/src/bin/lfc/.gitignore +++ b/src/bin/lfc/.gitignore @@ -1,5 +1,2 @@ /kea-lfc /kea-lfc.8 -/lfc_messages.cc -/lfc_messages.h -/s-messages diff --git a/src/bin/lfc/Makefile.am b/src/bin/lfc/Makefile.am index fa29381a28..fe4cac8629 100644 --- a/src/bin/lfc/Makefile.am +++ b/src/bin/lfc/Makefile.am @@ -9,8 +9,6 @@ if USE_STATIC_LINK AM_LDFLAGS = -static endif -CLEANFILES = lfc_messages.h lfc_messages.cc s-messages - man_MANS = kea-lfc.8 DISTCLEANFILES = $(man_MANS) EXTRA_DIST = $(man_MANS) kea-lfc.xml lfc.dox @@ -29,14 +27,6 @@ $(man_MANS): endif -lfc_messages.h lfc_messages.cc: s-messages - -s-messages: lfc_messages.mes - $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/bin/lfc/lfc_messages.mes - touch $@ - -BUILT_SOURCES = lfc_messages.h lfc_messages.cc - # convenience archive noinst_LTLIBRARIES = liblfc.la @@ -44,8 +34,7 @@ noinst_LTLIBRARIES = liblfc.la liblfc_la_SOURCES = liblfc_la_SOURCES += lfc_controller.h lfc_controller.cc liblfc_la_SOURCES += lfc_log.h lfc_log.cc - -nodist_liblfc_la_SOURCES = lfc_messages.h lfc_messages.cc +liblfc_la_SOURCES += lfc_messages.h lfc_messages.cc EXTRA_DIST += lfc_messages.mes sbin_PROGRAMS = kea-lfc @@ -97,3 +86,36 @@ kea_lfc_LDFLAGS += $(CQL_LIBS) endif kea_lfcdir = $(pkgdatadir) + +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f lfc_messages.h lfc_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES + +# Define rule to build logging source files from message file +messages: lfc_messages.h lfc_messages.cc + @echo Message files regenerated + +lfc_messages.h lfc_messages.cc: lfc_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/lfc/lfc_messages.mes + +else + +messages lfc_messages.h lfc_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it. + +endif diff --git a/src/bin/lfc/lfc_messages.cc b/src/bin/lfc/lfc_messages.cc new file mode 100644 index 0000000000..b12d3ac1b9 --- /dev/null +++ b/src/bin/lfc/lfc_messages.cc @@ -0,0 +1,45 @@ +// File created from ../../../src/bin/lfc/lfc_messages.mes on Fri Feb 08 2019 20:33 + +#include +#include +#include + +namespace isc { +namespace lfc { + +extern const isc::log::MessageID LFC_FAIL_PID_CREATE = "LFC_FAIL_PID_CREATE"; +extern const isc::log::MessageID LFC_FAIL_PID_DEL = "LFC_FAIL_PID_DEL"; +extern const isc::log::MessageID LFC_FAIL_PROCESS = "LFC_FAIL_PROCESS"; +extern const isc::log::MessageID LFC_FAIL_ROTATE = "LFC_FAIL_ROTATE"; +extern const isc::log::MessageID LFC_PROCESSING = "LFC_PROCESSING"; +extern const isc::log::MessageID LFC_READ_STATS = "LFC_READ_STATS"; +extern const isc::log::MessageID LFC_ROTATING = "LFC_ROTATING"; +extern const isc::log::MessageID LFC_RUNNING = "LFC_RUNNING"; +extern const isc::log::MessageID LFC_START = "LFC_START"; +extern const isc::log::MessageID LFC_TERMINATE = "LFC_TERMINATE"; +extern const isc::log::MessageID LFC_WRITE_STATS = "LFC_WRITE_STATS"; + +} // namespace lfc +} // namespace isc + +namespace { + +const char* values[] = { + "LFC_FAIL_PID_CREATE", ": %1", + "LFC_FAIL_PID_DEL", ": %1", + "LFC_FAIL_PROCESS", ": %1", + "LFC_FAIL_ROTATE", ": %1", + "LFC_PROCESSING", "Previous file: %1, copy file: %2", + "LFC_READ_STATS", "Leases: %1, attempts: %2, errors: %3.", + "LFC_ROTATING", "LFC rotating files", + "LFC_RUNNING", "LFC instance already running", + "LFC_START", "Starting lease file cleanup", + "LFC_TERMINATE", "LFC finished processing", + "LFC_WRITE_STATS", "Leases: %1, attempts: %2, errors: %3.", + NULL +}; + +const isc::log::MessageInitializer initializer(values); + +} // Anonymous namespace + diff --git a/src/bin/lfc/lfc_messages.h b/src/bin/lfc/lfc_messages.h new file mode 100644 index 0000000000..3fe910c49c --- /dev/null +++ b/src/bin/lfc/lfc_messages.h @@ -0,0 +1,26 @@ +// File created from ../../../src/bin/lfc/lfc_messages.mes on Fri Feb 08 2019 20:33 + +#ifndef LFC_MESSAGES_H +#define LFC_MESSAGES_H + +#include + +namespace isc { +namespace lfc { + +extern const isc::log::MessageID LFC_FAIL_PID_CREATE; +extern const isc::log::MessageID LFC_FAIL_PID_DEL; +extern const isc::log::MessageID LFC_FAIL_PROCESS; +extern const isc::log::MessageID LFC_FAIL_ROTATE; +extern const isc::log::MessageID LFC_PROCESSING; +extern const isc::log::MessageID LFC_READ_STATS; +extern const isc::log::MessageID LFC_ROTATING; +extern const isc::log::MessageID LFC_RUNNING; +extern const isc::log::MessageID LFC_START; +extern const isc::log::MessageID LFC_TERMINATE; +extern const isc::log::MessageID LFC_WRITE_STATS; + +} // namespace lfc +} // namespace isc + +#endif // LFC_MESSAGES_H diff --git a/src/bin/netconf/.gitignore b/src/bin/netconf/.gitignore index 053be53a38..e97eafa0a2 100644 --- a/src/bin/netconf/.gitignore +++ b/src/bin/netconf/.gitignore @@ -1,5 +1,2 @@ kea-netconf kea-netconf.8 -netconf_messages.cc -netconf_messages.h -s-messages diff --git a/src/bin/netconf/Makefile.am b/src/bin/netconf/Makefile.am index 50040b69b9..a459320c66 100644 --- a/src/bin/netconf/Makefile.am +++ b/src/bin/netconf/Makefile.am @@ -11,7 +11,7 @@ if USE_STATIC_LINK AM_LDFLAGS = -static endif -CLEANFILES = *.gcno *.gcda netconf_messages.h netconf_messages.cc s-messages +CLEANFILES = *.gcno *.gcda man_MANS = kea-netconf.8 DISTCLEANFILES = $(man_MANS) @@ -32,14 +32,6 @@ $(man_MANS): endif -netconf_messages.h netconf_messages.cc: s-messages - -s-messages: netconf_messages.mes - $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/bin/netconf/netconf_messages.mes - touch $@ - -BUILT_SOURCES = netconf_messages.h netconf_messages.cc - # convenience archive noinst_LTLIBRARIES = libnetconf.la @@ -60,8 +52,7 @@ libnetconf_la_SOURCES += parser_context_decl.h libnetconf_la_SOURCES += simple_parser.cc simple_parser.h libnetconf_la_SOURCES += location.hh position.hh stack.hh libnetconf_la_SOURCES += netconf_lexer.ll netconf_parser.yy - -nodist_libnetconf_la_SOURCES = netconf_messages.h netconf_messages.cc +libnetconf_la_SOURCES += netconf_messages.h netconf_messages.cc EXTRA_DIST += netconf_messages.mes EXTRA_DIST += netconf_lexer.ll @@ -89,6 +80,39 @@ kea_netconf_LDADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS) $(SYSREPO_LI kea_netconfdir = $(pkgdatadir) +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f netconf_messages.h netconf_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES + +# Define rule to build logging source files from message file +messages: netconf_messages.h netconf_messages.cc + @echo Message files regenerated + +netconf_messages.h netconf_messages.cc: netconf_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/netconf/netconf_messages.mes + +else + +messages netconf_messages.h netconf_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it. + +endif + if GENERATE_PARSER parser: netconf_lexer.cc location.hh position.hh stack.hh netconf_parser.cc netconf_parser.h diff --git a/src/bin/netconf/netconf_messages.cc b/src/bin/netconf/netconf_messages.cc new file mode 100644 index 0000000000..81f01882bf --- /dev/null +++ b/src/bin/netconf/netconf_messages.cc @@ -0,0 +1,85 @@ +// File created from ../../../src/bin/netconf/netconf_messages.mes on Fri Feb 08 2019 20:57 + +#include +#include +#include + +namespace isc { +namespace netconf { + +extern const isc::log::MessageID NETCONF_BOOT_UPDATE_COMPLETED = "NETCONF_BOOT_UPDATE_COMPLETED"; +extern const isc::log::MessageID NETCONF_CONFIG_CHANGED_DETAIL = "NETCONF_CONFIG_CHANGED_DETAIL"; +extern const isc::log::MessageID NETCONF_CONFIG_CHANGE_EVENT = "NETCONF_CONFIG_CHANGE_EVENT"; +extern const isc::log::MessageID NETCONF_CONFIG_CHECK_FAIL = "NETCONF_CONFIG_CHECK_FAIL"; +extern const isc::log::MessageID NETCONF_CONFIG_FAIL = "NETCONF_CONFIG_FAIL"; +extern const isc::log::MessageID NETCONF_FAILED = "NETCONF_FAILED"; +extern const isc::log::MessageID NETCONF_GET_CONFIG = "NETCONF_GET_CONFIG"; +extern const isc::log::MessageID NETCONF_GET_CONFIG_FAILED = "NETCONF_GET_CONFIG_FAILED"; +extern const isc::log::MessageID NETCONF_GET_CONFIG_STARTED = "NETCONF_GET_CONFIG_STARTED"; +extern const isc::log::MessageID NETCONF_LOG_CHANGE_FAIL = "NETCONF_LOG_CHANGE_FAIL"; +extern const isc::log::MessageID NETCONF_MODULE_INSTALL = "NETCONF_MODULE_INSTALL"; +extern const isc::log::MessageID NETCONF_MODULE_MISSING_ERR = "NETCONF_MODULE_MISSING_ERR"; +extern const isc::log::MessageID NETCONF_MODULE_MISSING_WARN = "NETCONF_MODULE_MISSING_WARN"; +extern const isc::log::MessageID NETCONF_MODULE_REVISION_ERR = "NETCONF_MODULE_REVISION_ERR"; +extern const isc::log::MessageID NETCONF_MODULE_REVISION_WARN = "NETCONF_MODULE_REVISION_WARN"; +extern const isc::log::MessageID NETCONF_RUN_EXIT = "NETCONF_RUN_EXIT"; +extern const isc::log::MessageID NETCONF_SET_CONFIG = "NETCONF_SET_CONFIG"; +extern const isc::log::MessageID NETCONF_SET_CONFIG_FAILED = "NETCONF_SET_CONFIG_FAILED"; +extern const isc::log::MessageID NETCONF_SET_CONFIG_STARTED = "NETCONF_SET_CONFIG_STARTED"; +extern const isc::log::MessageID NETCONF_STARTED = "NETCONF_STARTED"; +extern const isc::log::MessageID NETCONF_SUBSCRIBE_CONFIG = "NETCONF_SUBSCRIBE_CONFIG"; +extern const isc::log::MessageID NETCONF_SUBSCRIBE_CONFIG_FAILED = "NETCONF_SUBSCRIBE_CONFIG_FAILED"; +extern const isc::log::MessageID NETCONF_UPDATE_CONFIG = "NETCONF_UPDATE_CONFIG"; +extern const isc::log::MessageID NETCONF_UPDATE_CONFIG_COMPLETED = "NETCONF_UPDATE_CONFIG_COMPLETED"; +extern const isc::log::MessageID NETCONF_UPDATE_CONFIG_FAILED = "NETCONF_UPDATE_CONFIG_FAILED"; +extern const isc::log::MessageID NETCONF_UPDATE_CONFIG_STARTED = "NETCONF_UPDATE_CONFIG_STARTED"; +extern const isc::log::MessageID NETCONF_VALIDATE_CONFIG = "NETCONF_VALIDATE_CONFIG"; +extern const isc::log::MessageID NETCONF_VALIDATE_CONFIG_COMPLETED = "NETCONF_VALIDATE_CONFIG_COMPLETED"; +extern const isc::log::MessageID NETCONF_VALIDATE_CONFIG_FAILED = "NETCONF_VALIDATE_CONFIG_FAILED"; +extern const isc::log::MessageID NETCONF_VALIDATE_CONFIG_REJECTED = "NETCONF_VALIDATE_CONFIG_REJECTED"; +extern const isc::log::MessageID NETCONF_VALIDATE_CONFIG_STARTED = "NETCONF_VALIDATE_CONFIG_STARTED"; + +} // namespace netconf +} // namespace isc + +namespace { + +const char* values[] = { + "NETCONF_BOOT_UPDATE_COMPLETED", "Boot-update configuration completed for server %1", + "NETCONF_CONFIG_CHANGED_DETAIL", "YANG configuration changed: %1", + "NETCONF_CONFIG_CHANGE_EVENT", "Received YANG configuration change %1 event", + "NETCONF_CONFIG_CHECK_FAIL", "Netconf configuration check failed: %1", + "NETCONF_CONFIG_FAIL", "Netconf configuration failed: %1", + "NETCONF_FAILED", "application experienced a fatal error: %1", + "NETCONF_GET_CONFIG", "got configuration from %1 server: %2", + "NETCONF_GET_CONFIG_FAILED", "getting configuration from %1 server failed: %2", + "NETCONF_GET_CONFIG_STARTED", "getting configuration from %1 server", + "NETCONF_LOG_CHANGE_FAIL", "Netconf configuration change logging failed: %1", + "NETCONF_MODULE_INSTALL", "Sysrepo (un)installs a module: %1 (revision %2)", + "NETCONF_MODULE_MISSING_ERR", "Missing essential module %1 in sysrepo", + "NETCONF_MODULE_MISSING_WARN", "Missing module %1 in sysrepo", + "NETCONF_MODULE_REVISION_ERR", "Essential module %1 does have the right revision: expected %2, got %3", + "NETCONF_MODULE_REVISION_WARN", "Module %1 does have the right revision: expected %2, got %3", + "NETCONF_RUN_EXIT", "application is exiting the event loop", + "NETCONF_SET_CONFIG", "set configuration to %1 server: %2", + "NETCONF_SET_CONFIG_FAILED", "setting configuration to %1 server failed: %2", + "NETCONF_SET_CONFIG_STARTED", "setting configuration to %1 server", + "NETCONF_STARTED", "Netconf (version %1) started", + "NETCONF_SUBSCRIBE_CONFIG", "subscribing configuration changes for %1 server with %2 module", + "NETCONF_SUBSCRIBE_CONFIG_FAILED", "subscribe configuration changes for %1 server with %2 module failed: %3", + "NETCONF_UPDATE_CONFIG", "updating configuration with %1 server: %2", + "NETCONF_UPDATE_CONFIG_COMPLETED", "completed updating configuration for %1 server", + "NETCONF_UPDATE_CONFIG_FAILED", "updating configuration with %1 server: %2", + "NETCONF_UPDATE_CONFIG_STARTED", "started updating configuration for %1 server", + "NETCONF_VALIDATE_CONFIG", "validating configuration with %1 server: %2", + "NETCONF_VALIDATE_CONFIG_COMPLETED", "completed validating configuration for %1 server", + "NETCONF_VALIDATE_CONFIG_FAILED", "validating configuration with %1 server got an error: %2", + "NETCONF_VALIDATE_CONFIG_REJECTED", "validating configuration with %1 server was rejected: %2", + "NETCONF_VALIDATE_CONFIG_STARTED", "started validating configuration for %1 server", + NULL +}; + +const isc::log::MessageInitializer initializer(values); + +} // Anonymous namespace + diff --git a/src/bin/netconf/netconf_messages.h b/src/bin/netconf/netconf_messages.h new file mode 100644 index 0000000000..6ace56de8b --- /dev/null +++ b/src/bin/netconf/netconf_messages.h @@ -0,0 +1,46 @@ +// File created from ../../../src/bin/netconf/netconf_messages.mes on Fri Feb 08 2019 20:57 + +#ifndef NETCONF_MESSAGES_H +#define NETCONF_MESSAGES_H + +#include + +namespace isc { +namespace netconf { + +extern const isc::log::MessageID NETCONF_BOOT_UPDATE_COMPLETED; +extern const isc::log::MessageID NETCONF_CONFIG_CHANGED_DETAIL; +extern const isc::log::MessageID NETCONF_CONFIG_CHANGE_EVENT; +extern const isc::log::MessageID NETCONF_CONFIG_CHECK_FAIL; +extern const isc::log::MessageID NETCONF_CONFIG_FAIL; +extern const isc::log::MessageID NETCONF_FAILED; +extern const isc::log::MessageID NETCONF_GET_CONFIG; +extern const isc::log::MessageID NETCONF_GET_CONFIG_FAILED; +extern const isc::log::MessageID NETCONF_GET_CONFIG_STARTED; +extern const isc::log::MessageID NETCONF_LOG_CHANGE_FAIL; +extern const isc::log::MessageID NETCONF_MODULE_INSTALL; +extern const isc::log::MessageID NETCONF_MODULE_MISSING_ERR; +extern const isc::log::MessageID NETCONF_MODULE_MISSING_WARN; +extern const isc::log::MessageID NETCONF_MODULE_REVISION_ERR; +extern const isc::log::MessageID NETCONF_MODULE_REVISION_WARN; +extern const isc::log::MessageID NETCONF_RUN_EXIT; +extern const isc::log::MessageID NETCONF_SET_CONFIG; +extern const isc::log::MessageID NETCONF_SET_CONFIG_FAILED; +extern const isc::log::MessageID NETCONF_SET_CONFIG_STARTED; +extern const isc::log::MessageID NETCONF_STARTED; +extern const isc::log::MessageID NETCONF_SUBSCRIBE_CONFIG; +extern const isc::log::MessageID NETCONF_SUBSCRIBE_CONFIG_FAILED; +extern const isc::log::MessageID NETCONF_UPDATE_CONFIG; +extern const isc::log::MessageID NETCONF_UPDATE_CONFIG_COMPLETED; +extern const isc::log::MessageID NETCONF_UPDATE_CONFIG_FAILED; +extern const isc::log::MessageID NETCONF_UPDATE_CONFIG_STARTED; +extern const isc::log::MessageID NETCONF_VALIDATE_CONFIG; +extern const isc::log::MessageID NETCONF_VALIDATE_CONFIG_COMPLETED; +extern const isc::log::MessageID NETCONF_VALIDATE_CONFIG_FAILED; +extern const isc::log::MessageID NETCONF_VALIDATE_CONFIG_REJECTED; +extern const isc::log::MessageID NETCONF_VALIDATE_CONFIG_STARTED; + +} // namespace netconf +} // namespace isc + +#endif // NETCONF_MESSAGES_H diff --git a/src/hooks/dhcp/high_availability/.gitignore b/src/hooks/dhcp/high_availability/.gitignore index 0be25998cd..35b5e99aee 100644 --- a/src/hooks/dhcp/high_availability/.gitignore +++ b/src/hooks/dhcp/high_availability/.gitignore @@ -1,4 +1 @@ -/ha_messages.cc -/ha_messages.h -/s-messages /html diff --git a/src/hooks/dhcp/high_availability/Makefile.am b/src/hooks/dhcp/high_availability/Makefile.am index ffba51caa0..314be830ea 100644 --- a/src/hooks/dhcp/high_availability/Makefile.am +++ b/src/hooks/dhcp/high_availability/Makefile.am @@ -4,22 +4,11 @@ AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib AM_CPPFLAGS += $(BOOST_INCLUDES) AM_CXXFLAGS = $(KEA_CXXFLAGS) -# Define rule to build logging source files from message file -ha_messages.h ha_messages.cc: s-messages -s-messages: ha_messages.mes - $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/hooks/dhcp/high_availability/ha_messages.mes - touch $@ - -# Tell automake that the message files are built as part of the build process -# (so that they are built before the main library is built). -BUILT_SOURCES = ha_messages.h ha_messages.cc - # Ensure that the message file is included in the distribution EXTRA_DIST = ha_messages.mes EXTRA_DIST += ha.dox -# Get rid of generated message files on a clean -CLEANFILES = *.gcno *.gcda ha_messages.h ha_messages.cc s-messages +CLEANFILES = *.gcno *.gcda # convenience archive @@ -32,14 +21,13 @@ libha_la_SOURCES += ha_config.cc ha_config.h libha_la_SOURCES += ha_config_parser.cc ha_config_parser.h libha_la_SOURCES += ha_impl.cc ha_impl.h libha_la_SOURCES += ha_log.cc ha_log.h +libha_la_SOURCES += ha_messages.cc ha_messages.h libha_la_SOURCES += ha_server_type.h libha_la_SOURCES += ha_service.cc ha_service.h libha_la_SOURCES += ha_service_states.cc ha_service_states.h libha_la_SOURCES += query_filter.cc query_filter.h libha_la_SOURCES += version.cc -nodist_libha_la_SOURCES = ha_messages.cc ha_messages.h - libha_la_CXXFLAGS = $(AM_CXXFLAGS) libha_la_CPPFLAGS = $(AM_CPPFLAGS) @@ -69,3 +57,37 @@ libdhcp_ha_la_LIBADD += $(top_builddir)/src/lib/log/libkea-log.la libdhcp_ha_la_LIBADD += $(top_builddir)/src/lib/util/threads/libkea-threads.la libdhcp_ha_la_LIBADD += $(top_builddir)/src/lib/util/libkea-util.la libdhcp_ha_la_LIBADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la + +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f ha_messages.h ha_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES + +# Define rule to build logging source files from message file +messages: ha_messages.h ha_messages.cc + @echo Message files regenerated + +ha_messages.h ha_messages.cc: ha_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/ha/ha_messages.mes + +else + +messages ha_messages.h ha_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it. + +endif + diff --git a/src/hooks/dhcp/high_availability/ha_messages.cc b/src/hooks/dhcp/high_availability/ha_messages.cc new file mode 100644 index 0000000000..38a65b867b --- /dev/null +++ b/src/hooks/dhcp/high_availability/ha_messages.cc @@ -0,0 +1,143 @@ +// File created from ../../../../src/hooks/dhcp/high_availability/ha_messages.mes on Fri Feb 08 2019 20:34 + +#include +#include +#include + +namespace isc { +namespace ha { + +extern const isc::log::MessageID HA_BUFFER4_RECEIVE_FAILED = "HA_BUFFER4_RECEIVE_FAILED"; +extern const isc::log::MessageID HA_BUFFER4_RECEIVE_NOT_FOR_US = "HA_BUFFER4_RECEIVE_NOT_FOR_US"; +extern const isc::log::MessageID HA_BUFFER4_RECEIVE_PACKET_OPTIONS_SKIPPED = "HA_BUFFER4_RECEIVE_PACKET_OPTIONS_SKIPPED"; +extern const isc::log::MessageID HA_BUFFER4_RECEIVE_UNPACK_FAILED = "HA_BUFFER4_RECEIVE_UNPACK_FAILED"; +extern const isc::log::MessageID HA_BUFFER6_RECEIVE_FAILED = "HA_BUFFER6_RECEIVE_FAILED"; +extern const isc::log::MessageID HA_BUFFER6_RECEIVE_NOT_FOR_US = "HA_BUFFER6_RECEIVE_NOT_FOR_US"; +extern const isc::log::MessageID HA_BUFFER6_RECEIVE_PACKET_OPTIONS_SKIPPED = "HA_BUFFER6_RECEIVE_PACKET_OPTIONS_SKIPPED"; +extern const isc::log::MessageID HA_BUFFER6_RECEIVE_UNPACK_FAILED = "HA_BUFFER6_RECEIVE_UNPACK_FAILED"; +extern const isc::log::MessageID HA_COMMAND_PROCESSED_FAILED = "HA_COMMAND_PROCESSED_FAILED"; +extern const isc::log::MessageID HA_CONFIGURATION_FAILED = "HA_CONFIGURATION_FAILED"; +extern const isc::log::MessageID HA_CONFIGURATION_SUCCESSFUL = "HA_CONFIGURATION_SUCCESSFUL"; +extern const isc::log::MessageID HA_CONFIG_AUTO_FAILOVER_DISABLED = "HA_CONFIG_AUTO_FAILOVER_DISABLED"; +extern const isc::log::MessageID HA_CONFIG_LEASE_SYNCING_DISABLED = "HA_CONFIG_LEASE_SYNCING_DISABLED"; +extern const isc::log::MessageID HA_CONFIG_LEASE_SYNCING_DISABLED_REMINDER = "HA_CONFIG_LEASE_SYNCING_DISABLED_REMINDER"; +extern const isc::log::MessageID HA_CONFIG_LEASE_UPDATES_AND_SYNCING_DIFFER = "HA_CONFIG_LEASE_UPDATES_AND_SYNCING_DIFFER"; +extern const isc::log::MessageID HA_CONFIG_LEASE_UPDATES_DISABLED = "HA_CONFIG_LEASE_UPDATES_DISABLED"; +extern const isc::log::MessageID HA_CONFIG_LEASE_UPDATES_DISABLED_REMINDER = "HA_CONFIG_LEASE_UPDATES_DISABLED_REMINDER"; +extern const isc::log::MessageID HA_CONTINUE_HANDLER_FAILED = "HA_CONTINUE_HANDLER_FAILED"; +extern const isc::log::MessageID HA_DEINIT_OK = "HA_DEINIT_OK"; +extern const isc::log::MessageID HA_DHCP4_START_SERVICE_FAILED = "HA_DHCP4_START_SERVICE_FAILED"; +extern const isc::log::MessageID HA_DHCP6_START_SERVICE_FAILED = "HA_DHCP6_START_SERVICE_FAILED"; +extern const isc::log::MessageID HA_DHCP_DISABLE_COMMUNICATIONS_FAILED = "HA_DHCP_DISABLE_COMMUNICATIONS_FAILED"; +extern const isc::log::MessageID HA_DHCP_DISABLE_FAILED = "HA_DHCP_DISABLE_FAILED"; +extern const isc::log::MessageID HA_DHCP_ENABLE_COMMUNICATIONS_FAILED = "HA_DHCP_ENABLE_COMMUNICATIONS_FAILED"; +extern const isc::log::MessageID HA_DHCP_ENABLE_FAILED = "HA_DHCP_ENABLE_FAILED"; +extern const isc::log::MessageID HA_HEARTBEAT_COMMUNICATIONS_FAILED = "HA_HEARTBEAT_COMMUNICATIONS_FAILED"; +extern const isc::log::MessageID HA_HEARTBEAT_FAILED = "HA_HEARTBEAT_FAILED"; +extern const isc::log::MessageID HA_HEARTBEAT_HANDLER_FAILED = "HA_HEARTBEAT_HANDLER_FAILED"; +extern const isc::log::MessageID HA_HIGH_CLOCK_SKEW = "HA_HIGH_CLOCK_SKEW"; +extern const isc::log::MessageID HA_HIGH_CLOCK_SKEW_CAUSES_TERMINATION = "HA_HIGH_CLOCK_SKEW_CAUSES_TERMINATION"; +extern const isc::log::MessageID HA_INIT_OK = "HA_INIT_OK"; +extern const isc::log::MessageID HA_LEASES4_COMMITTED_FAILED = "HA_LEASES4_COMMITTED_FAILED"; +extern const isc::log::MessageID HA_LEASES4_COMMITTED_NOTHING_TO_UPDATE = "HA_LEASES4_COMMITTED_NOTHING_TO_UPDATE"; +extern const isc::log::MessageID HA_LEASES6_COMMITTED_FAILED = "HA_LEASES6_COMMITTED_FAILED"; +extern const isc::log::MessageID HA_LEASES6_COMMITTED_NOTHING_TO_UPDATE = "HA_LEASES6_COMMITTED_NOTHING_TO_UPDATE"; +extern const isc::log::MessageID HA_LEASES_SYNC_COMMUNICATIONS_FAILED = "HA_LEASES_SYNC_COMMUNICATIONS_FAILED"; +extern const isc::log::MessageID HA_LEASES_SYNC_FAILED = "HA_LEASES_SYNC_FAILED"; +extern const isc::log::MessageID HA_LEASES_SYNC_LEASE_PAGE_RECEIVED = "HA_LEASES_SYNC_LEASE_PAGE_RECEIVED"; +extern const isc::log::MessageID HA_LEASE_SYNC_FAILED = "HA_LEASE_SYNC_FAILED"; +extern const isc::log::MessageID HA_LEASE_SYNC_STALE_LEASE4_SKIP = "HA_LEASE_SYNC_STALE_LEASE4_SKIP"; +extern const isc::log::MessageID HA_LEASE_SYNC_STALE_LEASE6_SKIP = "HA_LEASE_SYNC_STALE_LEASE6_SKIP"; +extern const isc::log::MessageID HA_LEASE_UPDATES_DISABLED = "HA_LEASE_UPDATES_DISABLED"; +extern const isc::log::MessageID HA_LEASE_UPDATES_ENABLED = "HA_LEASE_UPDATES_ENABLED"; +extern const isc::log::MessageID HA_LEASE_UPDATE_COMMUNICATIONS_FAILED = "HA_LEASE_UPDATE_COMMUNICATIONS_FAILED"; +extern const isc::log::MessageID HA_LEASE_UPDATE_FAILED = "HA_LEASE_UPDATE_FAILED"; +extern const isc::log::MessageID HA_LOAD_BALANCING_DUID_MISSING = "HA_LOAD_BALANCING_DUID_MISSING"; +extern const isc::log::MessageID HA_LOAD_BALANCING_IDENTIFIER_MISSING = "HA_LOAD_BALANCING_IDENTIFIER_MISSING"; +extern const isc::log::MessageID HA_LOCAL_DHCP_DISABLE = "HA_LOCAL_DHCP_DISABLE"; +extern const isc::log::MessageID HA_LOCAL_DHCP_ENABLE = "HA_LOCAL_DHCP_ENABLE"; +extern const isc::log::MessageID HA_MISSING_CONFIGURATION = "HA_MISSING_CONFIGURATION"; +extern const isc::log::MessageID HA_SCOPES_HANDLER_FAILED = "HA_SCOPES_HANDLER_FAILED"; +extern const isc::log::MessageID HA_SERVICE_STARTED = "HA_SERVICE_STARTED"; +extern const isc::log::MessageID HA_STATE_MACHINE_CONTINUED = "HA_STATE_MACHINE_CONTINUED"; +extern const isc::log::MessageID HA_STATE_MACHINE_PAUSED = "HA_STATE_MACHINE_PAUSED"; +extern const isc::log::MessageID HA_STATE_TRANSITION = "HA_STATE_TRANSITION"; +extern const isc::log::MessageID HA_SYNC_FAILED = "HA_SYNC_FAILED"; +extern const isc::log::MessageID HA_SYNC_HANDLER_FAILED = "HA_SYNC_HANDLER_FAILED"; +extern const isc::log::MessageID HA_SYNC_START = "HA_SYNC_START"; +extern const isc::log::MessageID HA_SYNC_SUCCESSFUL = "HA_SYNC_SUCCESSFUL"; +extern const isc::log::MessageID HA_TERMINATED = "HA_TERMINATED"; + +} // namespace ha +} // namespace isc + +namespace { + +const char* values[] = { + "HA_BUFFER4_RECEIVE_FAILED", "buffer4_receive callout failed: %1", + "HA_BUFFER4_RECEIVE_NOT_FOR_US", "%1: dropping query to be processed by another server", + "HA_BUFFER4_RECEIVE_PACKET_OPTIONS_SKIPPED", "an error upacking an option, caused subsequent options to be skipped: %1", + "HA_BUFFER4_RECEIVE_UNPACK_FAILED", "failed to parse query from %1 to %2, received over interface %3, reason: %4", + "HA_BUFFER6_RECEIVE_FAILED", "buffer6_receive callout failed: %1", + "HA_BUFFER6_RECEIVE_NOT_FOR_US", "%1: dropping query to be processed by another server", + "HA_BUFFER6_RECEIVE_PACKET_OPTIONS_SKIPPED", "an error upacking an option, caused subsequent options to be skipped: %1", + "HA_BUFFER6_RECEIVE_UNPACK_FAILED", "failed to parse query from %1 to %2, received over interface %3, reason: %4", + "HA_COMMAND_PROCESSED_FAILED", "command_processed callout failed: %1", + "HA_CONFIGURATION_FAILED", "failed to configure High Availability hooks library: %1", + "HA_CONFIGURATION_SUCCESSFUL", "HA hook library has been successfully configured", + "HA_CONFIG_AUTO_FAILOVER_DISABLED", "auto-failover disabled for %1", + "HA_CONFIG_LEASE_SYNCING_DISABLED", "lease database synchronization between HA servers is disabled", + "HA_CONFIG_LEASE_SYNCING_DISABLED_REMINDER", "bypassing SYNCING state because lease database synchronization is administratively disabled", + "HA_CONFIG_LEASE_UPDATES_AND_SYNCING_DIFFER", "unusual configuration where \"send-lease-updates\": %1 and \"sync-leases\": %2", + "HA_CONFIG_LEASE_UPDATES_DISABLED", "lease updates will not be generated", + "HA_CONFIG_LEASE_UPDATES_DISABLED_REMINDER", "lease updates are administratively disabled and will not be generated while in %1 state", + "HA_CONTINUE_HANDLER_FAILED", "ha-continue command failed: %1", + "HA_DEINIT_OK", "unloading High Availability hooks library successful", + "HA_DHCP4_START_SERVICE_FAILED", "failed to start DHCPv4 HA service in dhcp4_srv_configured callout: %1", + "HA_DHCP6_START_SERVICE_FAILED", "failed to start DHCPv4 HA service in dhcp6_srv_configured callout: %1", + "HA_DHCP_DISABLE_COMMUNICATIONS_FAILED", "failed to send request to disable DHCP service of %1: %2", + "HA_DHCP_DISABLE_FAILED", "failed to disable DHCP service of %1: %2", + "HA_DHCP_ENABLE_COMMUNICATIONS_FAILED", "failed to send request to enable DHCP service of %1: %2", + "HA_DHCP_ENABLE_FAILED", "failed to enable DHCP service of %1: %2", + "HA_HEARTBEAT_COMMUNICATIONS_FAILED", "failed to send heartbeat to %1: %2", + "HA_HEARTBEAT_FAILED", "heartbeat to %1 failed: %2", + "HA_HEARTBEAT_HANDLER_FAILED", "heartbeat command failed: %1", + "HA_HIGH_CLOCK_SKEW", "partner's clock is %1, please synchronize clocks!", + "HA_HIGH_CLOCK_SKEW_CAUSES_TERMINATION", "partner's clock is %1, causing HA service to terminate", + "HA_INIT_OK", "loading High Availability hooks library successful", + "HA_LEASES4_COMMITTED_FAILED", "leases4_committed callout failed: %1", + "HA_LEASES4_COMMITTED_NOTHING_TO_UPDATE", "%1: leases4_committed callout was invoked without any leases", + "HA_LEASES6_COMMITTED_FAILED", "leases6_committed callout failed: %1", + "HA_LEASES6_COMMITTED_NOTHING_TO_UPDATE", "%1: leases6_committed callout was invoked without any leases", + "HA_LEASES_SYNC_COMMUNICATIONS_FAILED", "failed to communicate with %1 while syncing leases: %2", + "HA_LEASES_SYNC_FAILED", "failed to synchronize leases with %1: %2", + "HA_LEASES_SYNC_LEASE_PAGE_RECEIVED", "received %1 leases from %2", + "HA_LEASE_SYNC_FAILED", "synchronization failed for lease: %1, reason: %2", + "HA_LEASE_SYNC_STALE_LEASE4_SKIP", "skipping stale lease %1 in subnet %2", + "HA_LEASE_SYNC_STALE_LEASE6_SKIP", "skipping stale lease %1 in subnet %2", + "HA_LEASE_UPDATES_DISABLED", "lease updates will not be sent to the partner while in %1 state", + "HA_LEASE_UPDATES_ENABLED", "lease updates will be sent to the partner while in %1 state", + "HA_LEASE_UPDATE_COMMUNICATIONS_FAILED", "%1: failed to communicate with %2: %3", + "HA_LEASE_UPDATE_FAILED", "%1: lease update to %2 failed: %3", + "HA_LOAD_BALANCING_DUID_MISSING", "load balancing failed for the DHCPv6 message (transaction id: %1) because DUID is missing", + "HA_LOAD_BALANCING_IDENTIFIER_MISSING", "load balancing failed for the DHCPv4 message (transaction id: %1) because HW address and client identifier are missing", + "HA_LOCAL_DHCP_DISABLE", "local DHCP service is disabled while the %1 is in the %2 state", + "HA_LOCAL_DHCP_ENABLE", "local DHCP service is enabled while the %1 is in the %2 state", + "HA_MISSING_CONFIGURATION", "high-availability parameter not specified for High Availability hooks library", + "HA_SCOPES_HANDLER_FAILED", "ha-scopes command failed: %1", + "HA_SERVICE_STARTED", "started high availability service in %1 mode as %2 server", + "HA_STATE_MACHINE_CONTINUED", "state machine is un-paused", + "HA_STATE_MACHINE_PAUSED", "state machine paused in state %1", + "HA_STATE_TRANSITION", "server transitions from %1 to %2 state, partner state is %3", + "HA_SYNC_FAILED", "lease database synchronization with %1 failed: %2", + "HA_SYNC_HANDLER_FAILED", "ha-sync command failed: %1", + "HA_SYNC_START", "starting lease database synchronization with %1", + "HA_SYNC_SUCCESSFUL", "lease database synchronization with %1 completed successfully in %2", + "HA_TERMINATED", "HA service terminated because of the unacceptable clock skew; fix the problem and restart!", + NULL +}; + +const isc::log::MessageInitializer initializer(values); + +} // Anonymous namespace + diff --git a/src/hooks/dhcp/high_availability/ha_messages.h b/src/hooks/dhcp/high_availability/ha_messages.h new file mode 100644 index 0000000000..2c003fe746 --- /dev/null +++ b/src/hooks/dhcp/high_availability/ha_messages.h @@ -0,0 +1,75 @@ +// File created from ../../../../src/hooks/dhcp/high_availability/ha_messages.mes on Fri Feb 08 2019 20:34 + +#ifndef HA_MESSAGES_H +#define HA_MESSAGES_H + +#include + +namespace isc { +namespace ha { + +extern const isc::log::MessageID HA_BUFFER4_RECEIVE_FAILED; +extern const isc::log::MessageID HA_BUFFER4_RECEIVE_NOT_FOR_US; +extern const isc::log::MessageID HA_BUFFER4_RECEIVE_PACKET_OPTIONS_SKIPPED; +extern const isc::log::MessageID HA_BUFFER4_RECEIVE_UNPACK_FAILED; +extern const isc::log::MessageID HA_BUFFER6_RECEIVE_FAILED; +extern const isc::log::MessageID HA_BUFFER6_RECEIVE_NOT_FOR_US; +extern const isc::log::MessageID HA_BUFFER6_RECEIVE_PACKET_OPTIONS_SKIPPED; +extern const isc::log::MessageID HA_BUFFER6_RECEIVE_UNPACK_FAILED; +extern const isc::log::MessageID HA_COMMAND_PROCESSED_FAILED; +extern const isc::log::MessageID HA_CONFIGURATION_FAILED; +extern const isc::log::MessageID HA_CONFIGURATION_SUCCESSFUL; +extern const isc::log::MessageID HA_CONFIG_AUTO_FAILOVER_DISABLED; +extern const isc::log::MessageID HA_CONFIG_LEASE_SYNCING_DISABLED; +extern const isc::log::MessageID HA_CONFIG_LEASE_SYNCING_DISABLED_REMINDER; +extern const isc::log::MessageID HA_CONFIG_LEASE_UPDATES_AND_SYNCING_DIFFER; +extern const isc::log::MessageID HA_CONFIG_LEASE_UPDATES_DISABLED; +extern const isc::log::MessageID HA_CONFIG_LEASE_UPDATES_DISABLED_REMINDER; +extern const isc::log::MessageID HA_CONTINUE_HANDLER_FAILED; +extern const isc::log::MessageID HA_DEINIT_OK; +extern const isc::log::MessageID HA_DHCP4_START_SERVICE_FAILED; +extern const isc::log::MessageID HA_DHCP6_START_SERVICE_FAILED; +extern const isc::log::MessageID HA_DHCP_DISABLE_COMMUNICATIONS_FAILED; +extern const isc::log::MessageID HA_DHCP_DISABLE_FAILED; +extern const isc::log::MessageID HA_DHCP_ENABLE_COMMUNICATIONS_FAILED; +extern const isc::log::MessageID HA_DHCP_ENABLE_FAILED; +extern const isc::log::MessageID HA_HEARTBEAT_COMMUNICATIONS_FAILED; +extern const isc::log::MessageID HA_HEARTBEAT_FAILED; +extern const isc::log::MessageID HA_HEARTBEAT_HANDLER_FAILED; +extern const isc::log::MessageID HA_HIGH_CLOCK_SKEW; +extern const isc::log::MessageID HA_HIGH_CLOCK_SKEW_CAUSES_TERMINATION; +extern const isc::log::MessageID HA_INIT_OK; +extern const isc::log::MessageID HA_LEASES4_COMMITTED_FAILED; +extern const isc::log::MessageID HA_LEASES4_COMMITTED_NOTHING_TO_UPDATE; +extern const isc::log::MessageID HA_LEASES6_COMMITTED_FAILED; +extern const isc::log::MessageID HA_LEASES6_COMMITTED_NOTHING_TO_UPDATE; +extern const isc::log::MessageID HA_LEASES_SYNC_COMMUNICATIONS_FAILED; +extern const isc::log::MessageID HA_LEASES_SYNC_FAILED; +extern const isc::log::MessageID HA_LEASES_SYNC_LEASE_PAGE_RECEIVED; +extern const isc::log::MessageID HA_LEASE_SYNC_FAILED; +extern const isc::log::MessageID HA_LEASE_SYNC_STALE_LEASE4_SKIP; +extern const isc::log::MessageID HA_LEASE_SYNC_STALE_LEASE6_SKIP; +extern const isc::log::MessageID HA_LEASE_UPDATES_DISABLED; +extern const isc::log::MessageID HA_LEASE_UPDATES_ENABLED; +extern const isc::log::MessageID HA_LEASE_UPDATE_COMMUNICATIONS_FAILED; +extern const isc::log::MessageID HA_LEASE_UPDATE_FAILED; +extern const isc::log::MessageID HA_LOAD_BALANCING_DUID_MISSING; +extern const isc::log::MessageID HA_LOAD_BALANCING_IDENTIFIER_MISSING; +extern const isc::log::MessageID HA_LOCAL_DHCP_DISABLE; +extern const isc::log::MessageID HA_LOCAL_DHCP_ENABLE; +extern const isc::log::MessageID HA_MISSING_CONFIGURATION; +extern const isc::log::MessageID HA_SCOPES_HANDLER_FAILED; +extern const isc::log::MessageID HA_SERVICE_STARTED; +extern const isc::log::MessageID HA_STATE_MACHINE_CONTINUED; +extern const isc::log::MessageID HA_STATE_MACHINE_PAUSED; +extern const isc::log::MessageID HA_STATE_TRANSITION; +extern const isc::log::MessageID HA_SYNC_FAILED; +extern const isc::log::MessageID HA_SYNC_HANDLER_FAILED; +extern const isc::log::MessageID HA_SYNC_START; +extern const isc::log::MessageID HA_SYNC_SUCCESSFUL; +extern const isc::log::MessageID HA_TERMINATED; + +} // namespace ha +} // namespace isc + +#endif // HA_MESSAGES_H diff --git a/src/hooks/dhcp/lease_cmds/.gitignore b/src/hooks/dhcp/lease_cmds/.gitignore index 310e853700..35b5e99aee 100644 --- a/src/hooks/dhcp/lease_cmds/.gitignore +++ b/src/hooks/dhcp/lease_cmds/.gitignore @@ -1,4 +1 @@ -/lease_cmds_messages.cc -/lease_cmds_messages.h -/s-messages /html diff --git a/src/hooks/dhcp/lease_cmds/Makefile.am b/src/hooks/dhcp/lease_cmds/Makefile.am index d32825540c..464326a4f0 100644 --- a/src/hooks/dhcp/lease_cmds/Makefile.am +++ b/src/hooks/dhcp/lease_cmds/Makefile.am @@ -4,22 +4,11 @@ AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib AM_CPPFLAGS += $(BOOST_INCLUDES) AM_CXXFLAGS = $(KEA_CXXFLAGS) -# Define rule to build logging source files from message file -lease_cmds_messages.h lease_cmds_messages.cc: s-messages -s-messages: lease_cmds_messages.mes - $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/hooks/dhcp/lease_cmds/lease_cmds_messages.mes - touch $@ - -# Tell automake that the message files are built as part of the build process -# (so that they are built before the main library is built). -BUILT_SOURCES = lease_cmds_messages.h lease_cmds_messages.cc - # Ensure that the message file and doxygen file is included in the distribution EXTRA_DIST = lease_cmds_messages.mes EXTRA_DIST += lease_cmds.dox -# Get rid of generated message files on a clean -CLEANFILES = *.gcno *.gcda lease_cmds_messages.h lease_cmds_messages.cc s-messages +CLEANFILES = *.gcno *.gcda # convenience archive @@ -29,10 +18,9 @@ liblease_cmds_la_SOURCES = lease_cmds.cc lease_cmds.h liblease_cmds_la_SOURCES += lease_cmds_callouts.cc liblease_cmds_la_SOURCES += lease_parser.h lease_parser.cc liblease_cmds_la_SOURCES += lease_cmds_log.cc lease_cmds_log.h +liblease_cmds_la_SOURCES += lease_cmds_messages.cc lease_cmds_messages.h liblease_cmds_la_SOURCES += version.cc -nodist_liblease_cmds_la_SOURCES = lease_cmds_messages.cc lease_cmds_messages.h - liblease_cmds_la_CXXFLAGS = $(AM_CXXFLAGS) liblease_cmds_la_CPPFLAGS = $(AM_CPPFLAGS) @@ -63,3 +51,37 @@ libdhcp_lease_cmds_la_LIBADD += $(top_builddir)/src/lib/exceptions/libkea-excep libdhcp_lease_cmds_la_LIBADD += $(LOG4CPLUS_LIBS) libdhcp_lease_cmds_la_LIBADD += $(CRYPTO_LIBS) libdhcp_lease_cmds_la_LIBADD += $(BOOST_LIBS) + +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f lease_cmds_messages.h lease_cmds_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES + +# Define rule to build logging source files from message file +messages: lease_cmds_messages.h lease_cmds_messages.cc + @echo Message files regenerated + +lease_cmds_messages.h lease_cmds_messages.cc: lease_cmds_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/lease_cmds/lease_cmds_messages.mes + +else + +messages lease_cmds_messages.h lease_cmds_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it. + +endif + diff --git a/src/hooks/dhcp/lease_cmds/lease_cmds_messages.cc b/src/hooks/dhcp/lease_cmds/lease_cmds_messages.cc new file mode 100644 index 0000000000..dad1ccb580 --- /dev/null +++ b/src/hooks/dhcp/lease_cmds/lease_cmds_messages.cc @@ -0,0 +1,41 @@ +// File created from ../../../../src/hooks/dhcp/lease_cmds/lease_cmds_messages.mes on Fri Feb 08 2019 20:34 + +#include +#include +#include + +extern const isc::log::MessageID LEASE_CMDS_ADD4 = "LEASE_CMDS_ADD4"; +extern const isc::log::MessageID LEASE_CMDS_ADD4_FAILED = "LEASE_CMDS_ADD4_FAILED"; +extern const isc::log::MessageID LEASE_CMDS_ADD6 = "LEASE_CMDS_ADD6"; +extern const isc::log::MessageID LEASE_CMDS_ADD6_FAILED = "LEASE_CMDS_ADD6_FAILED"; +extern const isc::log::MessageID LEASE_CMDS_DEINIT_FAILED = "LEASE_CMDS_DEINIT_FAILED"; +extern const isc::log::MessageID LEASE_CMDS_DEINIT_OK = "LEASE_CMDS_DEINIT_OK"; +extern const isc::log::MessageID LEASE_CMDS_DEL4 = "LEASE_CMDS_DEL4"; +extern const isc::log::MessageID LEASE_CMDS_DEL4_FAILED = "LEASE_CMDS_DEL4_FAILED"; +extern const isc::log::MessageID LEASE_CMDS_DEL6 = "LEASE_CMDS_DEL6"; +extern const isc::log::MessageID LEASE_CMDS_DEL6_FAILED = "LEASE_CMDS_DEL6_FAILED"; +extern const isc::log::MessageID LEASE_CMDS_INIT_FAILED = "LEASE_CMDS_INIT_FAILED"; +extern const isc::log::MessageID LEASE_CMDS_INIT_OK = "LEASE_CMDS_INIT_OK"; + +namespace { + +const char* values[] = { + "LEASE_CMDS_ADD4", "lease4-add command successful (parameters: %1)", + "LEASE_CMDS_ADD4_FAILED", "lease4-add command failed (parameters: %1, reason: %2)", + "LEASE_CMDS_ADD6", "lease6-add command successful (parameters: %1)", + "LEASE_CMDS_ADD6_FAILED", "Lease6-add command failed (parameters: %1, reason: %2)", + "LEASE_CMDS_DEINIT_FAILED", "unloading Lease Commands hooks library failed: %1", + "LEASE_CMDS_DEINIT_OK", "unloading Lease Commands hooks library successful", + "LEASE_CMDS_DEL4", "lease4-del command successful (parameters: %1)", + "LEASE_CMDS_DEL4_FAILED", "lease4-del command failed (parameters: %1, reason: %2)", + "LEASE_CMDS_DEL6", "lease4-del command successful (parameters: %1)", + "LEASE_CMDS_DEL6_FAILED", "lease6-del command failed (parameters: %1, reason: %2)", + "LEASE_CMDS_INIT_FAILED", "loading Lease Commands hooks library failed: %1", + "LEASE_CMDS_INIT_OK", "loading Lease Commands hooks library successful", + NULL +}; + +const isc::log::MessageInitializer initializer(values); + +} // Anonymous namespace + diff --git a/src/hooks/dhcp/lease_cmds/lease_cmds_messages.h b/src/hooks/dhcp/lease_cmds/lease_cmds_messages.h new file mode 100644 index 0000000000..7fa71b2713 --- /dev/null +++ b/src/hooks/dhcp/lease_cmds/lease_cmds_messages.h @@ -0,0 +1,21 @@ +// File created from ../../../../src/hooks/dhcp/lease_cmds/lease_cmds_messages.mes on Fri Feb 08 2019 20:34 + +#ifndef LEASE_CMDS_MESSAGES_H +#define LEASE_CMDS_MESSAGES_H + +#include + +extern const isc::log::MessageID LEASE_CMDS_ADD4; +extern const isc::log::MessageID LEASE_CMDS_ADD4_FAILED; +extern const isc::log::MessageID LEASE_CMDS_ADD6; +extern const isc::log::MessageID LEASE_CMDS_ADD6_FAILED; +extern const isc::log::MessageID LEASE_CMDS_DEINIT_FAILED; +extern const isc::log::MessageID LEASE_CMDS_DEINIT_OK; +extern const isc::log::MessageID LEASE_CMDS_DEL4; +extern const isc::log::MessageID LEASE_CMDS_DEL4_FAILED; +extern const isc::log::MessageID LEASE_CMDS_DEL6; +extern const isc::log::MessageID LEASE_CMDS_DEL6_FAILED; +extern const isc::log::MessageID LEASE_CMDS_INIT_FAILED; +extern const isc::log::MessageID LEASE_CMDS_INIT_OK; + +#endif // LEASE_CMDS_MESSAGES_H diff --git a/src/hooks/dhcp/mysql_cb/.gitignore b/src/hooks/dhcp/mysql_cb/.gitignore deleted file mode 100644 index 2b15432f05..0000000000 --- a/src/hooks/dhcp/mysql_cb/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/mysql_cb_messages.cc -/mysql_cb_messages.h -/s-messages diff --git a/src/hooks/dhcp/mysql_cb/Makefile.am b/src/hooks/dhcp/mysql_cb/Makefile.am index 75890432b4..a4630bc64f 100644 --- a/src/hooks/dhcp/mysql_cb/Makefile.am +++ b/src/hooks/dhcp/mysql_cb/Makefile.am @@ -4,21 +4,10 @@ AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib AM_CPPFLAGS += $(BOOST_INCLUDES) $(MYSQL_CPPFLAGS) AM_CXXFLAGS = $(KEA_CXXFLAGS) -# Define rule to build logging source files from message file -mysql_cb_messages.h mysql_cb_messages.cc: s-messages -s-messages: mysql_cb_messages.mes - $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/hooks/dhcp/mysql_cb/mysql_cb_messages.mes - touch $@ - -# Tell automake that the message files are built as part of the build process -# (so that they are built before the main library is built). -BUILT_SOURCES = mysql_cb_messages.h mysql_cb_messages.cc - # Ensure that the message file is included in the distribution EXTRA_DIST = mysql_cb_messages.mes -# Get rid of generated message files on a clean -CLEANFILES = *.gcno *.gcda mysql_cb_messages.h mysql_cb_messages.cc s-messages +CLEANFILES = *.gcno *.gcda # convenience archive @@ -27,11 +16,10 @@ noinst_LTLIBRARIES = libmysqlcb.la libmysqlcb_la_SOURCES = mysql_cb_callouts.cc libmysqlcb_la_SOURCES += mysql_cb_dhcp4.cc mysql_cb_dhcp4.h libmysqlcb_la_SOURCES += mysql_cb_impl.cc mysql_cb_impl.h +libmysqlcb_la_SOURCES += mysql_cb_messages.cc mysql_cb_messages.h libmysqlcb_la_SOURCES += mysql_query_macros_dhcp.h libmysqlcb_la_SOURCES += version.cc -nodist_libmysqlcb_la_SOURCES = mysql_cb_messages.cc mysql_cb_messages.h - libmysqlcb_la_CXXFLAGS = $(AM_CXXFLAGS) libmysqlcb_la_CPPFLAGS = $(AM_CPPFLAGS) @@ -62,3 +50,37 @@ libdhcp_mysql_cb_la_LIBADD += $(top_builddir)/src/lib/log/libkea-log.la libdhcp_mysql_cb_la_LIBADD += $(top_builddir)/src/lib/util/threads/libkea-threads.la libdhcp_mysql_cb_la_LIBADD += $(top_builddir)/src/lib/util/libkea-util.la libdhcp_mysql_cb_la_LIBADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la + +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f mysql_cb_messages.h mysql_cb_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES + +# Define rule to build logging source files from message file +messages: mysql_cb_messages.h mysql_cb_messages.cc + @echo Message files regenerated + +mysql_cb_messages.h mysql_cb_messages.cc: mysql_cb_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/mysql_cb/mysql_cb_messages.mes + +else + +messages mysql_cb_messages.h mysql_cb_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it. + +endif + diff --git a/src/hooks/dhcp/mysql_cb/mysql_cb_messages.cc b/src/hooks/dhcp/mysql_cb/mysql_cb_messages.cc new file mode 100644 index 0000000000..cbef905e21 --- /dev/null +++ b/src/hooks/dhcp/mysql_cb/mysql_cb_messages.cc @@ -0,0 +1,23 @@ +// File created from ../../../../src/hooks/dhcp/mysql_cb/mysql_cb_messages.mes on Fri Feb 08 2019 20:57 + +#include +#include +#include + +namespace isc { +namespace cb { + + +} // namespace cb +} // namespace isc + +namespace { + +const char* values[] = { + NULL +}; + +const isc::log::MessageInitializer initializer(values); + +} // Anonymous namespace + diff --git a/src/hooks/dhcp/mysql_cb/mysql_cb_messages.h b/src/hooks/dhcp/mysql_cb/mysql_cb_messages.h new file mode 100644 index 0000000000..255b4d16c1 --- /dev/null +++ b/src/hooks/dhcp/mysql_cb/mysql_cb_messages.h @@ -0,0 +1,15 @@ +// File created from ../../../../src/hooks/dhcp/mysql_cb/mysql_cb_messages.mes on Fri Feb 08 2019 20:57 + +#ifndef MYSQL_CB_MESSAGES_H +#define MYSQL_CB_MESSAGES_H + +#include + +namespace isc { +namespace cb { + + +} // namespace cb +} // namespace isc + +#endif // MYSQL_CB_MESSAGES_H diff --git a/src/hooks/dhcp/stat_cmds/.gitignore b/src/hooks/dhcp/stat_cmds/.gitignore index 68df133a50..35b5e99aee 100644 --- a/src/hooks/dhcp/stat_cmds/.gitignore +++ b/src/hooks/dhcp/stat_cmds/.gitignore @@ -1,4 +1 @@ -/stat_cmds_messages.cc -/stat_cmds_messages.h -/s-messages /html diff --git a/src/hooks/dhcp/stat_cmds/Makefile.am b/src/hooks/dhcp/stat_cmds/Makefile.am index ccfc3adeef..300ccc64e8 100644 --- a/src/hooks/dhcp/stat_cmds/Makefile.am +++ b/src/hooks/dhcp/stat_cmds/Makefile.am @@ -4,22 +4,11 @@ AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib AM_CPPFLAGS += $(BOOST_INCLUDES) AM_CXXFLAGS = $(KEA_CXXFLAGS) -# Define rule to build logging source files from message file -stat_cmds_messages.h stat_cmds_messages.cc: s-messages -s-messages: stat_cmds_messages.mes - $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/hooks/dhcp/stat_cmds/stat_cmds_messages.mes - touch $@ - -# Tell automake that the message files are built as part of the build process -# (so that they are built before the main library is built). -BUILT_SOURCES = stat_cmds_messages.h stat_cmds_messages.cc - # Ensure that the message file and doxygen file is included in the distribution EXTRA_DIST = stat_cmds_messages.mes EXTRA_DIST += stat_cmds.dox -# Get rid of generated message files on a clean -CLEANFILES = *.gcno *.gcda stat_cmds_messages.h stat_cmds_messages.cc s-messages +CLEANFILES = *.gcno *.gcda # convenience archive @@ -28,10 +17,9 @@ noinst_LTLIBRARIES = libstat_cmds.la libstat_cmds_la_SOURCES = stat_cmds.cc stat_cmds.h libstat_cmds_la_SOURCES += stat_cmds_callouts.cc libstat_cmds_la_SOURCES += stat_cmds_log.cc stat_cmds_log.h +libstat_cmds_la_SOURCES += stat_cmds_messages.cc stat_cmds_messages.h libstat_cmds_la_SOURCES += version.cc -nodist_libstat_cmds_la_SOURCES = stat_cmds_messages.cc stat_cmds_messages.h - libstat_cmds_la_CXXFLAGS = $(AM_CXXFLAGS) libstat_cmds_la_CPPFLAGS = $(AM_CPPFLAGS) @@ -61,3 +49,37 @@ libdhcp_stat_cmds_la_LIBADD += $(top_builddir)/src/lib/exceptions/libkea-except libdhcp_stat_cmds_la_LIBADD += $(LOG4CPLUS_LIBS) libdhcp_stat_cmds_la_LIBADD += $(CRYPTO_LIBS) libdhcp_stat_cmds_la_LIBADD += $(BOOST_LIBS) + +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f stat_cmds_messages.h stat_cmds_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES + +# Define rule to build logging source files from message file +messages: stat_cmds_messages.h stat_cmds_messages.cc + @echo Message files regenerated + +stat_cmds_messages.h stat_cmds_messages.cc: stat_cmds_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/stat_cmds/stat_cmds_messages.mes + +else + +messages stat_cmds_messages.h stat_cmds_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it. + +endif + diff --git a/src/hooks/dhcp/stat_cmds/stat_cmds_messages.cc b/src/hooks/dhcp/stat_cmds/stat_cmds_messages.cc new file mode 100644 index 0000000000..fcf774d16f --- /dev/null +++ b/src/hooks/dhcp/stat_cmds/stat_cmds_messages.cc @@ -0,0 +1,41 @@ +// File created from ../../../../src/hooks/dhcp/stat_cmds/stat_cmds_messages.mes on Fri Feb 08 2019 20:34 + +#include +#include +#include + +extern const isc::log::MessageID STAT_CMDS_DEINIT_FAILED = "STAT_CMDS_DEINIT_FAILED"; +extern const isc::log::MessageID STAT_CMDS_DEINIT_OK = "STAT_CMDS_DEINIT_OK"; +extern const isc::log::MessageID STAT_CMDS_INIT_FAILED = "STAT_CMDS_INIT_FAILED"; +extern const isc::log::MessageID STAT_CMDS_INIT_OK = "STAT_CMDS_INIT_OK"; +extern const isc::log::MessageID STAT_CMDS_LEASE4_GET = "STAT_CMDS_LEASE4_GET"; +extern const isc::log::MessageID STAT_CMDS_LEASE4_GET_FAILED = "STAT_CMDS_LEASE4_GET_FAILED"; +extern const isc::log::MessageID STAT_CMDS_LEASE4_GET_INVALID = "STAT_CMDS_LEASE4_GET_INVALID"; +extern const isc::log::MessageID STAT_CMDS_LEASE4_GET_NO_SUBNETS = "STAT_CMDS_LEASE4_GET_NO_SUBNETS"; +extern const isc::log::MessageID STAT_CMDS_LEASE6_GET = "STAT_CMDS_LEASE6_GET"; +extern const isc::log::MessageID STAT_CMDS_LEASE6_GET_FAILED = "STAT_CMDS_LEASE6_GET_FAILED"; +extern const isc::log::MessageID STAT_CMDS_LEASE6_GET_INVALID = "STAT_CMDS_LEASE6_GET_INVALID"; +extern const isc::log::MessageID STAT_CMDS_LEASE6_GET_NO_SUBNETS = "STAT_CMDS_LEASE6_GET_NO_SUBNETS"; + +namespace { + +const char* values[] = { + "STAT_CMDS_DEINIT_FAILED", "unloading Stat Commands hooks library failed: %1", + "STAT_CMDS_DEINIT_OK", "unloading Stat Commands hooks library successful", + "STAT_CMDS_INIT_FAILED", "loading Stat Commands hooks library failed: %1", + "STAT_CMDS_INIT_OK", "loading Stat Commands hooks library successful", + "STAT_CMDS_LEASE4_GET", "stat-lease4-get command successful, parameters: %1 rows found: %2", + "STAT_CMDS_LEASE4_GET_FAILED", "stat-lease4-get command failed: parameters: %1, reason: %2", + "STAT_CMDS_LEASE4_GET_INVALID", "stat-lease4-get command is malformed or invalid, reason: %1", + "STAT_CMDS_LEASE4_GET_NO_SUBNETS", "stat-lease4-get, parameters: %1, %2\"", + "STAT_CMDS_LEASE6_GET", "stat-lease6-get command successful, parameters: %1 rows found: %2", + "STAT_CMDS_LEASE6_GET_FAILED", "stat-lease4-get command failed: parameters: %1, reason: %2", + "STAT_CMDS_LEASE6_GET_INVALID", "stat-lease6-get command is malformed or invalid, reason: %1", + "STAT_CMDS_LEASE6_GET_NO_SUBNETS", "stat-lease6-get, parameters: %1, %2\"", + NULL +}; + +const isc::log::MessageInitializer initializer(values); + +} // Anonymous namespace + diff --git a/src/hooks/dhcp/stat_cmds/stat_cmds_messages.h b/src/hooks/dhcp/stat_cmds/stat_cmds_messages.h new file mode 100644 index 0000000000..9748d49c99 --- /dev/null +++ b/src/hooks/dhcp/stat_cmds/stat_cmds_messages.h @@ -0,0 +1,21 @@ +// File created from ../../../../src/hooks/dhcp/stat_cmds/stat_cmds_messages.mes on Fri Feb 08 2019 20:34 + +#ifndef STAT_CMDS_MESSAGES_H +#define STAT_CMDS_MESSAGES_H + +#include + +extern const isc::log::MessageID STAT_CMDS_DEINIT_FAILED; +extern const isc::log::MessageID STAT_CMDS_DEINIT_OK; +extern const isc::log::MessageID STAT_CMDS_INIT_FAILED; +extern const isc::log::MessageID STAT_CMDS_INIT_OK; +extern const isc::log::MessageID STAT_CMDS_LEASE4_GET; +extern const isc::log::MessageID STAT_CMDS_LEASE4_GET_FAILED; +extern const isc::log::MessageID STAT_CMDS_LEASE4_GET_INVALID; +extern const isc::log::MessageID STAT_CMDS_LEASE4_GET_NO_SUBNETS; +extern const isc::log::MessageID STAT_CMDS_LEASE6_GET; +extern const isc::log::MessageID STAT_CMDS_LEASE6_GET_FAILED; +extern const isc::log::MessageID STAT_CMDS_LEASE6_GET_INVALID; +extern const isc::log::MessageID STAT_CMDS_LEASE6_GET_NO_SUBNETS; + +#endif // STAT_CMDS_MESSAGES_H diff --git a/src/hooks/dhcp/user_chk/.gitignore b/src/hooks/dhcp/user_chk/.gitignore deleted file mode 100644 index 76bf339e04..0000000000 --- a/src/hooks/dhcp/user_chk/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/user_chk_messages.cc -/user_chk_messages.h -/s-messages diff --git a/src/hooks/dhcp/user_chk/Makefile.am b/src/hooks/dhcp/user_chk/Makefile.am index 41ad7b2e3c..c6059fe47d 100644 --- a/src/hooks/dhcp/user_chk/Makefile.am +++ b/src/hooks/dhcp/user_chk/Makefile.am @@ -4,22 +4,11 @@ AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib AM_CPPFLAGS += $(BOOST_INCLUDES) AM_CXXFLAGS = $(KEA_CXXFLAGS) -# Define rule to build logging source files from message file -user_chk_messages.h user_chk_messages.cc: s-messages -s-messages: user_chk_messages.mes - $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/hooks/dhcp/user_chk/user_chk_messages.mes - touch $@ - -# Tell automake that the message files are built as part of the build process -# (so that they are built before the main library is built). -BUILT_SOURCES = user_chk_messages.h user_chk_messages.cc - EXTRA_DIST = libdhcp_user_chk.dox # Ensure that the message file is included in the distribution EXTRA_DIST += user_chk_messages.mes -# Get rid of generated message files on a clean -CLEANFILES = *.gcno *.gcda user_chk_messages.h user_chk_messages.cc s-messages +CLEANFILES = *.gcno *.gcda # convenience archive @@ -33,13 +22,12 @@ libduc_la_SOURCES += subnet_select_co.cc libduc_la_SOURCES += user.cc user.h libduc_la_SOURCES += user_chk.h libduc_la_SOURCES += user_chk_log.cc user_chk_log.h +libduc_la_SOURCES += user_chk_messages.cc user_chk_messages.h libduc_la_SOURCES += user_data_source.h libduc_la_SOURCES += user_file.cc user_file.h libduc_la_SOURCES += user_registry.cc user_registry.h libduc_la_SOURCES += version.cc -nodist_libduc_la_SOURCES = user_chk_messages.cc user_chk_messages.h - libduc_la_CXXFLAGS = $(AM_CXXFLAGS) libduc_la_CPPFLAGS = $(AM_CPPFLAGS) @@ -58,3 +46,37 @@ libdhcp_user_chk_la_LIBADD += $(top_builddir)/src/lib/util/threads/libkea-threa libdhcp_user_chk_la_LIBADD += $(top_builddir)/src/lib/util/libkea-util.la libdhcp_user_chk_la_LIBADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la libdhcp_user_chk_la_LIBADD += $(LOG4CPLUS_LIBS) + +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f user_chk_messages.h user_chk_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES + +# Define rule to build logging source files from message file +messages: user_chk_messages.h user_chk_messages.cc + @echo Message files regenerated + +user_chk_messages.h user_chk_messages.cc: user_chk_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/user_chk/user_chk_messages.mes + +else + +messages user_chk_messages.h user_chk_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it. + +endif + diff --git a/src/hooks/dhcp/user_chk/user_chk_messages.cc b/src/hooks/dhcp/user_chk/user_chk_messages.cc new file mode 100644 index 0000000000..8a4c289de2 --- /dev/null +++ b/src/hooks/dhcp/user_chk/user_chk_messages.cc @@ -0,0 +1,29 @@ +// File created from ../../../../src/hooks/dhcp/user_chk/user_chk_messages.mes on Fri Feb 08 2019 20:34 + +#include +#include +#include + +extern const isc::log::MessageID USER_CHK_HOOK_LOAD_ERROR = "USER_CHK_HOOK_LOAD_ERROR"; +extern const isc::log::MessageID USER_CHK_HOOK_UNLOAD_ERROR = "USER_CHK_HOOK_UNLOAD_ERROR"; +extern const isc::log::MessageID USER_CHK_SUBNET4_SELECT_ERROR = "USER_CHK_SUBNET4_SELECT_ERROR"; +extern const isc::log::MessageID USER_CHK_SUBNET4_SELECT_REGISTRY_NULL = "USER_CHK_SUBNET4_SELECT_REGISTRY_NULL"; +extern const isc::log::MessageID USER_CHK_SUBNET6_SELECT_ERROR = "USER_CHK_SUBNET6_SELECT_ERROR"; +extern const isc::log::MessageID USER_CHK_SUBNET6_SELECT_REGISTRY_NULL = "USER_CHK_SUBNET6_SELECT_REGISTRY_NULL"; + +namespace { + +const char* values[] = { + "USER_CHK_HOOK_LOAD_ERROR", "DHCP UserCheckHook could not be loaded: %1", + "USER_CHK_HOOK_UNLOAD_ERROR", "DHCP UserCheckHook an error occurred unloading the library: %1", + "USER_CHK_SUBNET4_SELECT_ERROR", "DHCP UserCheckHook an unexpected error occurred in subnet4_select callout: %1", + "USER_CHK_SUBNET4_SELECT_REGISTRY_NULL", "DHCP UserCheckHook UserRegistry has not been created.", + "USER_CHK_SUBNET6_SELECT_ERROR", "DHCP UserCheckHook an unexpected error occurred in subnet6_select callout: %1", + "USER_CHK_SUBNET6_SELECT_REGISTRY_NULL", "DHCP UserCheckHook UserRegistry has not been created.", + NULL +}; + +const isc::log::MessageInitializer initializer(values); + +} // Anonymous namespace + diff --git a/src/hooks/dhcp/user_chk/user_chk_messages.h b/src/hooks/dhcp/user_chk/user_chk_messages.h new file mode 100644 index 0000000000..a7292bf9df --- /dev/null +++ b/src/hooks/dhcp/user_chk/user_chk_messages.h @@ -0,0 +1,15 @@ +// File created from ../../../../src/hooks/dhcp/user_chk/user_chk_messages.mes on Fri Feb 08 2019 20:34 + +#ifndef USER_CHK_MESSAGES_H +#define USER_CHK_MESSAGES_H + +#include + +extern const isc::log::MessageID USER_CHK_HOOK_LOAD_ERROR; +extern const isc::log::MessageID USER_CHK_HOOK_UNLOAD_ERROR; +extern const isc::log::MessageID USER_CHK_SUBNET4_SELECT_ERROR; +extern const isc::log::MessageID USER_CHK_SUBNET4_SELECT_REGISTRY_NULL; +extern const isc::log::MessageID USER_CHK_SUBNET6_SELECT_ERROR; +extern const isc::log::MessageID USER_CHK_SUBNET6_SELECT_REGISTRY_NULL; + +#endif // USER_CHK_MESSAGES_H diff --git a/src/lib/asiodns/.gitignore b/src/lib/asiodns/.gitignore deleted file mode 100644 index 189824e16d..0000000000 --- a/src/lib/asiodns/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/asiodns_messages.cc -/asiodns_messages.h -/s-messages diff --git a/src/lib/asiodns/Makefile.am b/src/lib/asiodns/Makefile.am index 89ff0876e6..ec24739475 100644 --- a/src/lib/asiodns/Makefile.am +++ b/src/lib/asiodns/Makefile.am @@ -5,16 +5,7 @@ AM_CPPFLAGS += $(BOOST_INCLUDES) AM_CXXFLAGS = $(KEA_CXXFLAGS) -CLEANFILES = *.gcno *.gcda asiodns_messages.h asiodns_messages.cc s-messages - -# Define rule to build logging source files from message file -asiodns_messages.h asiodns_messages.cc: s-messages - -s-messages: asiodns_messages.mes - $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/asiodns/asiodns_messages.mes - touch $@ - -BUILT_SOURCES = asiodns_messages.h asiodns_messages.cc +CLEANFILES = *.gcno *.gcda lib_LTLIBRARIES = libkea-asiodns.la @@ -22,8 +13,7 @@ libkea_asiodns_la_LDFLAGS = -no-undefined -version-info 0:2:0 libkea_asiodns_la_SOURCES = io_fetch.cc io_fetch.h libkea_asiodns_la_SOURCES += logger.h logger.cc - -nodist_libkea_asiodns_la_SOURCES = asiodns_messages.cc asiodns_messages.h +libkea_asiodns_la_SOURCES += asiodns_messages.cc asiodns_messages.h EXTRA_DIST = asiodns_messages.mes @@ -41,9 +31,43 @@ libkea_asiodns_la_LIBADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions libkea_asiodns_la_LIBADD += $(BOOST_LIBS) libkea_asiodns_la_LIBADD += $(LOG4CPLUS_LIBS) +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f asiodns_messages.h asiodns_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES + +# Define rule to build logging source files from message file +messages: asiodns_messages.h asiodns_messages.cc + @echo Message files regenerated + +asiodns_messages.h asiodns_messages.cc: asiodns_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/asiodns/asiodns_messages.mes + +else + +messages asiodns_messages.h asiodns_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it. + +endif + # Specify the headers for copying into the installation directory tree. libkea_asiodns_includedir = $(pkgincludedir)/asiodns libkea_asiodns_include_HEADERS = \ + asiodns_messages.h \ io_fetch.h \ logger.h diff --git a/src/lib/asiodns/asiodns_messages.cc b/src/lib/asiodns/asiodns_messages.cc new file mode 100644 index 0000000000..31b4d99abe --- /dev/null +++ b/src/lib/asiodns/asiodns_messages.cc @@ -0,0 +1,73 @@ +// File created from ../../../src/lib/asiodns/asiodns_messages.mes on Fri Feb 08 2019 20:17 + +#include +#include +#include + +namespace isc { +namespace asiodns { + +extern const isc::log::MessageID ASIODNS_FD_ADD_TCP = "ASIODNS_FD_ADD_TCP"; +extern const isc::log::MessageID ASIODNS_FD_ADD_UDP = "ASIODNS_FD_ADD_UDP"; +extern const isc::log::MessageID ASIODNS_FETCH_COMPLETED = "ASIODNS_FETCH_COMPLETED"; +extern const isc::log::MessageID ASIODNS_FETCH_STOPPED = "ASIODNS_FETCH_STOPPED"; +extern const isc::log::MessageID ASIODNS_OPEN_SOCKET = "ASIODNS_OPEN_SOCKET"; +extern const isc::log::MessageID ASIODNS_READ_DATA = "ASIODNS_READ_DATA"; +extern const isc::log::MessageID ASIODNS_READ_TIMEOUT = "ASIODNS_READ_TIMEOUT"; +extern const isc::log::MessageID ASIODNS_SEND_DATA = "ASIODNS_SEND_DATA"; +extern const isc::log::MessageID ASIODNS_SYNC_UDP_CLOSE_FAIL = "ASIODNS_SYNC_UDP_CLOSE_FAIL"; +extern const isc::log::MessageID ASIODNS_TCP_ACCEPT_FAIL = "ASIODNS_TCP_ACCEPT_FAIL"; +extern const isc::log::MessageID ASIODNS_TCP_CLEANUP_CLOSE_FAIL = "ASIODNS_TCP_CLEANUP_CLOSE_FAIL"; +extern const isc::log::MessageID ASIODNS_TCP_CLOSE_ACCEPTOR_FAIL = "ASIODNS_TCP_CLOSE_ACCEPTOR_FAIL"; +extern const isc::log::MessageID ASIODNS_TCP_CLOSE_FAIL = "ASIODNS_TCP_CLOSE_FAIL"; +extern const isc::log::MessageID ASIODNS_TCP_CLOSE_NORESP_FAIL = "ASIODNS_TCP_CLOSE_NORESP_FAIL"; +extern const isc::log::MessageID ASIODNS_TCP_GETREMOTE_FAIL = "ASIODNS_TCP_GETREMOTE_FAIL"; +extern const isc::log::MessageID ASIODNS_TCP_READDATA_FAIL = "ASIODNS_TCP_READDATA_FAIL"; +extern const isc::log::MessageID ASIODNS_TCP_READLEN_FAIL = "ASIODNS_TCP_READLEN_FAIL"; +extern const isc::log::MessageID ASIODNS_TCP_WRITE_FAIL = "ASIODNS_TCP_WRITE_FAIL"; +extern const isc::log::MessageID ASIODNS_UDP_ASYNC_SEND_FAIL = "ASIODNS_UDP_ASYNC_SEND_FAIL"; +extern const isc::log::MessageID ASIODNS_UDP_CLOSE_FAIL = "ASIODNS_UDP_CLOSE_FAIL"; +extern const isc::log::MessageID ASIODNS_UDP_RECEIVE_FAIL = "ASIODNS_UDP_RECEIVE_FAIL"; +extern const isc::log::MessageID ASIODNS_UDP_SYNC_RECEIVE_FAIL = "ASIODNS_UDP_SYNC_RECEIVE_FAIL"; +extern const isc::log::MessageID ASIODNS_UDP_SYNC_SEND_FAIL = "ASIODNS_UDP_SYNC_SEND_FAIL"; +extern const isc::log::MessageID ASIODNS_UNKNOWN_ORIGIN = "ASIODNS_UNKNOWN_ORIGIN"; +extern const isc::log::MessageID ASIODNS_UNKNOWN_RESULT = "ASIODNS_UNKNOWN_RESULT"; + +} // namespace asiodns +} // namespace isc + +namespace { + +const char* values[] = { + "ASIODNS_FD_ADD_TCP", "adding a new TCP server by opened fd %1", + "ASIODNS_FD_ADD_UDP", "adding a new UDP server by opened fd %1", + "ASIODNS_FETCH_COMPLETED", "upstream fetch to %1(%2) has now completed", + "ASIODNS_FETCH_STOPPED", "upstream fetch to %1(%2) has been stopped", + "ASIODNS_OPEN_SOCKET", "error %1 opening %2 socket to %3(%4)", + "ASIODNS_READ_DATA", "error %1 reading %2 data from %3(%4)", + "ASIODNS_READ_TIMEOUT", "receive timeout while waiting for data from %1(%2)", + "ASIODNS_SEND_DATA", "error %1 sending data using %2 to %3(%4)", + "ASIODNS_SYNC_UDP_CLOSE_FAIL", "failed to close a DNS/UDP socket: %1", + "ASIODNS_TCP_ACCEPT_FAIL", "failed to accept TCP DNS connection: %1", + "ASIODNS_TCP_CLEANUP_CLOSE_FAIL", "failed to close a DNS/TCP socket on port cleanup: %1", + "ASIODNS_TCP_CLOSE_ACCEPTOR_FAIL", "failed to close listening TCP socket: %1", + "ASIODNS_TCP_CLOSE_FAIL", "failed to close DNS/TCP socket with a client: %1", + "ASIODNS_TCP_CLOSE_NORESP_FAIL", "failed to close DNS/TCP socket with a client: %1", + "ASIODNS_TCP_GETREMOTE_FAIL", "failed to get remote address of a DNS TCP connection: %1", + "ASIODNS_TCP_READDATA_FAIL", "failed to get DNS data on a TCP socket: %1", + "ASIODNS_TCP_READLEN_FAIL", "failed to get DNS data length on a TCP socket: %1", + "ASIODNS_TCP_WRITE_FAIL", "failed to send DNS message over a TCP socket: %1", + "ASIODNS_UDP_ASYNC_SEND_FAIL", "Error sending UDP packet to %1: %2", + "ASIODNS_UDP_CLOSE_FAIL", "failed to close a DNS/UDP socket: %1", + "ASIODNS_UDP_RECEIVE_FAIL", "failed to receive UDP DNS packet: %1", + "ASIODNS_UDP_SYNC_RECEIVE_FAIL", "failed to receive UDP DNS packet: %1", + "ASIODNS_UDP_SYNC_SEND_FAIL", "Error sending UDP packet to %1: %2", + "ASIODNS_UNKNOWN_ORIGIN", "unknown origin for ASIO error code %1 (protocol: %2, address %3)", + "ASIODNS_UNKNOWN_RESULT", "unknown result (%1) when IOFetch::stop() was executed for I/O to %2(%3)", + NULL +}; + +const isc::log::MessageInitializer initializer(values); + +} // Anonymous namespace + diff --git a/src/lib/asiodns/asiodns_messages.h b/src/lib/asiodns/asiodns_messages.h new file mode 100644 index 0000000000..93f1188dc0 --- /dev/null +++ b/src/lib/asiodns/asiodns_messages.h @@ -0,0 +1,40 @@ +// File created from ../../../src/lib/asiodns/asiodns_messages.mes on Fri Feb 08 2019 20:17 + +#ifndef ASIODNS_MESSAGES_H +#define ASIODNS_MESSAGES_H + +#include + +namespace isc { +namespace asiodns { + +extern const isc::log::MessageID ASIODNS_FD_ADD_TCP; +extern const isc::log::MessageID ASIODNS_FD_ADD_UDP; +extern const isc::log::MessageID ASIODNS_FETCH_COMPLETED; +extern const isc::log::MessageID ASIODNS_FETCH_STOPPED; +extern const isc::log::MessageID ASIODNS_OPEN_SOCKET; +extern const isc::log::MessageID ASIODNS_READ_DATA; +extern const isc::log::MessageID ASIODNS_READ_TIMEOUT; +extern const isc::log::MessageID ASIODNS_SEND_DATA; +extern const isc::log::MessageID ASIODNS_SYNC_UDP_CLOSE_FAIL; +extern const isc::log::MessageID ASIODNS_TCP_ACCEPT_FAIL; +extern const isc::log::MessageID ASIODNS_TCP_CLEANUP_CLOSE_FAIL; +extern const isc::log::MessageID ASIODNS_TCP_CLOSE_ACCEPTOR_FAIL; +extern const isc::log::MessageID ASIODNS_TCP_CLOSE_FAIL; +extern const isc::log::MessageID ASIODNS_TCP_CLOSE_NORESP_FAIL; +extern const isc::log::MessageID ASIODNS_TCP_GETREMOTE_FAIL; +extern const isc::log::MessageID ASIODNS_TCP_READDATA_FAIL; +extern const isc::log::MessageID ASIODNS_TCP_READLEN_FAIL; +extern const isc::log::MessageID ASIODNS_TCP_WRITE_FAIL; +extern const isc::log::MessageID ASIODNS_UDP_ASYNC_SEND_FAIL; +extern const isc::log::MessageID ASIODNS_UDP_CLOSE_FAIL; +extern const isc::log::MessageID ASIODNS_UDP_RECEIVE_FAIL; +extern const isc::log::MessageID ASIODNS_UDP_SYNC_RECEIVE_FAIL; +extern const isc::log::MessageID ASIODNS_UDP_SYNC_SEND_FAIL; +extern const isc::log::MessageID ASIODNS_UNKNOWN_ORIGIN; +extern const isc::log::MessageID ASIODNS_UNKNOWN_RESULT; + +} // namespace asiodns +} // namespace isc + +#endif // ASIODNS_MESSAGES_H diff --git a/src/lib/config/.gitignore b/src/lib/config/.gitignore deleted file mode 100644 index d666f2469a..0000000000 --- a/src/lib/config/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/config_messages.cc -/config_messages.h -/s-messages diff --git a/src/lib/config/Makefile.am b/src/lib/config/Makefile.am index 4373321fe9..2cc7149fb1 100644 --- a/src/lib/config/Makefile.am +++ b/src/lib/config/Makefile.am @@ -5,21 +5,13 @@ AM_CPPFLAGS += $(BOOST_INCLUDES) AM_CXXFLAGS = $(KEA_CXXFLAGS) -# Define rule to build logging source files from message file -config_messages.h config_messages.cc: s-messages - -s-messages: config_messages.mes - $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/config/config_messages.mes - touch $@ - -BUILT_SOURCES = config_messages.h config_messages.cc - lib_LTLIBRARIES = libkea-cfgclient.la libkea_cfgclient_la_SOURCES = cmds_impl.h libkea_cfgclient_la_SOURCES += base_command_mgr.cc base_command_mgr.h libkea_cfgclient_la_SOURCES += client_connection.cc client_connection.h libkea_cfgclient_la_SOURCES += command_mgr.cc command_mgr.h libkea_cfgclient_la_SOURCES += config_log.h config_log.cc +libkea_cfgclient_la_SOURCES += config_messages.h config_messages.cc libkea_cfgclient_la_SOURCES += hooked_command_mgr.cc hooked_command_mgr.h libkea_cfgclient_la_SOURCES += timeouts.h @@ -38,12 +30,43 @@ libkea_cfgclient_la_LIBADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS) libkea_cfgclient_la_LDFLAGS = -no-undefined -version-info 6:0:0 libkea_cfgclient_la_LDFLAGS += $(CRYPTO_LDFLAGS) -nodist_libkea_cfgclient_la_SOURCES = config_messages.h config_messages.cc - # The message file should be in the distribution. EXTRA_DIST = config_messages.mes command-socket.dox -CLEANFILES = *.gcno *.gcda config_messages.h config_messages.cc s-messages +CLEANFILES = *.gcno *.gcda + +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f config_messages.h config_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES + +# Define rule to build logging source files from message file +messages: config_messages.h config_messages.cc + @echo Message files regenerated + +config_messages.h config_messages.cc: config_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/config/config_messages.mes + +else + +messages config_messages.h config_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it. + +endif # Specify the headers for copying into the installation directory tree. libkea_cfgclient_includedir = $(pkgincludedir)/config @@ -53,6 +76,7 @@ libkea_cfgclient_include_HEADERS = \ cmds_impl.h \ command_mgr.h \ config_log.h \ + config_messages.h \ hooked_command_mgr.h \ timeouts.h diff --git a/src/lib/config/config_messages.cc b/src/lib/config/config_messages.cc new file mode 100644 index 0000000000..185ee586d6 --- /dev/null +++ b/src/lib/config/config_messages.cc @@ -0,0 +1,69 @@ +// File created from ../../../src/lib/config/config_messages.mes on Fri Feb 08 2019 20:16 + +#include +#include +#include + +namespace isc { +namespace config { + +extern const isc::log::MessageID COMMAND_ACCEPTOR_START = "COMMAND_ACCEPTOR_START"; +extern const isc::log::MessageID COMMAND_DEREGISTERED = "COMMAND_DEREGISTERED"; +extern const isc::log::MessageID COMMAND_EXTENDED_REGISTERED = "COMMAND_EXTENDED_REGISTERED"; +extern const isc::log::MessageID COMMAND_PROCESS_ERROR1 = "COMMAND_PROCESS_ERROR1"; +extern const isc::log::MessageID COMMAND_PROCESS_ERROR2 = "COMMAND_PROCESS_ERROR2"; +extern const isc::log::MessageID COMMAND_RECEIVED = "COMMAND_RECEIVED"; +extern const isc::log::MessageID COMMAND_REGISTERED = "COMMAND_REGISTERED"; +extern const isc::log::MessageID COMMAND_RESPONSE_ERROR = "COMMAND_RESPONSE_ERROR"; +extern const isc::log::MessageID COMMAND_SOCKET_ACCEPT_FAIL = "COMMAND_SOCKET_ACCEPT_FAIL"; +extern const isc::log::MessageID COMMAND_SOCKET_CLOSED_BY_FOREIGN_HOST = "COMMAND_SOCKET_CLOSED_BY_FOREIGN_HOST"; +extern const isc::log::MessageID COMMAND_SOCKET_CONNECTION_CANCEL_FAIL = "COMMAND_SOCKET_CONNECTION_CANCEL_FAIL"; +extern const isc::log::MessageID COMMAND_SOCKET_CONNECTION_CLOSED = "COMMAND_SOCKET_CONNECTION_CLOSED"; +extern const isc::log::MessageID COMMAND_SOCKET_CONNECTION_CLOSE_FAIL = "COMMAND_SOCKET_CONNECTION_CLOSE_FAIL"; +extern const isc::log::MessageID COMMAND_SOCKET_CONNECTION_OPENED = "COMMAND_SOCKET_CONNECTION_OPENED"; +extern const isc::log::MessageID COMMAND_SOCKET_CONNECTION_SHUTDOWN_FAIL = "COMMAND_SOCKET_CONNECTION_SHUTDOWN_FAIL"; +extern const isc::log::MessageID COMMAND_SOCKET_CONNECTION_TIMEOUT = "COMMAND_SOCKET_CONNECTION_TIMEOUT"; +extern const isc::log::MessageID COMMAND_SOCKET_READ = "COMMAND_SOCKET_READ"; +extern const isc::log::MessageID COMMAND_SOCKET_READ_FAIL = "COMMAND_SOCKET_READ_FAIL"; +extern const isc::log::MessageID COMMAND_SOCKET_WRITE = "COMMAND_SOCKET_WRITE"; +extern const isc::log::MessageID COMMAND_SOCKET_WRITE_FAIL = "COMMAND_SOCKET_WRITE_FAIL"; +extern const isc::log::MessageID COMMAND_WATCH_SOCKET_CLEAR_ERROR = "COMMAND_WATCH_SOCKET_CLEAR_ERROR"; +extern const isc::log::MessageID COMMAND_WATCH_SOCKET_CLOSE_ERROR = "COMMAND_WATCH_SOCKET_CLOSE_ERROR"; +extern const isc::log::MessageID COMMAND_WATCH_SOCKET_MARK_READY_ERROR = "COMMAND_WATCH_SOCKET_MARK_READY_ERROR"; + +} // namespace config +} // namespace isc + +namespace { + +const char* values[] = { + "COMMAND_ACCEPTOR_START", "Starting to accept connections via unix domain socket bound to %1", + "COMMAND_DEREGISTERED", "Command %1 deregistered", + "COMMAND_EXTENDED_REGISTERED", "Command %1 registered", + "COMMAND_PROCESS_ERROR1", "Error while processing command: %1", + "COMMAND_PROCESS_ERROR2", "Error while processing command: %1", + "COMMAND_RECEIVED", "Received command '%1'", + "COMMAND_REGISTERED", "Command %1 registered", + "COMMAND_RESPONSE_ERROR", "Server failed to generate response for command: %1", + "COMMAND_SOCKET_ACCEPT_FAIL", "Failed to accept incoming connection on command socket %1: %2", + "COMMAND_SOCKET_CLOSED_BY_FOREIGN_HOST", "Closed command socket %1 by foreign host, %2", + "COMMAND_SOCKET_CONNECTION_CANCEL_FAIL", "Failed to cancel read operation on socket %1: %2", + "COMMAND_SOCKET_CONNECTION_CLOSED", "Closed socket %1 for existing command connection", + "COMMAND_SOCKET_CONNECTION_CLOSE_FAIL", "Failed to close command connection: %1", + "COMMAND_SOCKET_CONNECTION_OPENED", "Opened socket %1 for incoming command connection", + "COMMAND_SOCKET_CONNECTION_SHUTDOWN_FAIL", "Encountered error %1 while trying to gracefully shutdown socket", + "COMMAND_SOCKET_CONNECTION_TIMEOUT", "Timeout occurred for connection over socket %1", + "COMMAND_SOCKET_READ", "Received %1 bytes over command socket %2", + "COMMAND_SOCKET_READ_FAIL", "Encountered error %1 while reading from command socket %2", + "COMMAND_SOCKET_WRITE", "Sent response of %1 bytes (%2 bytes left to send) over command socket %3", + "COMMAND_SOCKET_WRITE_FAIL", "Error while writing to command socket %1 : %2", + "COMMAND_WATCH_SOCKET_CLEAR_ERROR", "watch socket failed to clear: %1", + "COMMAND_WATCH_SOCKET_CLOSE_ERROR", "watch socket failed to close: %1", + "COMMAND_WATCH_SOCKET_MARK_READY_ERROR", "watch socket failed to mark ready: %1", + NULL +}; + +const isc::log::MessageInitializer initializer(values); + +} // Anonymous namespace + diff --git a/src/lib/config/config_messages.h b/src/lib/config/config_messages.h new file mode 100644 index 0000000000..bd7a216bda --- /dev/null +++ b/src/lib/config/config_messages.h @@ -0,0 +1,38 @@ +// File created from ../../../src/lib/config/config_messages.mes on Fri Feb 08 2019 20:16 + +#ifndef CONFIG_MESSAGES_H +#define CONFIG_MESSAGES_H + +#include + +namespace isc { +namespace config { + +extern const isc::log::MessageID COMMAND_ACCEPTOR_START; +extern const isc::log::MessageID COMMAND_DEREGISTERED; +extern const isc::log::MessageID COMMAND_EXTENDED_REGISTERED; +extern const isc::log::MessageID COMMAND_PROCESS_ERROR1; +extern const isc::log::MessageID COMMAND_PROCESS_ERROR2; +extern const isc::log::MessageID COMMAND_RECEIVED; +extern const isc::log::MessageID COMMAND_REGISTERED; +extern const isc::log::MessageID COMMAND_RESPONSE_ERROR; +extern const isc::log::MessageID COMMAND_SOCKET_ACCEPT_FAIL; +extern const isc::log::MessageID COMMAND_SOCKET_CLOSED_BY_FOREIGN_HOST; +extern const isc::log::MessageID COMMAND_SOCKET_CONNECTION_CANCEL_FAIL; +extern const isc::log::MessageID COMMAND_SOCKET_CONNECTION_CLOSED; +extern const isc::log::MessageID COMMAND_SOCKET_CONNECTION_CLOSE_FAIL; +extern const isc::log::MessageID COMMAND_SOCKET_CONNECTION_OPENED; +extern const isc::log::MessageID COMMAND_SOCKET_CONNECTION_SHUTDOWN_FAIL; +extern const isc::log::MessageID COMMAND_SOCKET_CONNECTION_TIMEOUT; +extern const isc::log::MessageID COMMAND_SOCKET_READ; +extern const isc::log::MessageID COMMAND_SOCKET_READ_FAIL; +extern const isc::log::MessageID COMMAND_SOCKET_WRITE; +extern const isc::log::MessageID COMMAND_SOCKET_WRITE_FAIL; +extern const isc::log::MessageID COMMAND_WATCH_SOCKET_CLEAR_ERROR; +extern const isc::log::MessageID COMMAND_WATCH_SOCKET_CLOSE_ERROR; +extern const isc::log::MessageID COMMAND_WATCH_SOCKET_MARK_READY_ERROR; + +} // namespace config +} // namespace isc + +#endif // CONFIG_MESSAGES_H diff --git a/src/lib/database/.gitignore b/src/lib/database/.gitignore deleted file mode 100644 index 1647c12a13..0000000000 --- a/src/lib/database/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/db_messages.cc -/db_messages.h -/s-messages diff --git a/src/lib/database/Makefile.am b/src/lib/database/Makefile.am index b7051cbf7f..bdccab955e 100644 --- a/src/lib/database/Makefile.am +++ b/src/lib/database/Makefile.am @@ -5,22 +5,10 @@ AM_CPPFLAGS += $(BOOST_INCLUDES) AM_CXXFLAGS = $(KEA_CXXFLAGS) -# Define rule to build logging source files from message file -db_messages.h db_messages.cc: s-messages - -s-messages: db_messages.mes - $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/database/db_messages.mes - touch $@ - -# Tell automake that the message files are built as part of the build process -# (so that they are built before the main library is built). -BUILT_SOURCES = db_messages.h db_messages.cc - # Ensure that the message file is included in the distribution EXTRA_DIST = db_messages.mes -# Get rid of generated message files on a clean -CLEANFILES = *.gcno *.gcda db_messages.h db_messages.cc s-messages +CLEANFILES = *.gcno *.gcda lib_LTLIBRARIES = libkea-database.la libkea_database_la_SOURCES = audit_entry.cc audit_entry.h @@ -29,10 +17,9 @@ libkea_database_la_SOURCES += database_connection.cc database_connection.h libkea_database_la_SOURCES += dbaccess_parser.h dbaccess_parser.cc libkea_database_la_SOURCES += db_exceptions.h libkea_database_la_SOURCES += db_log.cc db_log.h +libkea_database_la_SOURCES += db_messages.cc db_messages.h libkea_database_la_SOURCES += server_selector.h -nodist_libkea_database_la_SOURCES = db_messages.cc db_messages.h - libkea_database_la_LIBADD = $(top_builddir)/src/lib/cc/libkea-cc.la libkea_database_la_LIBADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la libkea_database_la_LIBADD += $(top_builddir)/src/lib/log/libkea-log.la @@ -43,6 +30,39 @@ libkea_database_la_LIBADD += $(LOG4CPLUS_LIBS) $(BOOST_LIBS) libkea_database_la_LDFLAGS = -no-undefined -version-info 1:0:0 +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f db_messages.h db_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES + +# Define rule to build logging source files from message file +messages: db_messages.h db_messages.cc + @echo Message files regenerated + +db_messages.h db_messages.cc: db_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/db/db_messages.mes + +else + +messages db_messages.h db_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it. + +endif + # Specify the headers for copying into the installation directory tree. libkea_database_includedir = $(pkgincludedir)/database libkea_database_include_HEADERS = \ @@ -52,4 +72,5 @@ libkea_database_include_HEADERS = \ dbaccess_parser.h \ db_exceptions.h \ db_log.h \ + db_messages.h \ server_selector.h diff --git a/src/lib/database/db_messages.cc b/src/lib/database/db_messages.cc new file mode 100644 index 0000000000..4d434c772d --- /dev/null +++ b/src/lib/database/db_messages.cc @@ -0,0 +1,53 @@ +// File created from ../../../src/lib/database/db_messages.mes on Fri Feb 08 2019 20:16 + +#include +#include +#include + +namespace isc { +namespace db { + +extern const isc::log::MessageID DATABASE_CQL_CONNECTION_BEGIN_TRANSACTION = "DATABASE_CQL_CONNECTION_BEGIN_TRANSACTION"; +extern const isc::log::MessageID DATABASE_CQL_CONNECTION_COMMIT = "DATABASE_CQL_CONNECTION_COMMIT"; +extern const isc::log::MessageID DATABASE_CQL_CONNECTION_ROLLBACK = "DATABASE_CQL_CONNECTION_ROLLBACK"; +extern const isc::log::MessageID DATABASE_CQL_DEALLOC_ERROR = "DATABASE_CQL_DEALLOC_ERROR"; +extern const isc::log::MessageID DATABASE_INVALID_ACCESS = "DATABASE_INVALID_ACCESS"; +extern const isc::log::MessageID DATABASE_MYSQL_COMMIT = "DATABASE_MYSQL_COMMIT"; +extern const isc::log::MessageID DATABASE_MYSQL_FATAL_ERROR = "DATABASE_MYSQL_FATAL_ERROR"; +extern const isc::log::MessageID DATABASE_MYSQL_ROLLBACK = "DATABASE_MYSQL_ROLLBACK"; +extern const isc::log::MessageID DATABASE_MYSQL_START_TRANSACTION = "DATABASE_MYSQL_START_TRANSACTION"; +extern const isc::log::MessageID DATABASE_PGSQL_COMMIT = "DATABASE_PGSQL_COMMIT"; +extern const isc::log::MessageID DATABASE_PGSQL_DEALLOC_ERROR = "DATABASE_PGSQL_DEALLOC_ERROR"; +extern const isc::log::MessageID DATABASE_PGSQL_FATAL_ERROR = "DATABASE_PGSQL_FATAL_ERROR"; +extern const isc::log::MessageID DATABASE_PGSQL_ROLLBACK = "DATABASE_PGSQL_ROLLBACK"; +extern const isc::log::MessageID DATABASE_PGSQL_START_TRANSACTION = "DATABASE_PGSQL_START_TRANSACTION"; +extern const isc::log::MessageID DATABASE_TO_JSON_ERROR = "DATABASE_TO_JSON_ERROR"; + +} // namespace db +} // namespace isc + +namespace { + +const char* values[] = { + "DATABASE_CQL_CONNECTION_BEGIN_TRANSACTION", "begin transaction on current connection.", + "DATABASE_CQL_CONNECTION_COMMIT", "committing to Cassandra database on current connection.", + "DATABASE_CQL_CONNECTION_ROLLBACK", "rolling back Cassandra database on current connection.", + "DATABASE_CQL_DEALLOC_ERROR", "An error occurred while closing the CQL connection: %1", + "DATABASE_INVALID_ACCESS", "invalid database access string: %1", + "DATABASE_MYSQL_COMMIT", "committing to MySQL database", + "DATABASE_MYSQL_FATAL_ERROR", "Unrecoverable MySQL error occurred: %1 for <%2>, reason: %3 (error code: %4).", + "DATABASE_MYSQL_ROLLBACK", "rolling back MySQL database", + "DATABASE_MYSQL_START_TRANSACTION", "starting new MySQL transaction", + "DATABASE_PGSQL_COMMIT", "committing to PostgreSQL database", + "DATABASE_PGSQL_DEALLOC_ERROR", "An error occurred deallocating SQL statements while closing the PostgreSQL lease database: %1", + "DATABASE_PGSQL_FATAL_ERROR", "Unrecoverable PostgreSQL error occurred: Statement: <%1>, reason: %2 (error code: %3).", + "DATABASE_PGSQL_ROLLBACK", "rolling back PostgreSQL database", + "DATABASE_PGSQL_START_TRANSACTION", "starting a new PostgreSQL transaction", + "DATABASE_TO_JSON_ERROR", "Internal logic error: uknown %1 element found in state: %2", + NULL +}; + +const isc::log::MessageInitializer initializer(values); + +} // Anonymous namespace + diff --git a/src/lib/database/db_messages.h b/src/lib/database/db_messages.h new file mode 100644 index 0000000000..bd0fd8dc24 --- /dev/null +++ b/src/lib/database/db_messages.h @@ -0,0 +1,30 @@ +// File created from ../../../src/lib/database/db_messages.mes on Fri Feb 08 2019 20:16 + +#ifndef DB_MESSAGES_H +#define DB_MESSAGES_H + +#include + +namespace isc { +namespace db { + +extern const isc::log::MessageID DATABASE_CQL_CONNECTION_BEGIN_TRANSACTION; +extern const isc::log::MessageID DATABASE_CQL_CONNECTION_COMMIT; +extern const isc::log::MessageID DATABASE_CQL_CONNECTION_ROLLBACK; +extern const isc::log::MessageID DATABASE_CQL_DEALLOC_ERROR; +extern const isc::log::MessageID DATABASE_INVALID_ACCESS; +extern const isc::log::MessageID DATABASE_MYSQL_COMMIT; +extern const isc::log::MessageID DATABASE_MYSQL_FATAL_ERROR; +extern const isc::log::MessageID DATABASE_MYSQL_ROLLBACK; +extern const isc::log::MessageID DATABASE_MYSQL_START_TRANSACTION; +extern const isc::log::MessageID DATABASE_PGSQL_COMMIT; +extern const isc::log::MessageID DATABASE_PGSQL_DEALLOC_ERROR; +extern const isc::log::MessageID DATABASE_PGSQL_FATAL_ERROR; +extern const isc::log::MessageID DATABASE_PGSQL_ROLLBACK; +extern const isc::log::MessageID DATABASE_PGSQL_START_TRANSACTION; +extern const isc::log::MessageID DATABASE_TO_JSON_ERROR; + +} // namespace db +} // namespace isc + +#endif // DB_MESSAGES_H diff --git a/src/lib/dhcp_ddns/.gitignore b/src/lib/dhcp_ddns/.gitignore deleted file mode 100644 index c632c2e100..0000000000 --- a/src/lib/dhcp_ddns/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/dhcp_ddns_messages.cc -/dhcp_ddns_messages.h -/s-messages diff --git a/src/lib/dhcp_ddns/Makefile.am b/src/lib/dhcp_ddns/Makefile.am index 7e59d465e8..53dc06e062 100644 --- a/src/lib/dhcp_ddns/Makefile.am +++ b/src/lib/dhcp_ddns/Makefile.am @@ -4,32 +4,19 @@ AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib AM_CPPFLAGS += $(BOOST_INCLUDES) AM_CXXFLAGS = $(KEA_CXXFLAGS) -# Define rule to build logging source files from message file -dhcp_ddns_messages.h dhcp_ddns_messages.cc: s-messages - -s-messages: dhcp_ddns_messages.mes - $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/dhcp_ddns/dhcp_ddns_messages.mes - touch $@ - -# Tell automake that the message files are built as part of the build process -# (so that they are built before the main library is built). -BUILT_SOURCES = dhcp_ddns_messages.h dhcp_ddns_messages.cc - # Ensure that the message file is included in the distribution EXTRA_DIST = dhcp_ddns_messages.mes libdhcp_ddns.dox -# Get rid of generated message files on a clean -CLEANFILES = *.gcno *.gcda dhcp_ddns_messages.h dhcp_ddns_messages.cc s-messages +CLEANFILES = *.gcno *.gcda lib_LTLIBRARIES = libkea-dhcp_ddns.la libkea_dhcp_ddns_la_SOURCES = libkea_dhcp_ddns_la_SOURCES += dhcp_ddns_log.cc dhcp_ddns_log.h +libkea_dhcp_ddns_la_SOURCES += dhcp_ddns_messages.cc dhcp_ddns_messages.h libkea_dhcp_ddns_la_SOURCES += ncr_io.cc ncr_io.h libkea_dhcp_ddns_la_SOURCES += ncr_msg.cc ncr_msg.h libkea_dhcp_ddns_la_SOURCES += ncr_udp.cc ncr_udp.h -nodist_libkea_dhcp_ddns_la_SOURCES = dhcp_ddns_messages.cc dhcp_ddns_messages.h - libkea_dhcp_ddns_la_CXXFLAGS = $(AM_CXXFLAGS) libkea_dhcp_ddns_la_CPPFLAGS = $(AM_CPPFLAGS) libkea_dhcp_ddns_la_LDFLAGS = $(AM_LDFLAGS) @@ -50,10 +37,44 @@ libkea_dhcp_ddns_la_LIBADD += $(top_builddir)/src/lib/util/libkea-util.la libkea_dhcp_ddns_la_LIBADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la libkea_dhcp_ddns_la_LIBADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS) +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f dhcp_ddns_messages.h dhcp_ddns_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES + +# Define rule to build logging source files from message file +messages: dhcp_ddns_messages.h dhcp_ddns_messages.cc + @echo Message files regenerated + +dhcp_ddns_messages.h dhcp_ddns_messages.cc: dhcp_ddns_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/dhcp_ddns/dhcp_ddns_messages.mes + +else + +messages dhcp_ddns_messages.h dhcp_ddns_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it. + +endif + # Specify the headers for copying into the installation directory tree. libkea_dhcp_ddns_includedir = $(pkgincludedir)/dhcp_ddns libkea_dhcp_ddns_include_HEADERS = \ dhcp_ddns_log.h \ + dhcp_ddns_messages.h \ ncr_io.h \ ncr_msg.h \ ncr_udp.h diff --git a/src/lib/dhcp_ddns/dhcp_ddns_messages.cc b/src/lib/dhcp_ddns/dhcp_ddns_messages.cc new file mode 100644 index 0000000000..a2c06641f6 --- /dev/null +++ b/src/lib/dhcp_ddns/dhcp_ddns_messages.cc @@ -0,0 +1,51 @@ +// File created from ../../../src/lib/dhcp_ddns/dhcp_ddns_messages.mes on Fri Feb 08 2019 20:17 + +#include +#include +#include + +namespace isc { +namespace dhcp_ddns { + +extern const isc::log::MessageID DHCP_DDNS_INVALID_NCR = "DHCP_DDNS_INVALID_NCR"; +extern const isc::log::MessageID DHCP_DDNS_NCR_FLUSH_IO_ERROR = "DHCP_DDNS_NCR_FLUSH_IO_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_NCR_LISTEN_CLOSE_ERROR = "DHCP_DDNS_NCR_LISTEN_CLOSE_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_NCR_RECV_NEXT_ERROR = "DHCP_DDNS_NCR_RECV_NEXT_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_NCR_SEND_CLOSE_ERROR = "DHCP_DDNS_NCR_SEND_CLOSE_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_NCR_SEND_NEXT_ERROR = "DHCP_DDNS_NCR_SEND_NEXT_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_NCR_UDP_CLEAR_READY_ERROR = "DHCP_DDNS_NCR_UDP_CLEAR_READY_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_NCR_UDP_RECV_CANCELED = "DHCP_DDNS_NCR_UDP_RECV_CANCELED"; +extern const isc::log::MessageID DHCP_DDNS_NCR_UDP_RECV_ERROR = "DHCP_DDNS_NCR_UDP_RECV_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_NCR_UDP_SEND_CANCELED = "DHCP_DDNS_NCR_UDP_SEND_CANCELED"; +extern const isc::log::MessageID DHCP_DDNS_NCR_UDP_SEND_ERROR = "DHCP_DDNS_NCR_UDP_SEND_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_UDP_SENDER_WATCH_SOCKET_CLOSE_ERROR = "DHCP_DDNS_UDP_SENDER_WATCH_SOCKET_CLOSE_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_UNCAUGHT_NCR_RECV_HANDLER_ERROR = "DHCP_DDNS_UNCAUGHT_NCR_RECV_HANDLER_ERROR"; +extern const isc::log::MessageID DHCP_DDNS_UNCAUGHT_NCR_SEND_HANDLER_ERROR = "DHCP_DDNS_UNCAUGHT_NCR_SEND_HANDLER_ERROR"; + +} // namespace dhcp_ddns +} // namespace isc + +namespace { + +const char* values[] = { + "DHCP_DDNS_INVALID_NCR", "application received an invalid DNS update request: %1", + "DHCP_DDNS_NCR_FLUSH_IO_ERROR", "DHCP-DDNS Last send before stopping did not complete successfully: %1", + "DHCP_DDNS_NCR_LISTEN_CLOSE_ERROR", "application encountered an error while closing the listener used to receive NameChangeRequests : %1", + "DHCP_DDNS_NCR_RECV_NEXT_ERROR", "application could not initiate the next read following a request receive.", + "DHCP_DDNS_NCR_SEND_CLOSE_ERROR", "DHCP-DDNS client encountered an error while closing the sender connection used to send NameChangeRequests: %1", + "DHCP_DDNS_NCR_SEND_NEXT_ERROR", "DHCP-DDNS client could not initiate the next request send following send completion: %1", + "DHCP_DDNS_NCR_UDP_CLEAR_READY_ERROR", "NCR UDP watch socket failed to clear: %1", + "DHCP_DDNS_NCR_UDP_RECV_CANCELED", "UDP socket receive was canceled while listening for DNS Update requests", + "DHCP_DDNS_NCR_UDP_RECV_ERROR", "UDP socket receive error while listening for DNS Update requests: %1", + "DHCP_DDNS_NCR_UDP_SEND_CANCELED", "UDP socket send was canceled while sending a DNS Update request to DHCP_DDNS: %1", + "DHCP_DDNS_NCR_UDP_SEND_ERROR", "UDP socket send error while sending a DNS Update request: %1", + "DHCP_DDNS_UDP_SENDER_WATCH_SOCKET_CLOSE_ERROR", "watch socket failed to close: %1", + "DHCP_DDNS_UNCAUGHT_NCR_RECV_HANDLER_ERROR", "unexpected exception thrown from the application receive completion handler: %1", + "DHCP_DDNS_UNCAUGHT_NCR_SEND_HANDLER_ERROR", "unexpected exception thrown from the DHCP-DDNS client send completion handler: %1", + NULL +}; + +const isc::log::MessageInitializer initializer(values); + +} // Anonymous namespace + diff --git a/src/lib/dhcp_ddns/dhcp_ddns_messages.h b/src/lib/dhcp_ddns/dhcp_ddns_messages.h new file mode 100644 index 0000000000..a692755898 --- /dev/null +++ b/src/lib/dhcp_ddns/dhcp_ddns_messages.h @@ -0,0 +1,29 @@ +// File created from ../../../src/lib/dhcp_ddns/dhcp_ddns_messages.mes on Fri Feb 08 2019 20:17 + +#ifndef DHCP_DDNS_MESSAGES_H +#define DHCP_DDNS_MESSAGES_H + +#include + +namespace isc { +namespace dhcp_ddns { + +extern const isc::log::MessageID DHCP_DDNS_INVALID_NCR; +extern const isc::log::MessageID DHCP_DDNS_NCR_FLUSH_IO_ERROR; +extern const isc::log::MessageID DHCP_DDNS_NCR_LISTEN_CLOSE_ERROR; +extern const isc::log::MessageID DHCP_DDNS_NCR_RECV_NEXT_ERROR; +extern const isc::log::MessageID DHCP_DDNS_NCR_SEND_CLOSE_ERROR; +extern const isc::log::MessageID DHCP_DDNS_NCR_SEND_NEXT_ERROR; +extern const isc::log::MessageID DHCP_DDNS_NCR_UDP_CLEAR_READY_ERROR; +extern const isc::log::MessageID DHCP_DDNS_NCR_UDP_RECV_CANCELED; +extern const isc::log::MessageID DHCP_DDNS_NCR_UDP_RECV_ERROR; +extern const isc::log::MessageID DHCP_DDNS_NCR_UDP_SEND_CANCELED; +extern const isc::log::MessageID DHCP_DDNS_NCR_UDP_SEND_ERROR; +extern const isc::log::MessageID DHCP_DDNS_UDP_SENDER_WATCH_SOCKET_CLOSE_ERROR; +extern const isc::log::MessageID DHCP_DDNS_UNCAUGHT_NCR_RECV_HANDLER_ERROR; +extern const isc::log::MessageID DHCP_DDNS_UNCAUGHT_NCR_SEND_HANDLER_ERROR; + +} // namespace dhcp_ddns +} // namespace isc + +#endif // DHCP_DDNS_MESSAGES_H diff --git a/src/lib/dhcpsrv/.gitignore b/src/lib/dhcpsrv/.gitignore deleted file mode 100644 index 7c180b7632..0000000000 --- a/src/lib/dhcpsrv/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -/alloc_engine_messages.cc -/alloc_engine_messages.h -/dhcpsrv_messages.cc -/dhcpsrv_messages.h -/hosts_messages.cc -/hosts_messages.h -/s-messages diff --git a/src/lib/dhcpsrv/Makefile.am b/src/lib/dhcpsrv/Makefile.am index 0237391da8..0ee1dfcdb4 100644 --- a/src/lib/dhcpsrv/Makefile.am +++ b/src/lib/dhcpsrv/Makefile.am @@ -53,33 +53,11 @@ EXTRA_DIST += parsers/dhcp_queue_control_parser.h # Devel guide diagrams EXTRA_DIST += images/pgsql_host_data_source.svg -# Define rule to build logging source files from message file -alloc_engine_messages.h alloc_engine_messages.cc dhcpsrv_messages.h \ -dhcpsrv_messages.cc hosts_messages.h hosts_messages.cc: s-messages -s-messages: alloc_engine_messages.mes dhcpsrv_messages.mes hosts_messages.mes - $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/dhcpsrv/alloc_engine_messages.mes - touch $@ - $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/dhcpsrv/dhcpsrv_messages.mes - touch $@ - $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/dhcpsrv/hosts_messages.mes - touch $@ - -# Tell Automake that the {alloc_engine,dhcpsrv,hosts}_messages.{cc,h} source files -# are created in the build process, so it must create these before doing anything -# else. Although they are a dependency of the library (so will be created from the -# message file anyway), there is no guarantee as to exactly _when_ in the build -# they will be created. As the .h file is included in other sources file (so -# must be present when they are compiled), the safest option is to create it -# first. BUILT_SOURCES = alloc_engine_messages.h alloc_engine_messages.cc BUILT_SOURCES += dhcpsrv_messages.h dhcpsrv_messages.cc BUILT_SOURCES += hosts_messages.h hosts_messages.cc -# Make sure the generated files are deleted in a "clean" operation CLEANFILES = *.gcno *.gcda -CLEANFILES += alloc_engine_messages.h alloc_engine_messages.cc -CLEANFILES += dhcpsrv_messages.h dhcpsrv_messages.cc -CLEANFILES += hosts_messages.h hosts_messages.cc s-messages # Remove CSV files created by the CSVLeaseFile6 and CSVLeaseFile4 unit tests. CLEANFILES += *.csv @@ -198,10 +176,9 @@ libkea_dhcpsrv_la_SOURCES += parsers/simple_parser4.h libkea_dhcpsrv_la_SOURCES += parsers/simple_parser6.cc libkea_dhcpsrv_la_SOURCES += parsers/simple_parser6.h -nodist_libkea_dhcpsrv_la_SOURCES = alloc_engine_messages.h -nodist_libkea_dhcpsrv_la_SOURCES += alloc_engine_messages.cc -nodist_libkea_dhcpsrv_la_SOURCES += dhcpsrv_messages.h dhcpsrv_messages.cc -nodist_libkea_dhcpsrv_la_SOURCES += hosts_messages.h hosts_messages.cc +libkea_dhcpsrv_la_SOURCES += alloc_engine_messages.h alloc_engine_messages.cc +libkea_dhcpsrv_la_SOURCES += dhcpsrv_messages.h dhcpsrv_messages.cc +libkea_dhcpsrv_la_SOURCES += hosts_messages.h hosts_messages.cc libkea_dhcpsrv_la_CXXFLAGS = $(AM_CXXFLAGS) libkea_dhcpsrv_la_CPPFLAGS = $(AM_CPPFLAGS) @@ -251,6 +228,51 @@ EXTRA_DIST += alloc_engine_messages.mes EXTRA_DIST += dhcpsrv_messages.mes EXTRA_DIST += hosts_messages.mes +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f alloc_engine_messages.h alloc_engine_messages.cc + rm -f dhcpsrv_messages.h dhcpsrv_messages.cc + rm -f hosts_messages.h hosts_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES + +# Define rule to build logging source files from message file +messages: alloc_engine_messages.h alloc_engine_messages.cc \ + dhcpsrv_messages.h dhcpsrv_messages.cc \ + hosts_messages.h hosts_messages.cc + @echo Message files regenerated + +alloc_engine_messages.h alloc_engine_messages.cc: alloc_engine_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/alloc_engine/dhcpsrv_messages.mes + +dhcpsrv_messages.h dhcpsrv_messages.cc: dhcpsrv_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/dhcpsrv/dhcpsrv_messages.mes + +hosts_messages.h hosts_messages.cc: hosts_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/hosts/hosts_messages.mes + +else + +messages: alloc_engine_messages.h alloc_engine_messages.cc \ + dhcpsrv_messages.h dhcpsrv_messages.cc \ + hosts_messages.h hosts_messages.cc + @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it. + +endif + # Distribute backend documentation # Database schema creation script moved to src/bin/admin EXTRA_DIST += database_backends.dox libdhcpsrv.dox @@ -260,6 +282,7 @@ libkea_dhcpsrv_includedir = $(pkgincludedir)/dhcpsrv libkea_dhcpsrv_include_HEADERS = \ alloc_engine.h \ alloc_engine_log.h \ + alloc_engine_messages.h \ assignable_network.h \ base_host_data_source.h \ cache_host_data_source.h \ @@ -291,6 +314,7 @@ libkea_dhcpsrv_include_HEADERS = \ csv_lease_file4.h \ csv_lease_file6.h \ dhcpsrv_exceptions.h \ + dhcpsrv_messages.h \ d2_client_cfg.h \ d2_client_mgr.h \ db_type.h \ @@ -299,6 +323,7 @@ libkea_dhcpsrv_include_HEADERS = \ host.h \ host_container.h \ host_data_source_factory.h \ + hosts_messages.h \ host_mgr.h \ hosts_log.h \ key_from_key.h \ diff --git a/src/lib/dhcpsrv/alloc_engine_messages.cc b/src/lib/dhcpsrv/alloc_engine_messages.cc new file mode 100644 index 0000000000..6dc8e98e58 --- /dev/null +++ b/src/lib/dhcpsrv/alloc_engine_messages.cc @@ -0,0 +1,151 @@ +// File created from ../../../src/lib/dhcpsrv/alloc_engine_messages.mes on Fri Feb 08 2019 20:31 + +#include +#include +#include + +namespace isc { +namespace dhcp { + +extern const isc::log::MessageID ALLOC_ENGINE_LEASE_RECLAIMED = "ALLOC_ENGINE_LEASE_RECLAIMED"; +extern const isc::log::MessageID ALLOC_ENGINE_REMOVAL_NCR_FAILED = "ALLOC_ENGINE_REMOVAL_NCR_FAILED"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_ALLOC_ERROR = "ALLOC_ENGINE_V4_ALLOC_ERROR"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_ALLOC_FAIL = "ALLOC_ENGINE_V4_ALLOC_FAIL"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_DECLINED_RECOVERED = "ALLOC_ENGINE_V4_DECLINED_RECOVERED"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_DISCOVER_ADDRESS_CONFLICT = "ALLOC_ENGINE_V4_DISCOVER_ADDRESS_CONFLICT"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_DISCOVER_HR = "ALLOC_ENGINE_V4_DISCOVER_HR"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_LEASES_RECLAMATION_COMPLETE = "ALLOC_ENGINE_V4_LEASES_RECLAMATION_COMPLETE"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_LEASES_RECLAMATION_SLOW = "ALLOC_ENGINE_V4_LEASES_RECLAMATION_SLOW"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_LEASES_RECLAMATION_START = "ALLOC_ENGINE_V4_LEASES_RECLAMATION_START"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_LEASES_RECLAMATION_TIMEOUT = "ALLOC_ENGINE_V4_LEASES_RECLAMATION_TIMEOUT"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_LEASE_RECLAIM = "ALLOC_ENGINE_V4_LEASE_RECLAIM"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_LEASE_RECLAMATION_FAILED = "ALLOC_ENGINE_V4_LEASE_RECLAMATION_FAILED"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_NO_MORE_EXPIRED_LEASES = "ALLOC_ENGINE_V4_NO_MORE_EXPIRED_LEASES"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_OFFER_EXISTING_LEASE = "ALLOC_ENGINE_V4_OFFER_EXISTING_LEASE"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_OFFER_NEW_LEASE = "ALLOC_ENGINE_V4_OFFER_NEW_LEASE"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_OFFER_REQUESTED_LEASE = "ALLOC_ENGINE_V4_OFFER_REQUESTED_LEASE"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE = "ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE_COMPLETE = "ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE_COMPLETE"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE_FAILED = "ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE_FAILED"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_REQUEST_ADDRESS_RESERVED = "ALLOC_ENGINE_V4_REQUEST_ADDRESS_RESERVED"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_REQUEST_ALLOC_REQUESTED = "ALLOC_ENGINE_V4_REQUEST_ALLOC_REQUESTED"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_REQUEST_EXTEND_LEASE = "ALLOC_ENGINE_V4_REQUEST_EXTEND_LEASE"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_REQUEST_INVALID = "ALLOC_ENGINE_V4_REQUEST_INVALID"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_REQUEST_IN_USE = "ALLOC_ENGINE_V4_REQUEST_IN_USE"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_REQUEST_OUT_OF_POOL = "ALLOC_ENGINE_V4_REQUEST_OUT_OF_POOL"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_REQUEST_PICK_ADDRESS = "ALLOC_ENGINE_V4_REQUEST_PICK_ADDRESS"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_REQUEST_REMOVE_LEASE = "ALLOC_ENGINE_V4_REQUEST_REMOVE_LEASE"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_REQUEST_USE_HR = "ALLOC_ENGINE_V4_REQUEST_USE_HR"; +extern const isc::log::MessageID ALLOC_ENGINE_V4_REUSE_EXPIRED_LEASE_DATA = "ALLOC_ENGINE_V4_REUSE_EXPIRED_LEASE_DATA"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_ALLOC_ERROR = "ALLOC_ENGINE_V6_ALLOC_ERROR"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_ALLOC_FAIL = "ALLOC_ENGINE_V6_ALLOC_FAIL"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_ALLOC_HR_LEASE_EXISTS = "ALLOC_ENGINE_V6_ALLOC_HR_LEASE_EXISTS"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_ALLOC_LEASES_HR = "ALLOC_ENGINE_V6_ALLOC_LEASES_HR"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_ALLOC_LEASES_NO_HR = "ALLOC_ENGINE_V6_ALLOC_LEASES_NO_HR"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_ALLOC_NO_LEASES_HR = "ALLOC_ENGINE_V6_ALLOC_NO_LEASES_HR"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_ALLOC_NO_V6_HR = "ALLOC_ENGINE_V6_ALLOC_NO_V6_HR"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_ALLOC_UNRESERVED = "ALLOC_ENGINE_V6_ALLOC_UNRESERVED"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_DECLINED_RECOVERED = "ALLOC_ENGINE_V6_DECLINED_RECOVERED"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_EXPIRED_HINT_RESERVED = "ALLOC_ENGINE_V6_EXPIRED_HINT_RESERVED"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_EXTEND_ALLOC_UNRESERVED = "ALLOC_ENGINE_V6_EXTEND_ALLOC_UNRESERVED"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_EXTEND_ERROR = "ALLOC_ENGINE_V6_EXTEND_ERROR"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_EXTEND_LEASE = "ALLOC_ENGINE_V6_EXTEND_LEASE"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_EXTEND_LEASE_DATA = "ALLOC_ENGINE_V6_EXTEND_LEASE_DATA"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_EXTEND_NEW_LEASE_DATA = "ALLOC_ENGINE_V6_EXTEND_NEW_LEASE_DATA"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_HINT_RESERVED = "ALLOC_ENGINE_V6_HINT_RESERVED"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_HR_ADDR_GRANTED = "ALLOC_ENGINE_V6_HR_ADDR_GRANTED"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_HR_PREFIX_GRANTED = "ALLOC_ENGINE_V6_HR_PREFIX_GRANTED"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_LEASES_RECLAMATION_COMPLETE = "ALLOC_ENGINE_V6_LEASES_RECLAMATION_COMPLETE"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_LEASES_RECLAMATION_SLOW = "ALLOC_ENGINE_V6_LEASES_RECLAMATION_SLOW"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_LEASES_RECLAMATION_START = "ALLOC_ENGINE_V6_LEASES_RECLAMATION_START"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_LEASES_RECLAMATION_TIMEOUT = "ALLOC_ENGINE_V6_LEASES_RECLAMATION_TIMEOUT"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_LEASE_RECLAIM = "ALLOC_ENGINE_V6_LEASE_RECLAIM"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_LEASE_RECLAMATION_FAILED = "ALLOC_ENGINE_V6_LEASE_RECLAMATION_FAILED"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_NO_MORE_EXPIRED_LEASES = "ALLOC_ENGINE_V6_NO_MORE_EXPIRED_LEASES"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_RECLAIMED_LEASES_DELETE = "ALLOC_ENGINE_V6_RECLAIMED_LEASES_DELETE"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_RECLAIMED_LEASES_DELETE_COMPLETE = "ALLOC_ENGINE_V6_RECLAIMED_LEASES_DELETE_COMPLETE"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_RECLAIMED_LEASES_DELETE_FAILED = "ALLOC_ENGINE_V6_RECLAIMED_LEASES_DELETE_FAILED"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_RENEW_HR = "ALLOC_ENGINE_V6_RENEW_HR"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_RENEW_REMOVE_RESERVED = "ALLOC_ENGINE_V6_RENEW_REMOVE_RESERVED"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_RENEW_REMOVE_UNRESERVED = "ALLOC_ENGINE_V6_RENEW_REMOVE_UNRESERVED"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_REUSE_EXPIRED_LEASE_DATA = "ALLOC_ENGINE_V6_REUSE_EXPIRED_LEASE_DATA"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_REVOKED_ADDR_LEASE = "ALLOC_ENGINE_V6_REVOKED_ADDR_LEASE"; +extern const isc::log::MessageID ALLOC_ENGINE_V6_REVOKED_PREFIX_LEASE = "ALLOC_ENGINE_V6_REVOKED_PREFIX_LEASE"; + +} // namespace dhcp +} // namespace isc + +namespace { + +const char* values[] = { + "ALLOC_ENGINE_LEASE_RECLAIMED", "successfully reclaimed lease %1", + "ALLOC_ENGINE_REMOVAL_NCR_FAILED", "sending removal name change request failed for lease %1: %2", + "ALLOC_ENGINE_V4_ALLOC_ERROR", "%1: error during attempt to allocate an IPv4 address: %2", + "ALLOC_ENGINE_V4_ALLOC_FAIL", "%1: failed to allocate an IPv4 address after %2 attempt(s)", + "ALLOC_ENGINE_V4_DECLINED_RECOVERED", "IPv4 address %1 was recovered after %2 seconds of probation-period", + "ALLOC_ENGINE_V4_DISCOVER_ADDRESS_CONFLICT", "%1: conflicting reservation for address %2 with existing lease %3", + "ALLOC_ENGINE_V4_DISCOVER_HR", "client %1 sending DHCPDISCOVER has reservation for the address %2", + "ALLOC_ENGINE_V4_LEASES_RECLAMATION_COMPLETE", "reclaimed %1 leases in %2", + "ALLOC_ENGINE_V4_LEASES_RECLAMATION_SLOW", "expired leases still exist after %1 reclamations", + "ALLOC_ENGINE_V4_LEASES_RECLAMATION_START", "starting reclamation of expired leases (limit = %1 leases or %2 milliseconds)", + "ALLOC_ENGINE_V4_LEASES_RECLAMATION_TIMEOUT", "timeout of %1 ms reached while reclaiming IPv4 leases", + "ALLOC_ENGINE_V4_LEASE_RECLAIM", "%1: reclaiming expired lease for address %2", + "ALLOC_ENGINE_V4_LEASE_RECLAMATION_FAILED", "failed to reclaim the lease %1: %2", + "ALLOC_ENGINE_V4_NO_MORE_EXPIRED_LEASES", "all expired leases have been reclaimed", + "ALLOC_ENGINE_V4_OFFER_EXISTING_LEASE", "allocation engine will try to offer existing lease to the client %1", + "ALLOC_ENGINE_V4_OFFER_NEW_LEASE", "allocation engine will try to offer new lease to the client %1", + "ALLOC_ENGINE_V4_OFFER_REQUESTED_LEASE", "allocation engine will try to offer requested lease %1 to the client %2", + "ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE", "begin deletion of reclaimed leases expired more than %1 seconds ago", + "ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE_COMPLETE", "successfully deleted %1 expired-reclaimed leases", + "ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE_FAILED", "deletion of expired-reclaimed leases failed: %1", + "ALLOC_ENGINE_V4_REQUEST_ADDRESS_RESERVED", "%1: requested address %2 is reserved", + "ALLOC_ENGINE_V4_REQUEST_ALLOC_REQUESTED", "%1: trying to allocate requested address %2", + "ALLOC_ENGINE_V4_REQUEST_EXTEND_LEASE", "%1: extending lifetime of the lease for address %2", + "ALLOC_ENGINE_V4_REQUEST_INVALID", "client %1 having a reservation for address %2 is requesting invalid address %3", + "ALLOC_ENGINE_V4_REQUEST_IN_USE", "%1: requested address %2 is in use", + "ALLOC_ENGINE_V4_REQUEST_OUT_OF_POOL", "client %1, which doesn't have a reservation, requested address %2 out of the dynamic pool", + "ALLOC_ENGINE_V4_REQUEST_PICK_ADDRESS", "client %1 hasn't specified an address - picking available address from the pool", + "ALLOC_ENGINE_V4_REQUEST_REMOVE_LEASE", "%1: removing previous client's lease %2", + "ALLOC_ENGINE_V4_REQUEST_USE_HR", "client %1 hasn't requested specific address, using reserved address %2", + "ALLOC_ENGINE_V4_REUSE_EXPIRED_LEASE_DATA", "%1: reusing expired lease, updated lease information: %2", + "ALLOC_ENGINE_V6_ALLOC_ERROR", "%1: error during attempt to allocate an IPv6 address: %2", + "ALLOC_ENGINE_V6_ALLOC_FAIL", "%1: failed to allocate an IPv6 address after %2 attempt(s)", + "ALLOC_ENGINE_V6_ALLOC_HR_LEASE_EXISTS", "%1: lease type %2 for reserved address/prefix %3 already exists", + "ALLOC_ENGINE_V6_ALLOC_LEASES_HR", "leases and static reservations found for client %1", + "ALLOC_ENGINE_V6_ALLOC_LEASES_NO_HR", "no reservations found but leases exist for client %1", + "ALLOC_ENGINE_V6_ALLOC_NO_LEASES_HR", "no leases found but reservations exist for client %1", + "ALLOC_ENGINE_V6_ALLOC_NO_V6_HR", "%1: unable to allocate reserved leases - no IPv6 reservations", + "ALLOC_ENGINE_V6_ALLOC_UNRESERVED", "no static reservations available - trying to dynamically allocate leases for client %1", + "ALLOC_ENGINE_V6_DECLINED_RECOVERED", "IPv6 address %1 was recovered after %2 seconds of probation-period", + "ALLOC_ENGINE_V6_EXPIRED_HINT_RESERVED", "%1: expired lease for the client's hint %2 is reserved for another client", + "ALLOC_ENGINE_V6_EXTEND_ALLOC_UNRESERVED", "allocate new (unreserved) leases for the renewing client %1", + "ALLOC_ENGINE_V6_EXTEND_ERROR", "%1: allocation engine experienced error with attempting to extend lease lifetime: %2", + "ALLOC_ENGINE_V6_EXTEND_LEASE", "%1: extending lifetime of the lease type %2, address %3", + "ALLOC_ENGINE_V6_EXTEND_LEASE_DATA", "%1: detailed information about the lease being extended: %2", + "ALLOC_ENGINE_V6_EXTEND_NEW_LEASE_DATA", "%1: new lease information for the lease being extended: %2", + "ALLOC_ENGINE_V6_HINT_RESERVED", "%1: lease for the client's hint %2 is reserved for another client", + "ALLOC_ENGINE_V6_HR_ADDR_GRANTED", "reserved address %1 was assigned to client %2", + "ALLOC_ENGINE_V6_HR_PREFIX_GRANTED", "reserved prefix %1/%2 was assigned to client %3", + "ALLOC_ENGINE_V6_LEASES_RECLAMATION_COMPLETE", "reclaimed %1 leases in %2", + "ALLOC_ENGINE_V6_LEASES_RECLAMATION_SLOW", "expired leases still exist after %1 reclamations", + "ALLOC_ENGINE_V6_LEASES_RECLAMATION_START", "starting reclamation of expired leases (limit = %1 leases or %2 milliseconds)", + "ALLOC_ENGINE_V6_LEASES_RECLAMATION_TIMEOUT", "timeout of %1 ms reached while reclaiming IPv6 leases", + "ALLOC_ENGINE_V6_LEASE_RECLAIM", "%1: reclaiming expired lease for prefix %2/%3", + "ALLOC_ENGINE_V6_LEASE_RECLAMATION_FAILED", "failed to reclaim the lease %1: %2", + "ALLOC_ENGINE_V6_NO_MORE_EXPIRED_LEASES", "all expired leases have been reclaimed", + "ALLOC_ENGINE_V6_RECLAIMED_LEASES_DELETE", "begin deletion of reclaimed leases expired more than %1 seconds ago", + "ALLOC_ENGINE_V6_RECLAIMED_LEASES_DELETE_COMPLETE", "successfully deleted %1 expired-reclaimed leases", + "ALLOC_ENGINE_V6_RECLAIMED_LEASES_DELETE_FAILED", "deletion of expired-reclaimed leases failed: %1", + "ALLOC_ENGINE_V6_RENEW_HR", "allocating leases reserved for the client %1 as a result of Renew", + "ALLOC_ENGINE_V6_RENEW_REMOVE_RESERVED", "%1: checking if existing client's leases are reserved for another client", + "ALLOC_ENGINE_V6_RENEW_REMOVE_UNRESERVED", "dynamically allocating leases for the renewing client %1", + "ALLOC_ENGINE_V6_REUSE_EXPIRED_LEASE_DATA", "%1: reusing expired lease, updated lease information: %2", + "ALLOC_ENGINE_V6_REVOKED_ADDR_LEASE", "address %1 was revoked from client %2 as it is reserved for client %3", + "ALLOC_ENGINE_V6_REVOKED_PREFIX_LEASE", "Prefix %1/%2 was revoked from client %3 as it is reserved for client %4", + NULL +}; + +const isc::log::MessageInitializer initializer(values); + +} // Anonymous namespace + diff --git a/src/lib/dhcpsrv/alloc_engine_messages.h b/src/lib/dhcpsrv/alloc_engine_messages.h new file mode 100644 index 0000000000..9f7a72108f --- /dev/null +++ b/src/lib/dhcpsrv/alloc_engine_messages.h @@ -0,0 +1,79 @@ +// File created from ../../../src/lib/dhcpsrv/alloc_engine_messages.mes on Fri Feb 08 2019 20:31 + +#ifndef ALLOC_ENGINE_MESSAGES_H +#define ALLOC_ENGINE_MESSAGES_H + +#include + +namespace isc { +namespace dhcp { + +extern const isc::log::MessageID ALLOC_ENGINE_LEASE_RECLAIMED; +extern const isc::log::MessageID ALLOC_ENGINE_REMOVAL_NCR_FAILED; +extern const isc::log::MessageID ALLOC_ENGINE_V4_ALLOC_ERROR; +extern const isc::log::MessageID ALLOC_ENGINE_V4_ALLOC_FAIL; +extern const isc::log::MessageID ALLOC_ENGINE_V4_DECLINED_RECOVERED; +extern const isc::log::MessageID ALLOC_ENGINE_V4_DISCOVER_ADDRESS_CONFLICT; +extern const isc::log::MessageID ALLOC_ENGINE_V4_DISCOVER_HR; +extern const isc::log::MessageID ALLOC_ENGINE_V4_LEASES_RECLAMATION_COMPLETE; +extern const isc::log::MessageID ALLOC_ENGINE_V4_LEASES_RECLAMATION_SLOW; +extern const isc::log::MessageID ALLOC_ENGINE_V4_LEASES_RECLAMATION_START; +extern const isc::log::MessageID ALLOC_ENGINE_V4_LEASES_RECLAMATION_TIMEOUT; +extern const isc::log::MessageID ALLOC_ENGINE_V4_LEASE_RECLAIM; +extern const isc::log::MessageID ALLOC_ENGINE_V4_LEASE_RECLAMATION_FAILED; +extern const isc::log::MessageID ALLOC_ENGINE_V4_NO_MORE_EXPIRED_LEASES; +extern const isc::log::MessageID ALLOC_ENGINE_V4_OFFER_EXISTING_LEASE; +extern const isc::log::MessageID ALLOC_ENGINE_V4_OFFER_NEW_LEASE; +extern const isc::log::MessageID ALLOC_ENGINE_V4_OFFER_REQUESTED_LEASE; +extern const isc::log::MessageID ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE; +extern const isc::log::MessageID ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE_COMPLETE; +extern const isc::log::MessageID ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE_FAILED; +extern const isc::log::MessageID ALLOC_ENGINE_V4_REQUEST_ADDRESS_RESERVED; +extern const isc::log::MessageID ALLOC_ENGINE_V4_REQUEST_ALLOC_REQUESTED; +extern const isc::log::MessageID ALLOC_ENGINE_V4_REQUEST_EXTEND_LEASE; +extern const isc::log::MessageID ALLOC_ENGINE_V4_REQUEST_INVALID; +extern const isc::log::MessageID ALLOC_ENGINE_V4_REQUEST_IN_USE; +extern const isc::log::MessageID ALLOC_ENGINE_V4_REQUEST_OUT_OF_POOL; +extern const isc::log::MessageID ALLOC_ENGINE_V4_REQUEST_PICK_ADDRESS; +extern const isc::log::MessageID ALLOC_ENGINE_V4_REQUEST_REMOVE_LEASE; +extern const isc::log::MessageID ALLOC_ENGINE_V4_REQUEST_USE_HR; +extern const isc::log::MessageID ALLOC_ENGINE_V4_REUSE_EXPIRED_LEASE_DATA; +extern const isc::log::MessageID ALLOC_ENGINE_V6_ALLOC_ERROR; +extern const isc::log::MessageID ALLOC_ENGINE_V6_ALLOC_FAIL; +extern const isc::log::MessageID ALLOC_ENGINE_V6_ALLOC_HR_LEASE_EXISTS; +extern const isc::log::MessageID ALLOC_ENGINE_V6_ALLOC_LEASES_HR; +extern const isc::log::MessageID ALLOC_ENGINE_V6_ALLOC_LEASES_NO_HR; +extern const isc::log::MessageID ALLOC_ENGINE_V6_ALLOC_NO_LEASES_HR; +extern const isc::log::MessageID ALLOC_ENGINE_V6_ALLOC_NO_V6_HR; +extern const isc::log::MessageID ALLOC_ENGINE_V6_ALLOC_UNRESERVED; +extern const isc::log::MessageID ALLOC_ENGINE_V6_DECLINED_RECOVERED; +extern const isc::log::MessageID ALLOC_ENGINE_V6_EXPIRED_HINT_RESERVED; +extern const isc::log::MessageID ALLOC_ENGINE_V6_EXTEND_ALLOC_UNRESERVED; +extern const isc::log::MessageID ALLOC_ENGINE_V6_EXTEND_ERROR; +extern const isc::log::MessageID ALLOC_ENGINE_V6_EXTEND_LEASE; +extern const isc::log::MessageID ALLOC_ENGINE_V6_EXTEND_LEASE_DATA; +extern const isc::log::MessageID ALLOC_ENGINE_V6_EXTEND_NEW_LEASE_DATA; +extern const isc::log::MessageID ALLOC_ENGINE_V6_HINT_RESERVED; +extern const isc::log::MessageID ALLOC_ENGINE_V6_HR_ADDR_GRANTED; +extern const isc::log::MessageID ALLOC_ENGINE_V6_HR_PREFIX_GRANTED; +extern const isc::log::MessageID ALLOC_ENGINE_V6_LEASES_RECLAMATION_COMPLETE; +extern const isc::log::MessageID ALLOC_ENGINE_V6_LEASES_RECLAMATION_SLOW; +extern const isc::log::MessageID ALLOC_ENGINE_V6_LEASES_RECLAMATION_START; +extern const isc::log::MessageID ALLOC_ENGINE_V6_LEASES_RECLAMATION_TIMEOUT; +extern const isc::log::MessageID ALLOC_ENGINE_V6_LEASE_RECLAIM; +extern const isc::log::MessageID ALLOC_ENGINE_V6_LEASE_RECLAMATION_FAILED; +extern const isc::log::MessageID ALLOC_ENGINE_V6_NO_MORE_EXPIRED_LEASES; +extern const isc::log::MessageID ALLOC_ENGINE_V6_RECLAIMED_LEASES_DELETE; +extern const isc::log::MessageID ALLOC_ENGINE_V6_RECLAIMED_LEASES_DELETE_COMPLETE; +extern const isc::log::MessageID ALLOC_ENGINE_V6_RECLAIMED_LEASES_DELETE_FAILED; +extern const isc::log::MessageID ALLOC_ENGINE_V6_RENEW_HR; +extern const isc::log::MessageID ALLOC_ENGINE_V6_RENEW_REMOVE_RESERVED; +extern const isc::log::MessageID ALLOC_ENGINE_V6_RENEW_REMOVE_UNRESERVED; +extern const isc::log::MessageID ALLOC_ENGINE_V6_REUSE_EXPIRED_LEASE_DATA; +extern const isc::log::MessageID ALLOC_ENGINE_V6_REVOKED_ADDR_LEASE; +extern const isc::log::MessageID ALLOC_ENGINE_V6_REVOKED_PREFIX_LEASE; + +} // namespace dhcp +} // namespace isc + +#endif // ALLOC_ENGINE_MESSAGES_H diff --git a/src/lib/dhcpsrv/dhcpsrv_messages.cc b/src/lib/dhcpsrv/dhcpsrv_messages.cc new file mode 100644 index 0000000000..4b1e8b7ae7 --- /dev/null +++ b/src/lib/dhcpsrv/dhcpsrv_messages.cc @@ -0,0 +1,469 @@ +// File created from ../../../src/lib/dhcpsrv/dhcpsrv_messages.mes on Fri Feb 08 2019 20:31 + +#include +#include +#include + +namespace isc { +namespace dhcp { + +extern const isc::log::MessageID DHCPSRV_CFGMGR_ADD_IFACE = "DHCPSRV_CFGMGR_ADD_IFACE"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_ADD_SUBNET4 = "DHCPSRV_CFGMGR_ADD_SUBNET4"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_ADD_SUBNET6 = "DHCPSRV_CFGMGR_ADD_SUBNET6"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_ALL_IFACES_ACTIVE = "DHCPSRV_CFGMGR_ALL_IFACES_ACTIVE"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_CFG_DHCP_DDNS = "DHCPSRV_CFGMGR_CFG_DHCP_DDNS"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_CLEAR_ACTIVE_IFACES = "DHCPSRV_CFGMGR_CLEAR_ACTIVE_IFACES"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_CONFIGURE_SERVERID = "DHCPSRV_CFGMGR_CONFIGURE_SERVERID"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_DEL_SUBNET4 = "DHCPSRV_CFGMGR_DEL_SUBNET4"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_DEL_SUBNET6 = "DHCPSRV_CFGMGR_DEL_SUBNET6"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_NEW_SUBNET4 = "DHCPSRV_CFGMGR_NEW_SUBNET4"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_NEW_SUBNET6 = "DHCPSRV_CFGMGR_NEW_SUBNET6"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_NO_SUBNET4 = "DHCPSRV_CFGMGR_NO_SUBNET4"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_NO_SUBNET6 = "DHCPSRV_CFGMGR_NO_SUBNET6"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_ONLY_SUBNET4 = "DHCPSRV_CFGMGR_ONLY_SUBNET4"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_ONLY_SUBNET6 = "DHCPSRV_CFGMGR_ONLY_SUBNET6"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_OPTION_DUPLICATE = "DHCPSRV_CFGMGR_OPTION_DUPLICATE"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_RELAY_IP_ADDRESS_DEPRECATED = "DHCPSRV_CFGMGR_RELAY_IP_ADDRESS_DEPRECATED"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_SOCKET_RAW_UNSUPPORTED = "DHCPSRV_CFGMGR_SOCKET_RAW_UNSUPPORTED"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_SOCKET_TYPE_DEFAULT = "DHCPSRV_CFGMGR_SOCKET_TYPE_DEFAULT"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_SOCKET_TYPE_SELECT = "DHCPSRV_CFGMGR_SOCKET_TYPE_SELECT"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_SUBNET4 = "DHCPSRV_CFGMGR_SUBNET4"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_SUBNET4_ADDR = "DHCPSRV_CFGMGR_SUBNET4_ADDR"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_SUBNET4_IFACE = "DHCPSRV_CFGMGR_SUBNET4_IFACE"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_SUBNET4_RELAY = "DHCPSRV_CFGMGR_SUBNET4_RELAY"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_SUBNET6 = "DHCPSRV_CFGMGR_SUBNET6"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_SUBNET6_IFACE = "DHCPSRV_CFGMGR_SUBNET6_IFACE"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_SUBNET6_IFACE_ID = "DHCPSRV_CFGMGR_SUBNET6_IFACE_ID"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_SUBNET6_RELAY = "DHCPSRV_CFGMGR_SUBNET6_RELAY"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_UNICAST_LINK_LOCAL = "DHCPSRV_CFGMGR_UNICAST_LINK_LOCAL"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_USE_ADDRESS = "DHCPSRV_CFGMGR_USE_ADDRESS"; +extern const isc::log::MessageID DHCPSRV_CFGMGR_USE_UNICAST = "DHCPSRV_CFGMGR_USE_UNICAST"; +extern const isc::log::MessageID DHCPSRV_CLOSE_DB = "DHCPSRV_CLOSE_DB"; +extern const isc::log::MessageID DHCPSRV_CQL_ADD_ADDR4 = "DHCPSRV_CQL_ADD_ADDR4"; +extern const isc::log::MessageID DHCPSRV_CQL_ADD_ADDR6 = "DHCPSRV_CQL_ADD_ADDR6"; +extern const isc::log::MessageID DHCPSRV_CQL_COMMIT = "DHCPSRV_CQL_COMMIT"; +extern const isc::log::MessageID DHCPSRV_CQL_CONNECTION_BEGIN_TRANSACTION = "DHCPSRV_CQL_CONNECTION_BEGIN_TRANSACTION"; +extern const isc::log::MessageID DHCPSRV_CQL_CONNECTION_COMMIT = "DHCPSRV_CQL_CONNECTION_COMMIT"; +extern const isc::log::MessageID DHCPSRV_CQL_CONNECTION_ROLLBACK = "DHCPSRV_CQL_CONNECTION_ROLLBACK"; +extern const isc::log::MessageID DHCPSRV_CQL_DB = "DHCPSRV_CQL_DB"; +extern const isc::log::MessageID DHCPSRV_CQL_DEALLOC_ERROR = "DHCPSRV_CQL_DEALLOC_ERROR"; +extern const isc::log::MessageID DHCPSRV_CQL_DELETE_ADDR = "DHCPSRV_CQL_DELETE_ADDR"; +extern const isc::log::MessageID DHCPSRV_CQL_DELETE_EXPIRED_RECLAIMED4 = "DHCPSRV_CQL_DELETE_EXPIRED_RECLAIMED4"; +extern const isc::log::MessageID DHCPSRV_CQL_DELETE_EXPIRED_RECLAIMED6 = "DHCPSRV_CQL_DELETE_EXPIRED_RECLAIMED6"; +extern const isc::log::MessageID DHCPSRV_CQL_GET4 = "DHCPSRV_CQL_GET4"; +extern const isc::log::MessageID DHCPSRV_CQL_GET_ADDR4 = "DHCPSRV_CQL_GET_ADDR4"; +extern const isc::log::MessageID DHCPSRV_CQL_GET_ADDR6 = "DHCPSRV_CQL_GET_ADDR6"; +extern const isc::log::MessageID DHCPSRV_CQL_GET_CLIENTID = "DHCPSRV_CQL_GET_CLIENTID"; +extern const isc::log::MessageID DHCPSRV_CQL_GET_CLIENTID_HWADDR_SUBID = "DHCPSRV_CQL_GET_CLIENTID_HWADDR_SUBID"; +extern const isc::log::MessageID DHCPSRV_CQL_GET_EXPIRED4 = "DHCPSRV_CQL_GET_EXPIRED4"; +extern const isc::log::MessageID DHCPSRV_CQL_GET_EXPIRED6 = "DHCPSRV_CQL_GET_EXPIRED6"; +extern const isc::log::MessageID DHCPSRV_CQL_GET_HWADDR = "DHCPSRV_CQL_GET_HWADDR"; +extern const isc::log::MessageID DHCPSRV_CQL_GET_IAID_DUID = "DHCPSRV_CQL_GET_IAID_DUID"; +extern const isc::log::MessageID DHCPSRV_CQL_GET_IAID_SUBID_DUID = "DHCPSRV_CQL_GET_IAID_SUBID_DUID"; +extern const isc::log::MessageID DHCPSRV_CQL_GET_PAGE4 = "DHCPSRV_CQL_GET_PAGE4"; +extern const isc::log::MessageID DHCPSRV_CQL_GET_PAGE6 = "DHCPSRV_CQL_GET_PAGE6"; +extern const isc::log::MessageID DHCPSRV_CQL_GET_SUBID4 = "DHCPSRV_CQL_GET_SUBID4"; +extern const isc::log::MessageID DHCPSRV_CQL_GET_SUBID_CLIENTID = "DHCPSRV_CQL_GET_SUBID_CLIENTID"; +extern const isc::log::MessageID DHCPSRV_CQL_GET_SUBID_HWADDR = "DHCPSRV_CQL_GET_SUBID_HWADDR"; +extern const isc::log::MessageID DHCPSRV_CQL_GET_VERSION = "DHCPSRV_CQL_GET_VERSION"; +extern const isc::log::MessageID DHCPSRV_CQL_HOST_ADD = "DHCPSRV_CQL_HOST_ADD"; +extern const isc::log::MessageID DHCPSRV_CQL_HOST_DB = "DHCPSRV_CQL_HOST_DB"; +extern const isc::log::MessageID DHCPSRV_CQL_HOST_DB_GET_VERSION = "DHCPSRV_CQL_HOST_DB_GET_VERSION"; +extern const isc::log::MessageID DHCPSRV_CQL_HOST_GET4 = "DHCPSRV_CQL_HOST_GET4"; +extern const isc::log::MessageID DHCPSRV_CQL_HOST_GET6 = "DHCPSRV_CQL_HOST_GET6"; +extern const isc::log::MessageID DHCPSRV_CQL_HOST_GET_ALL = "DHCPSRV_CQL_HOST_GET_ALL"; +extern const isc::log::MessageID DHCPSRV_CQL_LEASE_EXCEPTION_THROWN = "DHCPSRV_CQL_LEASE_EXCEPTION_THROWN"; +extern const isc::log::MessageID DHCPSRV_CQL_ROLLBACK = "DHCPSRV_CQL_ROLLBACK"; +extern const isc::log::MessageID DHCPSRV_CQL_UPDATE_ADDR4 = "DHCPSRV_CQL_UPDATE_ADDR4"; +extern const isc::log::MessageID DHCPSRV_CQL_UPDATE_ADDR6 = "DHCPSRV_CQL_UPDATE_ADDR6"; +extern const isc::log::MessageID DHCPSRV_DHCP4O6_RECEIVED_BAD_PACKET = "DHCPSRV_DHCP4O6_RECEIVED_BAD_PACKET"; +extern const isc::log::MessageID DHCPSRV_DHCP_DDNS_ERROR_EXCEPTION = "DHCPSRV_DHCP_DDNS_ERROR_EXCEPTION"; +extern const isc::log::MessageID DHCPSRV_DHCP_DDNS_HANDLER_NULL = "DHCPSRV_DHCP_DDNS_HANDLER_NULL"; +extern const isc::log::MessageID DHCPSRV_DHCP_DDNS_NCR_REJECTED = "DHCPSRV_DHCP_DDNS_NCR_REJECTED"; +extern const isc::log::MessageID DHCPSRV_DHCP_DDNS_NCR_SENT = "DHCPSRV_DHCP_DDNS_NCR_SENT"; +extern const isc::log::MessageID DHCPSRV_DHCP_DDNS_SENDER_STARTED = "DHCPSRV_DHCP_DDNS_SENDER_STARTED"; +extern const isc::log::MessageID DHCPSRV_DHCP_DDNS_SENDER_STOPPED = "DHCPSRV_DHCP_DDNS_SENDER_STOPPED"; +extern const isc::log::MessageID DHCPSRV_DHCP_DDNS_SUSPEND_UPDATES = "DHCPSRV_DHCP_DDNS_SUSPEND_UPDATES"; +extern const isc::log::MessageID DHCPSRV_HOOK_LEASE4_RECOVER_SKIP = "DHCPSRV_HOOK_LEASE4_RECOVER_SKIP"; +extern const isc::log::MessageID DHCPSRV_HOOK_LEASE4_RENEW_SKIP = "DHCPSRV_HOOK_LEASE4_RENEW_SKIP"; +extern const isc::log::MessageID DHCPSRV_HOOK_LEASE4_SELECT_SKIP = "DHCPSRV_HOOK_LEASE4_SELECT_SKIP"; +extern const isc::log::MessageID DHCPSRV_HOOK_LEASE6_EXTEND_SKIP = "DHCPSRV_HOOK_LEASE6_EXTEND_SKIP"; +extern const isc::log::MessageID DHCPSRV_HOOK_LEASE6_RECOVER_SKIP = "DHCPSRV_HOOK_LEASE6_RECOVER_SKIP"; +extern const isc::log::MessageID DHCPSRV_HOOK_LEASE6_SELECT_SKIP = "DHCPSRV_HOOK_LEASE6_SELECT_SKIP"; +extern const isc::log::MessageID DHCPSRV_INVALID_ACCESS = "DHCPSRV_INVALID_ACCESS"; +extern const isc::log::MessageID DHCPSRV_LEASE_SANITY_FAIL = "DHCPSRV_LEASE_SANITY_FAIL"; +extern const isc::log::MessageID DHCPSRV_LEASE_SANITY_FAIL_DISCARD = "DHCPSRV_LEASE_SANITY_FAIL_DISCARD"; +extern const isc::log::MessageID DHCPSRV_LEASE_SANITY_FIXED = "DHCPSRV_LEASE_SANITY_FIXED"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_ADD_ADDR4 = "DHCPSRV_MEMFILE_ADD_ADDR4"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_ADD_ADDR6 = "DHCPSRV_MEMFILE_ADD_ADDR6"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_BEGIN_TRANSACTION = "DHCPSRV_MEMFILE_BEGIN_TRANSACTION"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_COMMIT = "DHCPSRV_MEMFILE_COMMIT"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_CONVERTING_LEASE_FILES = "DHCPSRV_MEMFILE_CONVERTING_LEASE_FILES"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_DB = "DHCPSRV_MEMFILE_DB"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_DELETE_ADDR = "DHCPSRV_MEMFILE_DELETE_ADDR"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_DELETE_EXPIRED_RECLAIMED4 = "DHCPSRV_MEMFILE_DELETE_EXPIRED_RECLAIMED4"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_DELETE_EXPIRED_RECLAIMED6 = "DHCPSRV_MEMFILE_DELETE_EXPIRED_RECLAIMED6"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_DELETE_EXPIRED_RECLAIMED_START = "DHCPSRV_MEMFILE_DELETE_EXPIRED_RECLAIMED_START"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET4 = "DHCPSRV_MEMFILE_GET4"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET6 = "DHCPSRV_MEMFILE_GET6"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET6_DUID = "DHCPSRV_MEMFILE_GET6_DUID"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_ADDR4 = "DHCPSRV_MEMFILE_GET_ADDR4"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_ADDR6 = "DHCPSRV_MEMFILE_GET_ADDR6"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_CLIENTID = "DHCPSRV_MEMFILE_GET_CLIENTID"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_CLIENTID_HWADDR_SUBID = "DHCPSRV_MEMFILE_GET_CLIENTID_HWADDR_SUBID"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_EXPIRED4 = "DHCPSRV_MEMFILE_GET_EXPIRED4"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_EXPIRED6 = "DHCPSRV_MEMFILE_GET_EXPIRED6"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_HWADDR = "DHCPSRV_MEMFILE_GET_HWADDR"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_IAID_DUID = "DHCPSRV_MEMFILE_GET_IAID_DUID"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_IAID_SUBID_DUID = "DHCPSRV_MEMFILE_GET_IAID_SUBID_DUID"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_PAGE4 = "DHCPSRV_MEMFILE_GET_PAGE4"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_PAGE6 = "DHCPSRV_MEMFILE_GET_PAGE6"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_SUBID4 = "DHCPSRV_MEMFILE_GET_SUBID4"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_SUBID6 = "DHCPSRV_MEMFILE_GET_SUBID6"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_SUBID_CLIENTID = "DHCPSRV_MEMFILE_GET_SUBID_CLIENTID"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_SUBID_HWADDR = "DHCPSRV_MEMFILE_GET_SUBID_HWADDR"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_VERSION = "DHCPSRV_MEMFILE_GET_VERSION"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_LEASE_FILE_LOAD = "DHCPSRV_MEMFILE_LEASE_FILE_LOAD"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_LEASE_LOAD = "DHCPSRV_MEMFILE_LEASE_LOAD"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_LEASE_LOAD_ROW_ERROR = "DHCPSRV_MEMFILE_LEASE_LOAD_ROW_ERROR"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_LFC_EXECUTE = "DHCPSRV_MEMFILE_LFC_EXECUTE"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_LFC_LEASE_FILE_RENAME_FAIL = "DHCPSRV_MEMFILE_LFC_LEASE_FILE_RENAME_FAIL"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_LFC_LEASE_FILE_REOPEN_FAIL = "DHCPSRV_MEMFILE_LFC_LEASE_FILE_REOPEN_FAIL"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_LFC_SETUP = "DHCPSRV_MEMFILE_LFC_SETUP"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_LFC_SPAWN_FAIL = "DHCPSRV_MEMFILE_LFC_SPAWN_FAIL"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_LFC_START = "DHCPSRV_MEMFILE_LFC_START"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_LFC_UNREGISTER_TIMER_FAILED = "DHCPSRV_MEMFILE_LFC_UNREGISTER_TIMER_FAILED"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_NEEDS_DOWNGRADING = "DHCPSRV_MEMFILE_NEEDS_DOWNGRADING"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_NEEDS_UPGRADING = "DHCPSRV_MEMFILE_NEEDS_UPGRADING"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_NO_STORAGE = "DHCPSRV_MEMFILE_NO_STORAGE"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_READ_HWADDR_FAIL = "DHCPSRV_MEMFILE_READ_HWADDR_FAIL"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_ROLLBACK = "DHCPSRV_MEMFILE_ROLLBACK"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_UPDATE_ADDR4 = "DHCPSRV_MEMFILE_UPDATE_ADDR4"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_UPDATE_ADDR6 = "DHCPSRV_MEMFILE_UPDATE_ADDR6"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_WIPE_LEASES4 = "DHCPSRV_MEMFILE_WIPE_LEASES4"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_WIPE_LEASES4_FINISHED = "DHCPSRV_MEMFILE_WIPE_LEASES4_FINISHED"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_WIPE_LEASES6 = "DHCPSRV_MEMFILE_WIPE_LEASES6"; +extern const isc::log::MessageID DHCPSRV_MEMFILE_WIPE_LEASES6_FINISHED = "DHCPSRV_MEMFILE_WIPE_LEASES6_FINISHED"; +extern const isc::log::MessageID DHCPSRV_MULTIPLE_RAW_SOCKETS_PER_IFACE = "DHCPSRV_MULTIPLE_RAW_SOCKETS_PER_IFACE"; +extern const isc::log::MessageID DHCPSRV_MYSQL_ADD_ADDR4 = "DHCPSRV_MYSQL_ADD_ADDR4"; +extern const isc::log::MessageID DHCPSRV_MYSQL_ADD_ADDR6 = "DHCPSRV_MYSQL_ADD_ADDR6"; +extern const isc::log::MessageID DHCPSRV_MYSQL_BEGIN_TRANSACTION = "DHCPSRV_MYSQL_BEGIN_TRANSACTION"; +extern const isc::log::MessageID DHCPSRV_MYSQL_COMMIT = "DHCPSRV_MYSQL_COMMIT"; +extern const isc::log::MessageID DHCPSRV_MYSQL_DB = "DHCPSRV_MYSQL_DB"; +extern const isc::log::MessageID DHCPSRV_MYSQL_DELETED_EXPIRED_RECLAIMED = "DHCPSRV_MYSQL_DELETED_EXPIRED_RECLAIMED"; +extern const isc::log::MessageID DHCPSRV_MYSQL_DELETE_ADDR = "DHCPSRV_MYSQL_DELETE_ADDR"; +extern const isc::log::MessageID DHCPSRV_MYSQL_DELETE_EXPIRED_RECLAIMED4 = "DHCPSRV_MYSQL_DELETE_EXPIRED_RECLAIMED4"; +extern const isc::log::MessageID DHCPSRV_MYSQL_DELETE_EXPIRED_RECLAIMED6 = "DHCPSRV_MYSQL_DELETE_EXPIRED_RECLAIMED6"; +extern const isc::log::MessageID DHCPSRV_MYSQL_FATAL_ERROR = "DHCPSRV_MYSQL_FATAL_ERROR"; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET4 = "DHCPSRV_MYSQL_GET4"; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET6 = "DHCPSRV_MYSQL_GET6"; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_ADDR4 = "DHCPSRV_MYSQL_GET_ADDR4"; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_ADDR6 = "DHCPSRV_MYSQL_GET_ADDR6"; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_CLIENTID = "DHCPSRV_MYSQL_GET_CLIENTID"; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_DUID = "DHCPSRV_MYSQL_GET_DUID"; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_EXPIRED4 = "DHCPSRV_MYSQL_GET_EXPIRED4"; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_EXPIRED6 = "DHCPSRV_MYSQL_GET_EXPIRED6"; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_HWADDR = "DHCPSRV_MYSQL_GET_HWADDR"; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_IAID_DUID = "DHCPSRV_MYSQL_GET_IAID_DUID"; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_IAID_SUBID_DUID = "DHCPSRV_MYSQL_GET_IAID_SUBID_DUID"; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_PAGE4 = "DHCPSRV_MYSQL_GET_PAGE4"; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_PAGE6 = "DHCPSRV_MYSQL_GET_PAGE6"; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_SUBID4 = "DHCPSRV_MYSQL_GET_SUBID4"; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_SUBID6 = "DHCPSRV_MYSQL_GET_SUBID6"; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_SUBID_CLIENTID = "DHCPSRV_MYSQL_GET_SUBID_CLIENTID"; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_SUBID_HWADDR = "DHCPSRV_MYSQL_GET_SUBID_HWADDR"; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_VERSION = "DHCPSRV_MYSQL_GET_VERSION"; +extern const isc::log::MessageID DHCPSRV_MYSQL_HOST_DB = "DHCPSRV_MYSQL_HOST_DB"; +extern const isc::log::MessageID DHCPSRV_MYSQL_HOST_DB_GET_VERSION = "DHCPSRV_MYSQL_HOST_DB_GET_VERSION"; +extern const isc::log::MessageID DHCPSRV_MYSQL_HOST_DB_READONLY = "DHCPSRV_MYSQL_HOST_DB_READONLY"; +extern const isc::log::MessageID DHCPSRV_MYSQL_ROLLBACK = "DHCPSRV_MYSQL_ROLLBACK"; +extern const isc::log::MessageID DHCPSRV_MYSQL_START_TRANSACTION = "DHCPSRV_MYSQL_START_TRANSACTION"; +extern const isc::log::MessageID DHCPSRV_MYSQL_UPDATE_ADDR4 = "DHCPSRV_MYSQL_UPDATE_ADDR4"; +extern const isc::log::MessageID DHCPSRV_MYSQL_UPDATE_ADDR6 = "DHCPSRV_MYSQL_UPDATE_ADDR6"; +extern const isc::log::MessageID DHCPSRV_NOTYPE_DB = "DHCPSRV_NOTYPE_DB"; +extern const isc::log::MessageID DHCPSRV_NO_SOCKETS_OPEN = "DHCPSRV_NO_SOCKETS_OPEN"; +extern const isc::log::MessageID DHCPSRV_OPEN_SOCKET_FAIL = "DHCPSRV_OPEN_SOCKET_FAIL"; +extern const isc::log::MessageID DHCPSRV_PGSQL_ADD_ADDR4 = "DHCPSRV_PGSQL_ADD_ADDR4"; +extern const isc::log::MessageID DHCPSRV_PGSQL_ADD_ADDR6 = "DHCPSRV_PGSQL_ADD_ADDR6"; +extern const isc::log::MessageID DHCPSRV_PGSQL_BEGIN_TRANSACTION = "DHCPSRV_PGSQL_BEGIN_TRANSACTION"; +extern const isc::log::MessageID DHCPSRV_PGSQL_COMMIT = "DHCPSRV_PGSQL_COMMIT"; +extern const isc::log::MessageID DHCPSRV_PGSQL_DB = "DHCPSRV_PGSQL_DB"; +extern const isc::log::MessageID DHCPSRV_PGSQL_DEALLOC_ERROR = "DHCPSRV_PGSQL_DEALLOC_ERROR"; +extern const isc::log::MessageID DHCPSRV_PGSQL_DELETE_ADDR = "DHCPSRV_PGSQL_DELETE_ADDR"; +extern const isc::log::MessageID DHCPSRV_PGSQL_DELETE_EXPIRED_RECLAIMED4 = "DHCPSRV_PGSQL_DELETE_EXPIRED_RECLAIMED4"; +extern const isc::log::MessageID DHCPSRV_PGSQL_DELETE_EXPIRED_RECLAIMED6 = "DHCPSRV_PGSQL_DELETE_EXPIRED_RECLAIMED6"; +extern const isc::log::MessageID DHCPSRV_PGSQL_FATAL_ERROR = "DHCPSRV_PGSQL_FATAL_ERROR"; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET4 = "DHCPSRV_PGSQL_GET4"; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET6 = "DHCPSRV_PGSQL_GET6"; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_ADDR4 = "DHCPSRV_PGSQL_GET_ADDR4"; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_ADDR6 = "DHCPSRV_PGSQL_GET_ADDR6"; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_CLIENTID = "DHCPSRV_PGSQL_GET_CLIENTID"; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_DUID = "DHCPSRV_PGSQL_GET_DUID"; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_EXPIRED4 = "DHCPSRV_PGSQL_GET_EXPIRED4"; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_EXPIRED6 = "DHCPSRV_PGSQL_GET_EXPIRED6"; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_HWADDR = "DHCPSRV_PGSQL_GET_HWADDR"; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_IAID_DUID = "DHCPSRV_PGSQL_GET_IAID_DUID"; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_IAID_SUBID_DUID = "DHCPSRV_PGSQL_GET_IAID_SUBID_DUID"; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_PAGE4 = "DHCPSRV_PGSQL_GET_PAGE4"; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_PAGE6 = "DHCPSRV_PGSQL_GET_PAGE6"; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_SUBID4 = "DHCPSRV_PGSQL_GET_SUBID4"; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_SUBID6 = "DHCPSRV_PGSQL_GET_SUBID6"; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_SUBID_CLIENTID = "DHCPSRV_PGSQL_GET_SUBID_CLIENTID"; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_SUBID_HWADDR = "DHCPSRV_PGSQL_GET_SUBID_HWADDR"; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_VERSION = "DHCPSRV_PGSQL_GET_VERSION"; +extern const isc::log::MessageID DHCPSRV_PGSQL_HOST_DB = "DHCPSRV_PGSQL_HOST_DB"; +extern const isc::log::MessageID DHCPSRV_PGSQL_HOST_DB_GET_VERSION = "DHCPSRV_PGSQL_HOST_DB_GET_VERSION"; +extern const isc::log::MessageID DHCPSRV_PGSQL_HOST_DB_READONLY = "DHCPSRV_PGSQL_HOST_DB_READONLY"; +extern const isc::log::MessageID DHCPSRV_PGSQL_ROLLBACK = "DHCPSRV_PGSQL_ROLLBACK"; +extern const isc::log::MessageID DHCPSRV_PGSQL_START_TRANSACTION = "DHCPSRV_PGSQL_START_TRANSACTION"; +extern const isc::log::MessageID DHCPSRV_PGSQL_UPDATE_ADDR4 = "DHCPSRV_PGSQL_UPDATE_ADDR4"; +extern const isc::log::MessageID DHCPSRV_PGSQL_UPDATE_ADDR6 = "DHCPSRV_PGSQL_UPDATE_ADDR6"; +extern const isc::log::MessageID DHCPSRV_QUEUE_NCR = "DHCPSRV_QUEUE_NCR"; +extern const isc::log::MessageID DHCPSRV_QUEUE_NCR_FAILED = "DHCPSRV_QUEUE_NCR_FAILED"; +extern const isc::log::MessageID DHCPSRV_QUEUE_NCR_SKIP = "DHCPSRV_QUEUE_NCR_SKIP"; +extern const isc::log::MessageID DHCPSRV_TIMERMGR_CALLBACK_FAILED = "DHCPSRV_TIMERMGR_CALLBACK_FAILED"; +extern const isc::log::MessageID DHCPSRV_TIMERMGR_REGISTER_TIMER = "DHCPSRV_TIMERMGR_REGISTER_TIMER"; +extern const isc::log::MessageID DHCPSRV_TIMERMGR_RUN_TIMER_OPERATION = "DHCPSRV_TIMERMGR_RUN_TIMER_OPERATION"; +extern const isc::log::MessageID DHCPSRV_TIMERMGR_START_TIMER = "DHCPSRV_TIMERMGR_START_TIMER"; +extern const isc::log::MessageID DHCPSRV_TIMERMGR_STOP_TIMER = "DHCPSRV_TIMERMGR_STOP_TIMER"; +extern const isc::log::MessageID DHCPSRV_TIMERMGR_UNREGISTER_ALL_TIMERS = "DHCPSRV_TIMERMGR_UNREGISTER_ALL_TIMERS"; +extern const isc::log::MessageID DHCPSRV_TIMERMGR_UNREGISTER_TIMER = "DHCPSRV_TIMERMGR_UNREGISTER_TIMER"; +extern const isc::log::MessageID DHCPSRV_UNEXPECTED_NAME = "DHCPSRV_UNEXPECTED_NAME"; +extern const isc::log::MessageID DHCPSRV_UNKNOWN_DB = "DHCPSRV_UNKNOWN_DB"; + +} // namespace dhcp +} // namespace isc + +namespace { + +const char* values[] = { + "DHCPSRV_CFGMGR_ADD_IFACE", "listening on interface %1", + "DHCPSRV_CFGMGR_ADD_SUBNET4", "adding subnet %1", + "DHCPSRV_CFGMGR_ADD_SUBNET6", "adding subnet %1", + "DHCPSRV_CFGMGR_ALL_IFACES_ACTIVE", "enabling listening on all interfaces", + "DHCPSRV_CFGMGR_CFG_DHCP_DDNS", "Setting DHCP-DDNS configuration to: %1", + "DHCPSRV_CFGMGR_CLEAR_ACTIVE_IFACES", "stop listening on all interfaces", + "DHCPSRV_CFGMGR_CONFIGURE_SERVERID", "server configuration includes specification of a server identifier", + "DHCPSRV_CFGMGR_DEL_SUBNET4", "IPv4 subnet %1 removed", + "DHCPSRV_CFGMGR_DEL_SUBNET6", "IPv6 subnet %1 removed", + "DHCPSRV_CFGMGR_NEW_SUBNET4", "a new subnet has been added to configuration: %1", + "DHCPSRV_CFGMGR_NEW_SUBNET6", "a new subnet has been added to configuration: %1", + "DHCPSRV_CFGMGR_NO_SUBNET4", "no suitable subnet is defined for address hint %1", + "DHCPSRV_CFGMGR_NO_SUBNET6", "no suitable subnet is defined for address hint %1", + "DHCPSRV_CFGMGR_ONLY_SUBNET4", "retrieved subnet %1 for address hint %2", + "DHCPSRV_CFGMGR_ONLY_SUBNET6", "retrieved subnet %1 for address hint %2", + "DHCPSRV_CFGMGR_OPTION_DUPLICATE", "multiple options with the code: %1 added to the subnet: %2", + "DHCPSRV_CFGMGR_RELAY_IP_ADDRESS_DEPRECATED", "\"relay\" uses \"ip-address\", which has been deprecated, please use \"ip-addresses\": %1", + "DHCPSRV_CFGMGR_SOCKET_RAW_UNSUPPORTED", "use of raw sockets is unsupported on this OS, UDP sockets will be used", + "DHCPSRV_CFGMGR_SOCKET_TYPE_DEFAULT", "\"dhcp-socket-type\" not specified , using default socket type %1", + "DHCPSRV_CFGMGR_SOCKET_TYPE_SELECT", "using socket type %1", + "DHCPSRV_CFGMGR_SUBNET4", "retrieved subnet %1 for address hint %2", + "DHCPSRV_CFGMGR_SUBNET4_ADDR", "selected subnet %1 for packet received by matching address %2", + "DHCPSRV_CFGMGR_SUBNET4_IFACE", "selected subnet %1 for packet received over interface %2", + "DHCPSRV_CFGMGR_SUBNET4_RELAY", "selected subnet %1, because of matching relay addr %2", + "DHCPSRV_CFGMGR_SUBNET6", "retrieved subnet %1 for address hint %2", + "DHCPSRV_CFGMGR_SUBNET6_IFACE", "selected subnet %1 for packet received over interface %2", + "DHCPSRV_CFGMGR_SUBNET6_IFACE_ID", "selected subnet %1 (interface-id match) for incoming packet", + "DHCPSRV_CFGMGR_SUBNET6_RELAY", "selected subnet %1, because of matching relay addr %2", + "DHCPSRV_CFGMGR_UNICAST_LINK_LOCAL", "specified link local address %1 for unicast traffic on interface %2", + "DHCPSRV_CFGMGR_USE_ADDRESS", "listening on address %1, on interface %2", + "DHCPSRV_CFGMGR_USE_UNICAST", "listening on unicast address %1, on interface %2", + "DHCPSRV_CLOSE_DB", "closing currently open %1 database", + "DHCPSRV_CQL_ADD_ADDR4", "adding IPv4 lease with address %1", + "DHCPSRV_CQL_ADD_ADDR6", "adding IPv6 lease with address %1", + "DHCPSRV_CQL_COMMIT", "committing to Cassandra database.", + "DHCPSRV_CQL_CONNECTION_BEGIN_TRANSACTION", "begin transaction on current connection.", + "DHCPSRV_CQL_CONNECTION_COMMIT", "committing to Cassandra database on current connection.", + "DHCPSRV_CQL_CONNECTION_ROLLBACK", "rolling back Cassandra database on current connection.", + "DHCPSRV_CQL_DB", "opening Cassandra lease database: %1", + "DHCPSRV_CQL_DEALLOC_ERROR", "An error occurred while closing the CQL connection: %1", + "DHCPSRV_CQL_DELETE_ADDR", "deleting lease for address %1", + "DHCPSRV_CQL_DELETE_EXPIRED_RECLAIMED4", "deleting reclaimed IPv4 leases that expired more than %1 seconds ago", + "DHCPSRV_CQL_DELETE_EXPIRED_RECLAIMED6", "deleting reclaimed IPv6 leases that expired more than %1 seconds ago", + "DHCPSRV_CQL_GET4", "obtaining all IPv4 leases", + "DHCPSRV_CQL_GET_ADDR4", "obtaining IPv4 lease for address %1", + "DHCPSRV_CQL_GET_ADDR6", "obtaining IPv6 lease for address %1 and lease type %2", + "DHCPSRV_CQL_GET_CLIENTID", "obtaining IPv4 leases for client ID %1", + "DHCPSRV_CQL_GET_CLIENTID_HWADDR_SUBID", "obtaining IPv4 lease for client ID %1, hardware address %2 and subnet ID %3", + "DHCPSRV_CQL_GET_EXPIRED4", "obtaining maximum %1 of expired IPv4 leases", + "DHCPSRV_CQL_GET_EXPIRED6", "obtaining maximum %1 of expired IPv6 leases", + "DHCPSRV_CQL_GET_HWADDR", "obtaining IPv4 leases for hardware address %1", + "DHCPSRV_CQL_GET_IAID_DUID", "obtaining IPv6 leases for IAID %1 and DUID %2 and lease type %3", + "DHCPSRV_CQL_GET_IAID_SUBID_DUID", "obtaining IPv6 leases for IAID %1, Subnet ID %2, DUID %3 and lease type %4", + "DHCPSRV_CQL_GET_PAGE4", "obtaining at most %1 IPv4 leases starting from address %2", + "DHCPSRV_CQL_GET_PAGE6", "obtaining at most %1 IPv6 leases starting from address %2", + "DHCPSRV_CQL_GET_SUBID4", "obtaining IPv4 leases for subnet ID %1", + "DHCPSRV_CQL_GET_SUBID_CLIENTID", "obtaining IPv4 lease for subnet ID %1 and client ID %2", + "DHCPSRV_CQL_GET_SUBID_HWADDR", "obtaining IPv4 lease for subnet ID %1 and hardware address %2", + "DHCPSRV_CQL_GET_VERSION", "obtaining schema version information", + "DHCPSRV_CQL_HOST_ADD", "Adding host information to the database", + "DHCPSRV_CQL_HOST_DB", "Connecting to CQL hosts database: %1", + "DHCPSRV_CQL_HOST_DB_GET_VERSION", "obtaining schema version information for the CQL hosts database", + "DHCPSRV_CQL_HOST_GET4", "Retrieving one DHCPv4 host from a CQL database", + "DHCPSRV_CQL_HOST_GET6", "Retrieving one DHCPv6 host from a CQL database", + "DHCPSRV_CQL_HOST_GET_ALL", "Retrieving multiple hosts from a CQL database", + "DHCPSRV_CQL_LEASE_EXCEPTION_THROWN", "Exception thrown during Cassandra operation: %1", + "DHCPSRV_CQL_ROLLBACK", "rolling back Cassandra database.", + "DHCPSRV_CQL_UPDATE_ADDR4", "updating IPv4 lease for address %1", + "DHCPSRV_CQL_UPDATE_ADDR6", "updating IPv6 lease for address %1", + "DHCPSRV_DHCP4O6_RECEIVED_BAD_PACKET", "received bad DHCPv4o6 packet: %1", + "DHCPSRV_DHCP_DDNS_ERROR_EXCEPTION", "error handler for DHCP_DDNS IO generated an expected exception: %1", + "DHCPSRV_DHCP_DDNS_HANDLER_NULL", "error handler for DHCP_DDNS IO is not set.", + "DHCPSRV_DHCP_DDNS_NCR_REJECTED", "NameChangeRequest rejected by the sender: %1, ncr: %2", + "DHCPSRV_DHCP_DDNS_NCR_SENT", "NameChangeRequest sent to kea-dhcp-ddns: %1", + "DHCPSRV_DHCP_DDNS_SENDER_STARTED", "NameChangeRequest sender has been started: %1", + "DHCPSRV_DHCP_DDNS_SENDER_STOPPED", "NameChangeRequest sender has been stopped.", + "DHCPSRV_DHCP_DDNS_SUSPEND_UPDATES", "DHCP_DDNS updates are being suspended.", + "DHCPSRV_HOOK_LEASE4_RECOVER_SKIP", "DHCPv4 lease %1 was not recovered from the declined state because a callout set the skip status.", + "DHCPSRV_HOOK_LEASE4_RENEW_SKIP", "DHCPv4 lease was not renewed because a callout set the skip flag.", + "DHCPSRV_HOOK_LEASE4_SELECT_SKIP", "Lease4 creation was skipped, because of callout skip flag.", + "DHCPSRV_HOOK_LEASE6_EXTEND_SKIP", "DHCPv6 lease lifetime was not extended because a callout set the skip flag for message %1", + "DHCPSRV_HOOK_LEASE6_RECOVER_SKIP", "DHCPv6 lease %1 was not recovered from declined state because a callout set the skip status.", + "DHCPSRV_HOOK_LEASE6_SELECT_SKIP", "Lease6 (non-temporary) creation was skipped, because of callout skip flag.", + "DHCPSRV_INVALID_ACCESS", "invalid database access string: %1", + "DHCPSRV_LEASE_SANITY_FAIL", "The lease %1 with subnet-id %2 failed subnet-id checks.", + "DHCPSRV_LEASE_SANITY_FAIL_DISCARD", "The lease %1 with subnet-id %2 failed subnet-id checks and was dropped.", + "DHCPSRV_LEASE_SANITY_FIXED", "The lease %1 with subnet-id %2 failed subnet-id checks, but was corrected to subnet-id %3.", + "DHCPSRV_MEMFILE_ADD_ADDR4", "adding IPv4 lease with address %1", + "DHCPSRV_MEMFILE_ADD_ADDR6", "adding IPv6 lease with address %1", + "DHCPSRV_MEMFILE_BEGIN_TRANSACTION", "committing to memory file database", + "DHCPSRV_MEMFILE_COMMIT", "committing to memory file database", + "DHCPSRV_MEMFILE_CONVERTING_LEASE_FILES", "running LFC now to convert lease files to the current schema: %1.%2", + "DHCPSRV_MEMFILE_DB", "opening memory file lease database: %1", + "DHCPSRV_MEMFILE_DELETE_ADDR", "deleting lease for address %1", + "DHCPSRV_MEMFILE_DELETE_EXPIRED_RECLAIMED4", "deleting reclaimed IPv4 leases that expired more than %1 seconds ago", + "DHCPSRV_MEMFILE_DELETE_EXPIRED_RECLAIMED6", "deleting reclaimed IPv6 leases that expired more than %1 seconds ago", + "DHCPSRV_MEMFILE_DELETE_EXPIRED_RECLAIMED_START", "starting deletion of %1 expired-reclaimed leases", + "DHCPSRV_MEMFILE_GET4", "obtaining all IPv4 leases", + "DHCPSRV_MEMFILE_GET6", "obtaining all IPv6 leases", + "DHCPSRV_MEMFILE_GET6_DUID", "obtaining IPv6 leases for DUID %1", + "DHCPSRV_MEMFILE_GET_ADDR4", "obtaining IPv4 lease for address %1", + "DHCPSRV_MEMFILE_GET_ADDR6", "obtaining IPv6 lease for address %1 and lease type %2", + "DHCPSRV_MEMFILE_GET_CLIENTID", "obtaining IPv4 leases for client ID %1", + "DHCPSRV_MEMFILE_GET_CLIENTID_HWADDR_SUBID", "obtaining IPv4 lease for client ID %1, hardware address %2 and subnet ID %3", + "DHCPSRV_MEMFILE_GET_EXPIRED4", "obtaining maximum %1 of expired IPv4 leases", + "DHCPSRV_MEMFILE_GET_EXPIRED6", "obtaining maximum %1 of expired IPv6 leases", + "DHCPSRV_MEMFILE_GET_HWADDR", "obtaining IPv4 leases for hardware address %1", + "DHCPSRV_MEMFILE_GET_IAID_DUID", "obtaining IPv6 leases for IAID %1 and DUID %2 and lease type %3", + "DHCPSRV_MEMFILE_GET_IAID_SUBID_DUID", "obtaining IPv6 leases for IAID %1, Subnet ID %2, DUID %3 and lease type %4", + "DHCPSRV_MEMFILE_GET_PAGE4", "obtaining at most %1 IPv4 leases starting from address %2", + "DHCPSRV_MEMFILE_GET_PAGE6", "obtaining at most %1 IPv6 leases starting from address %2", + "DHCPSRV_MEMFILE_GET_SUBID4", "obtaining IPv4 leases for subnet ID %1", + "DHCPSRV_MEMFILE_GET_SUBID6", "obtaining IPv6 leases for subnet ID %1", + "DHCPSRV_MEMFILE_GET_SUBID_CLIENTID", "obtaining IPv4 lease for subnet ID %1 and client ID %2", + "DHCPSRV_MEMFILE_GET_SUBID_HWADDR", "obtaining IPv4 lease for subnet ID %1 and hardware address %2", + "DHCPSRV_MEMFILE_GET_VERSION", "obtaining schema version information", + "DHCPSRV_MEMFILE_LEASE_FILE_LOAD", "loading leases from file %1", + "DHCPSRV_MEMFILE_LEASE_LOAD", "loading lease %1", + "DHCPSRV_MEMFILE_LEASE_LOAD_ROW_ERROR", "discarding row %1, error: %2", + "DHCPSRV_MEMFILE_LFC_EXECUTE", "executing Lease File Cleanup using: %1", + "DHCPSRV_MEMFILE_LFC_LEASE_FILE_RENAME_FAIL", "failed to rename the current lease file %1 to %2, reason: %3", + "DHCPSRV_MEMFILE_LFC_LEASE_FILE_REOPEN_FAIL", "failed to reopen lease file %1 after preparing input file for lease file cleanup, reason: %2, new leases will not be persisted!", + "DHCPSRV_MEMFILE_LFC_SETUP", "setting up the Lease File Cleanup interval to %1 sec", + "DHCPSRV_MEMFILE_LFC_SPAWN_FAIL", "lease file cleanup failed to run because kea-lfc process couldn't be spawned", + "DHCPSRV_MEMFILE_LFC_START", "starting Lease File Cleanup", + "DHCPSRV_MEMFILE_LFC_UNREGISTER_TIMER_FAILED", "failed to unregister timer 'memfile-lfc': %1", + "DHCPSRV_MEMFILE_NEEDS_DOWNGRADING", "version of lease file: %1 schema is later than version %2", + "DHCPSRV_MEMFILE_NEEDS_UPGRADING", "version of lease file: %1 schema is earlier than version %2", + "DHCPSRV_MEMFILE_NO_STORAGE", "running in non-persistent mode, leases will be lost after restart", + "DHCPSRV_MEMFILE_READ_HWADDR_FAIL", "failed to read hardware address from lease file: %1", + "DHCPSRV_MEMFILE_ROLLBACK", "rolling back memory file database", + "DHCPSRV_MEMFILE_UPDATE_ADDR4", "updating IPv4 lease for address %1", + "DHCPSRV_MEMFILE_UPDATE_ADDR6", "updating IPv6 lease for address %1", + "DHCPSRV_MEMFILE_WIPE_LEASES4", "removing all IPv4 leases from subnet %1", + "DHCPSRV_MEMFILE_WIPE_LEASES4_FINISHED", "removing all IPv4 leases from subnet %1 finished, removed %2 leases", + "DHCPSRV_MEMFILE_WIPE_LEASES6", "removing all IPv6 leases from subnet %1", + "DHCPSRV_MEMFILE_WIPE_LEASES6_FINISHED", "removing all IPv6 leases from subnet %1 finished, removed %2 leases", + "DHCPSRV_MULTIPLE_RAW_SOCKETS_PER_IFACE", "current configuration will result in opening multiple broadcast capable sockets on some interfaces and some DHCP messages may be duplicated", + "DHCPSRV_MYSQL_ADD_ADDR4", "adding IPv4 lease with address %1", + "DHCPSRV_MYSQL_ADD_ADDR6", "adding IPv6 lease with address %1, lease type %2", + "DHCPSRV_MYSQL_BEGIN_TRANSACTION", "committing to MySQL database", + "DHCPSRV_MYSQL_COMMIT", "committing to MySQL database", + "DHCPSRV_MYSQL_DB", "opening MySQL lease database: %1", + "DHCPSRV_MYSQL_DELETED_EXPIRED_RECLAIMED", "deleted %1 reclaimed leases from the database", + "DHCPSRV_MYSQL_DELETE_ADDR", "deleting lease for address %1", + "DHCPSRV_MYSQL_DELETE_EXPIRED_RECLAIMED4", "deleting reclaimed IPv4 leases that expired more than %1 seconds ago", + "DHCPSRV_MYSQL_DELETE_EXPIRED_RECLAIMED6", "deleting reclaimed IPv6 leases that expired more than %1 seconds ago", + "DHCPSRV_MYSQL_FATAL_ERROR", "Unrecoverable MySQL error occurred: %1 for <%2>, reason: %3 (error code: %4).", + "DHCPSRV_MYSQL_GET4", "obtaining all IPv4 leases", + "DHCPSRV_MYSQL_GET6", "obtaining all IPv6 leases", + "DHCPSRV_MYSQL_GET_ADDR4", "obtaining IPv4 lease for address %1", + "DHCPSRV_MYSQL_GET_ADDR6", "obtaining IPv6 lease for address %1, lease type %2", + "DHCPSRV_MYSQL_GET_CLIENTID", "obtaining IPv4 leases for client ID %1", + "DHCPSRV_MYSQL_GET_DUID", "obtaining IPv6 lease for duid %1,", + "DHCPSRV_MYSQL_GET_EXPIRED4", "obtaining maximum %1 of expired IPv4 leases", + "DHCPSRV_MYSQL_GET_EXPIRED6", "obtaining maximum %1 of expired IPv6 leases", + "DHCPSRV_MYSQL_GET_HWADDR", "obtaining IPv4 leases for hardware address %1", + "DHCPSRV_MYSQL_GET_IAID_DUID", "obtaining IPv6 leases for IAID %1, DUID %2, lease type %3", + "DHCPSRV_MYSQL_GET_IAID_SUBID_DUID", "obtaining IPv6 leases for IAID %1, Subnet ID %2, DUID %3, lease type %4", + "DHCPSRV_MYSQL_GET_PAGE4", "obtaining at most %1 IPv4 leases starting from address %2", + "DHCPSRV_MYSQL_GET_PAGE6", "obtaining at most %1 IPv6 leases starting from address %2", + "DHCPSRV_MYSQL_GET_SUBID4", "obtaining IPv4 leases for subnet ID %1", + "DHCPSRV_MYSQL_GET_SUBID6", "obtaining IPv6 leases for subnet ID %1", + "DHCPSRV_MYSQL_GET_SUBID_CLIENTID", "obtaining IPv4 lease for subnet ID %1 and client ID %2", + "DHCPSRV_MYSQL_GET_SUBID_HWADDR", "obtaining IPv4 lease for subnet ID %1 and hardware address %2", + "DHCPSRV_MYSQL_GET_VERSION", "obtaining schema version information", + "DHCPSRV_MYSQL_HOST_DB", "opening MySQL hosts database: %1", + "DHCPSRV_MYSQL_HOST_DB_GET_VERSION", "obtaining schema version information for the MySQL hosts database", + "DHCPSRV_MYSQL_HOST_DB_READONLY", "MySQL host database opened for read access only", + "DHCPSRV_MYSQL_ROLLBACK", "rolling back MySQL database", + "DHCPSRV_MYSQL_START_TRANSACTION", "starting new MySQL transaction", + "DHCPSRV_MYSQL_UPDATE_ADDR4", "updating IPv4 lease for address %1", + "DHCPSRV_MYSQL_UPDATE_ADDR6", "updating IPv6 lease for address %1, lease type %2", + "DHCPSRV_NOTYPE_DB", "no 'type' keyword to determine database backend: %1", + "DHCPSRV_NO_SOCKETS_OPEN", "no interface configured to listen to DHCP traffic", + "DHCPSRV_OPEN_SOCKET_FAIL", "failed to open socket: %1", + "DHCPSRV_PGSQL_ADD_ADDR4", "adding IPv4 lease with address %1", + "DHCPSRV_PGSQL_ADD_ADDR6", "adding IPv6 lease with address %1", + "DHCPSRV_PGSQL_BEGIN_TRANSACTION", "committing to PostgreSQL database", + "DHCPSRV_PGSQL_COMMIT", "committing to PostgreSQL database", + "DHCPSRV_PGSQL_DB", "opening PostgreSQL lease database: %1", + "DHCPSRV_PGSQL_DEALLOC_ERROR", "An error occurred deallocating SQL statements while closing the PostgreSQL lease database: %1", + "DHCPSRV_PGSQL_DELETE_ADDR", "deleting lease for address %1", + "DHCPSRV_PGSQL_DELETE_EXPIRED_RECLAIMED4", "deleting reclaimed IPv4 leases that expired more than %1 seconds ago", + "DHCPSRV_PGSQL_DELETE_EXPIRED_RECLAIMED6", "deleting reclaimed IPv6 leases that expired more than %1 seconds ago", + "DHCPSRV_PGSQL_FATAL_ERROR", "Unrecoverable PostgreSQL error occurred: Statement: <%1>, reason: %2 (error code: %3).", + "DHCPSRV_PGSQL_GET4", "obtaining all IPv4 leases", + "DHCPSRV_PGSQL_GET6", "obtaining all IPv6 leases", + "DHCPSRV_PGSQL_GET_ADDR4", "obtaining IPv4 lease for address %1", + "DHCPSRV_PGSQL_GET_ADDR6", "obtaining IPv6 lease for address %1 (lease type %2)", + "DHCPSRV_PGSQL_GET_CLIENTID", "obtaining IPv4 leases for client ID %1", + "DHCPSRV_PGSQL_GET_DUID", "obtaining IPv6 leases for DUID %1,", + "DHCPSRV_PGSQL_GET_EXPIRED4", "obtaining maximum %1 of expired IPv4 leases", + "DHCPSRV_PGSQL_GET_EXPIRED6", "obtaining maximum %1 of expired IPv6 leases", + "DHCPSRV_PGSQL_GET_HWADDR", "obtaining IPv4 leases for hardware address %1", + "DHCPSRV_PGSQL_GET_IAID_DUID", "obtaining IPv4 leases for IAID %1 and DUID %2, lease type %3", + "DHCPSRV_PGSQL_GET_IAID_SUBID_DUID", "obtaining IPv4 leases for IAID %1, Subnet ID %2, DUID %3, and lease type %4", + "DHCPSRV_PGSQL_GET_PAGE4", "obtaining at most %1 IPv4 leases starting from address %2", + "DHCPSRV_PGSQL_GET_PAGE6", "obtaining at most %1 IPv6 leases starting from address %2", + "DHCPSRV_PGSQL_GET_SUBID4", "obtaining IPv4 leases for subnet ID %1", + "DHCPSRV_PGSQL_GET_SUBID6", "obtaining IPv6 leases for subnet ID %1", + "DHCPSRV_PGSQL_GET_SUBID_CLIENTID", "obtaining IPv4 lease for subnet ID %1 and client ID %2", + "DHCPSRV_PGSQL_GET_SUBID_HWADDR", "obtaining IPv4 lease for subnet ID %1 and hardware address %2", + "DHCPSRV_PGSQL_GET_VERSION", "obtaining schema version information", + "DHCPSRV_PGSQL_HOST_DB", "opening PostgreSQL hosts database: %1", + "DHCPSRV_PGSQL_HOST_DB_GET_VERSION", "obtaining schema version information for the PostgreSQL hosts database", + "DHCPSRV_PGSQL_HOST_DB_READONLY", "PostgreSQL host database opened for read access only", + "DHCPSRV_PGSQL_ROLLBACK", "rolling back PostgreSQL database", + "DHCPSRV_PGSQL_START_TRANSACTION", "starting a new PostgreSQL transaction", + "DHCPSRV_PGSQL_UPDATE_ADDR4", "updating IPv4 lease for address %1", + "DHCPSRV_PGSQL_UPDATE_ADDR6", "updating IPv6 lease for address %1", + "DHCPSRV_QUEUE_NCR", "%1: name change request to %2 DNS entry queued: %3", + "DHCPSRV_QUEUE_NCR_FAILED", "%1: queuing %2 name change request failed for lease %3: %4", + "DHCPSRV_QUEUE_NCR_SKIP", "%1: skip queuing name change request for lease: %2", + "DHCPSRV_TIMERMGR_CALLBACK_FAILED", "running handler for timer %1 caused exception: %2", + "DHCPSRV_TIMERMGR_REGISTER_TIMER", "registering timer: %1, using interval: %2 ms", + "DHCPSRV_TIMERMGR_RUN_TIMER_OPERATION", "running operation for timer: %1", + "DHCPSRV_TIMERMGR_START_TIMER", "starting timer: %1", + "DHCPSRV_TIMERMGR_STOP_TIMER", "stopping timer: %1", + "DHCPSRV_TIMERMGR_UNREGISTER_ALL_TIMERS", "unregistering all timers", + "DHCPSRV_TIMERMGR_UNREGISTER_TIMER", "unregistering timer: %1", + "DHCPSRV_UNEXPECTED_NAME", "database access parameters passed through '%1', expected 'lease-database'", + "DHCPSRV_UNKNOWN_DB", "unknown database type: %1", + NULL +}; + +const isc::log::MessageInitializer initializer(values); + +} // Anonymous namespace + diff --git a/src/lib/dhcpsrv/dhcpsrv_messages.h b/src/lib/dhcpsrv/dhcpsrv_messages.h new file mode 100644 index 0000000000..2b7b72b621 --- /dev/null +++ b/src/lib/dhcpsrv/dhcpsrv_messages.h @@ -0,0 +1,238 @@ +// File created from ../../../src/lib/dhcpsrv/dhcpsrv_messages.mes on Fri Feb 08 2019 20:31 + +#ifndef DHCPSRV_MESSAGES_H +#define DHCPSRV_MESSAGES_H + +#include + +namespace isc { +namespace dhcp { + +extern const isc::log::MessageID DHCPSRV_CFGMGR_ADD_IFACE; +extern const isc::log::MessageID DHCPSRV_CFGMGR_ADD_SUBNET4; +extern const isc::log::MessageID DHCPSRV_CFGMGR_ADD_SUBNET6; +extern const isc::log::MessageID DHCPSRV_CFGMGR_ALL_IFACES_ACTIVE; +extern const isc::log::MessageID DHCPSRV_CFGMGR_CFG_DHCP_DDNS; +extern const isc::log::MessageID DHCPSRV_CFGMGR_CLEAR_ACTIVE_IFACES; +extern const isc::log::MessageID DHCPSRV_CFGMGR_CONFIGURE_SERVERID; +extern const isc::log::MessageID DHCPSRV_CFGMGR_DEL_SUBNET4; +extern const isc::log::MessageID DHCPSRV_CFGMGR_DEL_SUBNET6; +extern const isc::log::MessageID DHCPSRV_CFGMGR_NEW_SUBNET4; +extern const isc::log::MessageID DHCPSRV_CFGMGR_NEW_SUBNET6; +extern const isc::log::MessageID DHCPSRV_CFGMGR_NO_SUBNET4; +extern const isc::log::MessageID DHCPSRV_CFGMGR_NO_SUBNET6; +extern const isc::log::MessageID DHCPSRV_CFGMGR_ONLY_SUBNET4; +extern const isc::log::MessageID DHCPSRV_CFGMGR_ONLY_SUBNET6; +extern const isc::log::MessageID DHCPSRV_CFGMGR_OPTION_DUPLICATE; +extern const isc::log::MessageID DHCPSRV_CFGMGR_RELAY_IP_ADDRESS_DEPRECATED; +extern const isc::log::MessageID DHCPSRV_CFGMGR_SOCKET_RAW_UNSUPPORTED; +extern const isc::log::MessageID DHCPSRV_CFGMGR_SOCKET_TYPE_DEFAULT; +extern const isc::log::MessageID DHCPSRV_CFGMGR_SOCKET_TYPE_SELECT; +extern const isc::log::MessageID DHCPSRV_CFGMGR_SUBNET4; +extern const isc::log::MessageID DHCPSRV_CFGMGR_SUBNET4_ADDR; +extern const isc::log::MessageID DHCPSRV_CFGMGR_SUBNET4_IFACE; +extern const isc::log::MessageID DHCPSRV_CFGMGR_SUBNET4_RELAY; +extern const isc::log::MessageID DHCPSRV_CFGMGR_SUBNET6; +extern const isc::log::MessageID DHCPSRV_CFGMGR_SUBNET6_IFACE; +extern const isc::log::MessageID DHCPSRV_CFGMGR_SUBNET6_IFACE_ID; +extern const isc::log::MessageID DHCPSRV_CFGMGR_SUBNET6_RELAY; +extern const isc::log::MessageID DHCPSRV_CFGMGR_UNICAST_LINK_LOCAL; +extern const isc::log::MessageID DHCPSRV_CFGMGR_USE_ADDRESS; +extern const isc::log::MessageID DHCPSRV_CFGMGR_USE_UNICAST; +extern const isc::log::MessageID DHCPSRV_CLOSE_DB; +extern const isc::log::MessageID DHCPSRV_CQL_ADD_ADDR4; +extern const isc::log::MessageID DHCPSRV_CQL_ADD_ADDR6; +extern const isc::log::MessageID DHCPSRV_CQL_COMMIT; +extern const isc::log::MessageID DHCPSRV_CQL_CONNECTION_BEGIN_TRANSACTION; +extern const isc::log::MessageID DHCPSRV_CQL_CONNECTION_COMMIT; +extern const isc::log::MessageID DHCPSRV_CQL_CONNECTION_ROLLBACK; +extern const isc::log::MessageID DHCPSRV_CQL_DB; +extern const isc::log::MessageID DHCPSRV_CQL_DEALLOC_ERROR; +extern const isc::log::MessageID DHCPSRV_CQL_DELETE_ADDR; +extern const isc::log::MessageID DHCPSRV_CQL_DELETE_EXPIRED_RECLAIMED4; +extern const isc::log::MessageID DHCPSRV_CQL_DELETE_EXPIRED_RECLAIMED6; +extern const isc::log::MessageID DHCPSRV_CQL_GET4; +extern const isc::log::MessageID DHCPSRV_CQL_GET_ADDR4; +extern const isc::log::MessageID DHCPSRV_CQL_GET_ADDR6; +extern const isc::log::MessageID DHCPSRV_CQL_GET_CLIENTID; +extern const isc::log::MessageID DHCPSRV_CQL_GET_CLIENTID_HWADDR_SUBID; +extern const isc::log::MessageID DHCPSRV_CQL_GET_EXPIRED4; +extern const isc::log::MessageID DHCPSRV_CQL_GET_EXPIRED6; +extern const isc::log::MessageID DHCPSRV_CQL_GET_HWADDR; +extern const isc::log::MessageID DHCPSRV_CQL_GET_IAID_DUID; +extern const isc::log::MessageID DHCPSRV_CQL_GET_IAID_SUBID_DUID; +extern const isc::log::MessageID DHCPSRV_CQL_GET_PAGE4; +extern const isc::log::MessageID DHCPSRV_CQL_GET_PAGE6; +extern const isc::log::MessageID DHCPSRV_CQL_GET_SUBID4; +extern const isc::log::MessageID DHCPSRV_CQL_GET_SUBID_CLIENTID; +extern const isc::log::MessageID DHCPSRV_CQL_GET_SUBID_HWADDR; +extern const isc::log::MessageID DHCPSRV_CQL_GET_VERSION; +extern const isc::log::MessageID DHCPSRV_CQL_HOST_ADD; +extern const isc::log::MessageID DHCPSRV_CQL_HOST_DB; +extern const isc::log::MessageID DHCPSRV_CQL_HOST_DB_GET_VERSION; +extern const isc::log::MessageID DHCPSRV_CQL_HOST_GET4; +extern const isc::log::MessageID DHCPSRV_CQL_HOST_GET6; +extern const isc::log::MessageID DHCPSRV_CQL_HOST_GET_ALL; +extern const isc::log::MessageID DHCPSRV_CQL_LEASE_EXCEPTION_THROWN; +extern const isc::log::MessageID DHCPSRV_CQL_ROLLBACK; +extern const isc::log::MessageID DHCPSRV_CQL_UPDATE_ADDR4; +extern const isc::log::MessageID DHCPSRV_CQL_UPDATE_ADDR6; +extern const isc::log::MessageID DHCPSRV_DHCP4O6_RECEIVED_BAD_PACKET; +extern const isc::log::MessageID DHCPSRV_DHCP_DDNS_ERROR_EXCEPTION; +extern const isc::log::MessageID DHCPSRV_DHCP_DDNS_HANDLER_NULL; +extern const isc::log::MessageID DHCPSRV_DHCP_DDNS_NCR_REJECTED; +extern const isc::log::MessageID DHCPSRV_DHCP_DDNS_NCR_SENT; +extern const isc::log::MessageID DHCPSRV_DHCP_DDNS_SENDER_STARTED; +extern const isc::log::MessageID DHCPSRV_DHCP_DDNS_SENDER_STOPPED; +extern const isc::log::MessageID DHCPSRV_DHCP_DDNS_SUSPEND_UPDATES; +extern const isc::log::MessageID DHCPSRV_HOOK_LEASE4_RECOVER_SKIP; +extern const isc::log::MessageID DHCPSRV_HOOK_LEASE4_RENEW_SKIP; +extern const isc::log::MessageID DHCPSRV_HOOK_LEASE4_SELECT_SKIP; +extern const isc::log::MessageID DHCPSRV_HOOK_LEASE6_EXTEND_SKIP; +extern const isc::log::MessageID DHCPSRV_HOOK_LEASE6_RECOVER_SKIP; +extern const isc::log::MessageID DHCPSRV_HOOK_LEASE6_SELECT_SKIP; +extern const isc::log::MessageID DHCPSRV_INVALID_ACCESS; +extern const isc::log::MessageID DHCPSRV_LEASE_SANITY_FAIL; +extern const isc::log::MessageID DHCPSRV_LEASE_SANITY_FAIL_DISCARD; +extern const isc::log::MessageID DHCPSRV_LEASE_SANITY_FIXED; +extern const isc::log::MessageID DHCPSRV_MEMFILE_ADD_ADDR4; +extern const isc::log::MessageID DHCPSRV_MEMFILE_ADD_ADDR6; +extern const isc::log::MessageID DHCPSRV_MEMFILE_BEGIN_TRANSACTION; +extern const isc::log::MessageID DHCPSRV_MEMFILE_COMMIT; +extern const isc::log::MessageID DHCPSRV_MEMFILE_CONVERTING_LEASE_FILES; +extern const isc::log::MessageID DHCPSRV_MEMFILE_DB; +extern const isc::log::MessageID DHCPSRV_MEMFILE_DELETE_ADDR; +extern const isc::log::MessageID DHCPSRV_MEMFILE_DELETE_EXPIRED_RECLAIMED4; +extern const isc::log::MessageID DHCPSRV_MEMFILE_DELETE_EXPIRED_RECLAIMED6; +extern const isc::log::MessageID DHCPSRV_MEMFILE_DELETE_EXPIRED_RECLAIMED_START; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET4; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET6; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET6_DUID; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_ADDR4; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_ADDR6; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_CLIENTID; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_CLIENTID_HWADDR_SUBID; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_EXPIRED4; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_EXPIRED6; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_HWADDR; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_IAID_DUID; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_IAID_SUBID_DUID; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_PAGE4; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_PAGE6; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_SUBID4; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_SUBID6; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_SUBID_CLIENTID; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_SUBID_HWADDR; +extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_VERSION; +extern const isc::log::MessageID DHCPSRV_MEMFILE_LEASE_FILE_LOAD; +extern const isc::log::MessageID DHCPSRV_MEMFILE_LEASE_LOAD; +extern const isc::log::MessageID DHCPSRV_MEMFILE_LEASE_LOAD_ROW_ERROR; +extern const isc::log::MessageID DHCPSRV_MEMFILE_LFC_EXECUTE; +extern const isc::log::MessageID DHCPSRV_MEMFILE_LFC_LEASE_FILE_RENAME_FAIL; +extern const isc::log::MessageID DHCPSRV_MEMFILE_LFC_LEASE_FILE_REOPEN_FAIL; +extern const isc::log::MessageID DHCPSRV_MEMFILE_LFC_SETUP; +extern const isc::log::MessageID DHCPSRV_MEMFILE_LFC_SPAWN_FAIL; +extern const isc::log::MessageID DHCPSRV_MEMFILE_LFC_START; +extern const isc::log::MessageID DHCPSRV_MEMFILE_LFC_UNREGISTER_TIMER_FAILED; +extern const isc::log::MessageID DHCPSRV_MEMFILE_NEEDS_DOWNGRADING; +extern const isc::log::MessageID DHCPSRV_MEMFILE_NEEDS_UPGRADING; +extern const isc::log::MessageID DHCPSRV_MEMFILE_NO_STORAGE; +extern const isc::log::MessageID DHCPSRV_MEMFILE_READ_HWADDR_FAIL; +extern const isc::log::MessageID DHCPSRV_MEMFILE_ROLLBACK; +extern const isc::log::MessageID DHCPSRV_MEMFILE_UPDATE_ADDR4; +extern const isc::log::MessageID DHCPSRV_MEMFILE_UPDATE_ADDR6; +extern const isc::log::MessageID DHCPSRV_MEMFILE_WIPE_LEASES4; +extern const isc::log::MessageID DHCPSRV_MEMFILE_WIPE_LEASES4_FINISHED; +extern const isc::log::MessageID DHCPSRV_MEMFILE_WIPE_LEASES6; +extern const isc::log::MessageID DHCPSRV_MEMFILE_WIPE_LEASES6_FINISHED; +extern const isc::log::MessageID DHCPSRV_MULTIPLE_RAW_SOCKETS_PER_IFACE; +extern const isc::log::MessageID DHCPSRV_MYSQL_ADD_ADDR4; +extern const isc::log::MessageID DHCPSRV_MYSQL_ADD_ADDR6; +extern const isc::log::MessageID DHCPSRV_MYSQL_BEGIN_TRANSACTION; +extern const isc::log::MessageID DHCPSRV_MYSQL_COMMIT; +extern const isc::log::MessageID DHCPSRV_MYSQL_DB; +extern const isc::log::MessageID DHCPSRV_MYSQL_DELETED_EXPIRED_RECLAIMED; +extern const isc::log::MessageID DHCPSRV_MYSQL_DELETE_ADDR; +extern const isc::log::MessageID DHCPSRV_MYSQL_DELETE_EXPIRED_RECLAIMED4; +extern const isc::log::MessageID DHCPSRV_MYSQL_DELETE_EXPIRED_RECLAIMED6; +extern const isc::log::MessageID DHCPSRV_MYSQL_FATAL_ERROR; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET4; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET6; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_ADDR4; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_ADDR6; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_CLIENTID; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_DUID; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_EXPIRED4; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_EXPIRED6; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_HWADDR; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_IAID_DUID; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_IAID_SUBID_DUID; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_PAGE4; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_PAGE6; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_SUBID4; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_SUBID6; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_SUBID_CLIENTID; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_SUBID_HWADDR; +extern const isc::log::MessageID DHCPSRV_MYSQL_GET_VERSION; +extern const isc::log::MessageID DHCPSRV_MYSQL_HOST_DB; +extern const isc::log::MessageID DHCPSRV_MYSQL_HOST_DB_GET_VERSION; +extern const isc::log::MessageID DHCPSRV_MYSQL_HOST_DB_READONLY; +extern const isc::log::MessageID DHCPSRV_MYSQL_ROLLBACK; +extern const isc::log::MessageID DHCPSRV_MYSQL_START_TRANSACTION; +extern const isc::log::MessageID DHCPSRV_MYSQL_UPDATE_ADDR4; +extern const isc::log::MessageID DHCPSRV_MYSQL_UPDATE_ADDR6; +extern const isc::log::MessageID DHCPSRV_NOTYPE_DB; +extern const isc::log::MessageID DHCPSRV_NO_SOCKETS_OPEN; +extern const isc::log::MessageID DHCPSRV_OPEN_SOCKET_FAIL; +extern const isc::log::MessageID DHCPSRV_PGSQL_ADD_ADDR4; +extern const isc::log::MessageID DHCPSRV_PGSQL_ADD_ADDR6; +extern const isc::log::MessageID DHCPSRV_PGSQL_BEGIN_TRANSACTION; +extern const isc::log::MessageID DHCPSRV_PGSQL_COMMIT; +extern const isc::log::MessageID DHCPSRV_PGSQL_DB; +extern const isc::log::MessageID DHCPSRV_PGSQL_DEALLOC_ERROR; +extern const isc::log::MessageID DHCPSRV_PGSQL_DELETE_ADDR; +extern const isc::log::MessageID DHCPSRV_PGSQL_DELETE_EXPIRED_RECLAIMED4; +extern const isc::log::MessageID DHCPSRV_PGSQL_DELETE_EXPIRED_RECLAIMED6; +extern const isc::log::MessageID DHCPSRV_PGSQL_FATAL_ERROR; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET4; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET6; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_ADDR4; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_ADDR6; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_CLIENTID; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_DUID; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_EXPIRED4; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_EXPIRED6; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_HWADDR; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_IAID_DUID; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_IAID_SUBID_DUID; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_PAGE4; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_PAGE6; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_SUBID4; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_SUBID6; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_SUBID_CLIENTID; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_SUBID_HWADDR; +extern const isc::log::MessageID DHCPSRV_PGSQL_GET_VERSION; +extern const isc::log::MessageID DHCPSRV_PGSQL_HOST_DB; +extern const isc::log::MessageID DHCPSRV_PGSQL_HOST_DB_GET_VERSION; +extern const isc::log::MessageID DHCPSRV_PGSQL_HOST_DB_READONLY; +extern const isc::log::MessageID DHCPSRV_PGSQL_ROLLBACK; +extern const isc::log::MessageID DHCPSRV_PGSQL_START_TRANSACTION; +extern const isc::log::MessageID DHCPSRV_PGSQL_UPDATE_ADDR4; +extern const isc::log::MessageID DHCPSRV_PGSQL_UPDATE_ADDR6; +extern const isc::log::MessageID DHCPSRV_QUEUE_NCR; +extern const isc::log::MessageID DHCPSRV_QUEUE_NCR_FAILED; +extern const isc::log::MessageID DHCPSRV_QUEUE_NCR_SKIP; +extern const isc::log::MessageID DHCPSRV_TIMERMGR_CALLBACK_FAILED; +extern const isc::log::MessageID DHCPSRV_TIMERMGR_REGISTER_TIMER; +extern const isc::log::MessageID DHCPSRV_TIMERMGR_RUN_TIMER_OPERATION; +extern const isc::log::MessageID DHCPSRV_TIMERMGR_START_TIMER; +extern const isc::log::MessageID DHCPSRV_TIMERMGR_STOP_TIMER; +extern const isc::log::MessageID DHCPSRV_TIMERMGR_UNREGISTER_ALL_TIMERS; +extern const isc::log::MessageID DHCPSRV_TIMERMGR_UNREGISTER_TIMER; +extern const isc::log::MessageID DHCPSRV_UNEXPECTED_NAME; +extern const isc::log::MessageID DHCPSRV_UNKNOWN_DB; + +} // namespace dhcp +} // namespace isc + +#endif // DHCPSRV_MESSAGES_H diff --git a/src/lib/dhcpsrv/hosts_messages.cc b/src/lib/dhcpsrv/hosts_messages.cc new file mode 100644 index 0000000000..c210ee2c54 --- /dev/null +++ b/src/lib/dhcpsrv/hosts_messages.cc @@ -0,0 +1,117 @@ +// File created from ../../../src/lib/dhcpsrv/hosts_messages.mes on Fri Feb 08 2019 20:31 + +#include +#include +#include + +namespace isc { +namespace dhcp { + +extern const isc::log::MessageID HOSTS_BACKENDS_REGISTERED = "HOSTS_BACKENDS_REGISTERED"; +extern const isc::log::MessageID HOSTS_BACKEND_DEREGISTER = "HOSTS_BACKEND_DEREGISTER"; +extern const isc::log::MessageID HOSTS_BACKEND_REGISTER = "HOSTS_BACKEND_REGISTER"; +extern const isc::log::MessageID HOSTS_CFG_ADD_HOST = "HOSTS_CFG_ADD_HOST"; +extern const isc::log::MessageID HOSTS_CFG_CACHE_HOST_DATA_SOURCE = "HOSTS_CFG_CACHE_HOST_DATA_SOURCE"; +extern const isc::log::MessageID HOSTS_CFG_CLOSE_HOST_DATA_SOURCE = "HOSTS_CFG_CLOSE_HOST_DATA_SOURCE"; +extern const isc::log::MessageID HOSTS_CFG_DEL_ALL_SUBNET4 = "HOSTS_CFG_DEL_ALL_SUBNET4"; +extern const isc::log::MessageID HOSTS_CFG_DEL_ALL_SUBNET6 = "HOSTS_CFG_DEL_ALL_SUBNET6"; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_ADDRESS4 = "HOSTS_CFG_GET_ALL_ADDRESS4"; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_ADDRESS4_COUNT = "HOSTS_CFG_GET_ALL_ADDRESS4_COUNT"; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_ADDRESS4_HOST = "HOSTS_CFG_GET_ALL_ADDRESS4_HOST"; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_ADDRESS6 = "HOSTS_CFG_GET_ALL_ADDRESS6"; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_ADDRESS6_COUNT = "HOSTS_CFG_GET_ALL_ADDRESS6_COUNT"; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_ADDRESS6_HOST = "HOSTS_CFG_GET_ALL_ADDRESS6_HOST"; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_IDENTIFIER = "HOSTS_CFG_GET_ALL_IDENTIFIER"; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_IDENTIFIER_COUNT = "HOSTS_CFG_GET_ALL_IDENTIFIER_COUNT"; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_IDENTIFIER_HOST = "HOSTS_CFG_GET_ALL_IDENTIFIER_HOST"; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_SUBNET_ID4 = "HOSTS_CFG_GET_ALL_SUBNET_ID4"; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_SUBNET_ID4_COUNT = "HOSTS_CFG_GET_ALL_SUBNET_ID4_COUNT"; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_SUBNET_ID4_HOST = "HOSTS_CFG_GET_ALL_SUBNET_ID4_HOST"; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_SUBNET_ID6 = "HOSTS_CFG_GET_ALL_SUBNET_ID6"; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_SUBNET_ID6_COUNT = "HOSTS_CFG_GET_ALL_SUBNET_ID6_COUNT"; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_SUBNET_ID6_HOST = "HOSTS_CFG_GET_ALL_SUBNET_ID6_HOST"; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_SUBNET_ID_ADDRESS6 = "HOSTS_CFG_GET_ALL_SUBNET_ID_ADDRESS6"; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_SUBNET_ID_ADDRESS6_COUNT = "HOSTS_CFG_GET_ALL_SUBNET_ID_ADDRESS6_COUNT"; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_SUBNET_ID_ADDRESS6_HOST = "HOSTS_CFG_GET_ALL_SUBNET_ID_ADDRESS6_HOST"; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_PREFIX = "HOSTS_CFG_GET_ONE_PREFIX"; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_PREFIX_HOST = "HOSTS_CFG_GET_ONE_PREFIX_HOST"; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_PREFIX_NULL = "HOSTS_CFG_GET_ONE_PREFIX_NULL"; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS4 = "HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS4"; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS4_HOST = "HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS4_HOST"; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS4_NULL = "HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS4_NULL"; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS6 = "HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS6"; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS6_HOST = "HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS6_HOST"; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS6_NULL = "HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS6_NULL"; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER = "HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER"; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER_HOST = "HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER_HOST"; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER_NULL = "HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER_NULL"; +extern const isc::log::MessageID HOSTS_MGR_ALTERNATE_GET4_SUBNET_ID_ADDRESS4 = "HOSTS_MGR_ALTERNATE_GET4_SUBNET_ID_ADDRESS4"; +extern const isc::log::MessageID HOSTS_MGR_ALTERNATE_GET4_SUBNET_ID_IDENTIFIER = "HOSTS_MGR_ALTERNATE_GET4_SUBNET_ID_IDENTIFIER"; +extern const isc::log::MessageID HOSTS_MGR_ALTERNATE_GET4_SUBNET_ID_IDENTIFIER_HOST = "HOSTS_MGR_ALTERNATE_GET4_SUBNET_ID_IDENTIFIER_HOST"; +extern const isc::log::MessageID HOSTS_MGR_ALTERNATE_GET4_SUBNET_ID_IDENTIFIER_NULL = "HOSTS_MGR_ALTERNATE_GET4_SUBNET_ID_IDENTIFIER_NULL"; +extern const isc::log::MessageID HOSTS_MGR_ALTERNATE_GET6_PREFIX = "HOSTS_MGR_ALTERNATE_GET6_PREFIX"; +extern const isc::log::MessageID HOSTS_MGR_ALTERNATE_GET6_SUBNET_ID_ADDRESS6 = "HOSTS_MGR_ALTERNATE_GET6_SUBNET_ID_ADDRESS6"; +extern const isc::log::MessageID HOSTS_MGR_ALTERNATE_GET6_SUBNET_ID_IDENTIFIER = "HOSTS_MGR_ALTERNATE_GET6_SUBNET_ID_IDENTIFIER"; +extern const isc::log::MessageID HOSTS_MGR_ALTERNATE_GET6_SUBNET_ID_IDENTIFIER_HOST = "HOSTS_MGR_ALTERNATE_GET6_SUBNET_ID_IDENTIFIER_HOST"; +extern const isc::log::MessageID HOSTS_MGR_ALTERNATE_GET6_SUBNET_ID_IDENTIFIER_NULL = "HOSTS_MGR_ALTERNATE_GET6_SUBNET_ID_IDENTIFIER_NULL"; + +} // namespace dhcp +} // namespace isc + +namespace { + +const char* values[] = { + "HOSTS_BACKENDS_REGISTERED", "the following host backend types are available: %1", + "HOSTS_BACKEND_DEREGISTER", "deregistered host backend type: %1", + "HOSTS_BACKEND_REGISTER", "registered host backend type: %1", + "HOSTS_CFG_ADD_HOST", "add the host for reservations: %1", + "HOSTS_CFG_CACHE_HOST_DATA_SOURCE", "get host cache data source: %1", + "HOSTS_CFG_CLOSE_HOST_DATA_SOURCE", "Closing host data source: %1", + "HOSTS_CFG_DEL_ALL_SUBNET4", "deleted all %1 host(s) for subnet id %2", + "HOSTS_CFG_DEL_ALL_SUBNET6", "deleted all %1 host(s) including %2 IPv6 reservation(s) for subnet id %3", + "HOSTS_CFG_GET_ALL_ADDRESS4", "get all hosts with reservations for IPv4 address %1", + "HOSTS_CFG_GET_ALL_ADDRESS4_COUNT", "using address %1, found %2 host(s)", + "HOSTS_CFG_GET_ALL_ADDRESS4_HOST", "using address %1 found host: %2", + "HOSTS_CFG_GET_ALL_ADDRESS6", "get all hosts with reservations for IPv6 address %1", + "HOSTS_CFG_GET_ALL_ADDRESS6_COUNT", "using address %1, found %2 host(s)", + "HOSTS_CFG_GET_ALL_ADDRESS6_HOST", "using address %1 found host: %2", + "HOSTS_CFG_GET_ALL_IDENTIFIER", "get all hosts with reservations using identifier: %1", + "HOSTS_CFG_GET_ALL_IDENTIFIER_COUNT", "using identifier %1, found %2 host(s)", + "HOSTS_CFG_GET_ALL_IDENTIFIER_HOST", "using identifier: %1, found host: %2", + "HOSTS_CFG_GET_ALL_SUBNET_ID4", "get all hosts with reservations for IPv4 subnet %1", + "HOSTS_CFG_GET_ALL_SUBNET_ID4_COUNT", "using IPv4 subnet %1, found %2 host(s)", + "HOSTS_CFG_GET_ALL_SUBNET_ID4_HOST", "using IPv4 subnet %1, found host: %2", + "HOSTS_CFG_GET_ALL_SUBNET_ID6", "get all hosts with reservations for IPv6 subnet %1", + "HOSTS_CFG_GET_ALL_SUBNET_ID6_COUNT", "using IPv6 subnet %1, found %2 host(s)", + "HOSTS_CFG_GET_ALL_SUBNET_ID6_HOST", "using IPv6 subnet %1, found host: %2", + "HOSTS_CFG_GET_ALL_SUBNET_ID_ADDRESS6", "get all hosts with reservations for subnet id %1 and IPv6 address %2", + "HOSTS_CFG_GET_ALL_SUBNET_ID_ADDRESS6_COUNT", "using subnet id %1 and address %2, found %3 host(s)", + "HOSTS_CFG_GET_ALL_SUBNET_ID_ADDRESS6_HOST", "using subnet id %1 and address %2, found host: %3", + "HOSTS_CFG_GET_ONE_PREFIX", "get one host with reservation for prefix %1/%2", + "HOSTS_CFG_GET_ONE_PREFIX_HOST", "using prefix %1/%2, found host: %3", + "HOSTS_CFG_GET_ONE_PREFIX_NULL", "host not found using prefix %1/%2", + "HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS4", "get one host with reservation for subnet id %1 and IPv4 address %2", + "HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS4_HOST", "using subnet id %1 and address %2, found host: %3", + "HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS4_NULL", "host not found using subnet id %1 and address %2", + "HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS6", "get one host with reservation for subnet id %1 and including IPv6 address %2", + "HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS6_HOST", "using subnet id %1 and address %2, found host: %3", + "HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS6_NULL", "host not found using subnet id %1 and address %2", + "HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER", "get one host with %1 reservation for subnet id %2, identified by %3", + "HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER_HOST", "using subnet id %1 and identifier %2, found host: %3", + "HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER_NULL", "host not found using subnet id %1 and identifier %2", + "HOSTS_MGR_ALTERNATE_GET4_SUBNET_ID_ADDRESS4", "trying alternate sources for host using subnet id %1 and address %2", + "HOSTS_MGR_ALTERNATE_GET4_SUBNET_ID_IDENTIFIER", "get one host with IPv4 reservation for subnet id %1, identified by %2", + "HOSTS_MGR_ALTERNATE_GET4_SUBNET_ID_IDENTIFIER_HOST", "using subnet id %1 and identifier %2, found in %3 host: %4", + "HOSTS_MGR_ALTERNATE_GET4_SUBNET_ID_IDENTIFIER_NULL", "host not found using subnet id %1 and identifier %2", + "HOSTS_MGR_ALTERNATE_GET6_PREFIX", "trying alternate sources for host using prefix %1/%2", + "HOSTS_MGR_ALTERNATE_GET6_SUBNET_ID_ADDRESS6", "trying alternate sources for host using subnet id %1 and IPv6 address %2", + "HOSTS_MGR_ALTERNATE_GET6_SUBNET_ID_IDENTIFIER", "get one host with IPv6 reservation for subnet id %1, identified by %2", + "HOSTS_MGR_ALTERNATE_GET6_SUBNET_ID_IDENTIFIER_HOST", "using subnet id %1 and identifier %2, found in %3 host: %4", + "HOSTS_MGR_ALTERNATE_GET6_SUBNET_ID_IDENTIFIER_NULL", "host not found using subnet id %1 and identifier %2", + NULL +}; + +const isc::log::MessageInitializer initializer(values); + +} // Anonymous namespace + diff --git a/src/lib/dhcpsrv/hosts_messages.h b/src/lib/dhcpsrv/hosts_messages.h new file mode 100644 index 0000000000..6a13da5754 --- /dev/null +++ b/src/lib/dhcpsrv/hosts_messages.h @@ -0,0 +1,62 @@ +// File created from ../../../src/lib/dhcpsrv/hosts_messages.mes on Fri Feb 08 2019 20:31 + +#ifndef HOSTS_MESSAGES_H +#define HOSTS_MESSAGES_H + +#include + +namespace isc { +namespace dhcp { + +extern const isc::log::MessageID HOSTS_BACKENDS_REGISTERED; +extern const isc::log::MessageID HOSTS_BACKEND_DEREGISTER; +extern const isc::log::MessageID HOSTS_BACKEND_REGISTER; +extern const isc::log::MessageID HOSTS_CFG_ADD_HOST; +extern const isc::log::MessageID HOSTS_CFG_CACHE_HOST_DATA_SOURCE; +extern const isc::log::MessageID HOSTS_CFG_CLOSE_HOST_DATA_SOURCE; +extern const isc::log::MessageID HOSTS_CFG_DEL_ALL_SUBNET4; +extern const isc::log::MessageID HOSTS_CFG_DEL_ALL_SUBNET6; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_ADDRESS4; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_ADDRESS4_COUNT; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_ADDRESS4_HOST; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_ADDRESS6; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_ADDRESS6_COUNT; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_ADDRESS6_HOST; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_IDENTIFIER; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_IDENTIFIER_COUNT; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_IDENTIFIER_HOST; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_SUBNET_ID4; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_SUBNET_ID4_COUNT; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_SUBNET_ID4_HOST; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_SUBNET_ID6; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_SUBNET_ID6_COUNT; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_SUBNET_ID6_HOST; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_SUBNET_ID_ADDRESS6; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_SUBNET_ID_ADDRESS6_COUNT; +extern const isc::log::MessageID HOSTS_CFG_GET_ALL_SUBNET_ID_ADDRESS6_HOST; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_PREFIX; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_PREFIX_HOST; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_PREFIX_NULL; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS4; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS4_HOST; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS4_NULL; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS6; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS6_HOST; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS6_NULL; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER_HOST; +extern const isc::log::MessageID HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER_NULL; +extern const isc::log::MessageID HOSTS_MGR_ALTERNATE_GET4_SUBNET_ID_ADDRESS4; +extern const isc::log::MessageID HOSTS_MGR_ALTERNATE_GET4_SUBNET_ID_IDENTIFIER; +extern const isc::log::MessageID HOSTS_MGR_ALTERNATE_GET4_SUBNET_ID_IDENTIFIER_HOST; +extern const isc::log::MessageID HOSTS_MGR_ALTERNATE_GET4_SUBNET_ID_IDENTIFIER_NULL; +extern const isc::log::MessageID HOSTS_MGR_ALTERNATE_GET6_PREFIX; +extern const isc::log::MessageID HOSTS_MGR_ALTERNATE_GET6_SUBNET_ID_ADDRESS6; +extern const isc::log::MessageID HOSTS_MGR_ALTERNATE_GET6_SUBNET_ID_IDENTIFIER; +extern const isc::log::MessageID HOSTS_MGR_ALTERNATE_GET6_SUBNET_ID_IDENTIFIER_HOST; +extern const isc::log::MessageID HOSTS_MGR_ALTERNATE_GET6_SUBNET_ID_IDENTIFIER_NULL; + +} // namespace dhcp +} // namespace isc + +#endif // HOSTS_MESSAGES_H diff --git a/src/lib/eval/.gitignore b/src/lib/eval/.gitignore deleted file mode 100644 index c16e2ccba1..0000000000 --- a/src/lib/eval/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/eval_messages.cc -/eval_messages.h -/s-messages diff --git a/src/lib/eval/Makefile.am b/src/lib/eval/Makefile.am index 5d04e08ac1..94b9e1917b 100644 --- a/src/lib/eval/Makefile.am +++ b/src/lib/eval/Makefile.am @@ -22,8 +22,7 @@ libkea_eval_la_SOURCES += parser.cc parser.h libkea_eval_la_SOURCES += lexer.cc libkea_eval_la_SOURCES += location.hh position.hh stack.hh libkea_eval_la_SOURCES += eval_context.cc eval_context.h eval_context_decl.h - -nodist_libkea_eval_la_SOURCES = eval_messages.h eval_messages.cc +libkea_eval_la_SOURCES += eval_messages.h eval_messages.cc libkea_eval_la_CXXFLAGS = $(AM_CXXFLAGS) libkea_eval_la_CPPFLAGS = $(AM_CPPFLAGS) @@ -45,23 +44,40 @@ EXTRA_DIST = eval.dox EXTRA_DIST += eval_messages.mes EXTRA_DIST += lexer.ll parser.yy +CLEANFILES = *.gcno *.gcda + +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f eval_messages.h eval_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES + # Define rule to build logging source files from message file -eval_messages.h eval_messages.cc: s-messages +messages: eval_messages.h eval_messages.cc + @echo Message files regenerated -s-messages: eval_messages.mes +eval_messages.h eval_messages.cc: eval_messages.mes $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/eval/eval_messages.mes - touch $@ -# Tell Automake that the eval_messages.{cc,h} source files are created in the -# build process, so it must create these before doing anything else. Although -# they are a dependency of the library (so will be created from the -# message file anyway), there is no guarantee as to exactly _when_ in the build -# they will be created. As the .h file is included in other sources file (so -# must be present when they are compiled), the safest option is to create it -# first. -BUILT_SOURCES = eval_messages.h eval_messages.cc +else + +messages eval_messages.h eval_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it. -CLEANFILES = eval_messages.h eval_messages.cc s-messages +endif # If we want to get rid of all flex/bison generated files, we need to use # make maintainer-clean. The proper way to introduce custom commands for @@ -113,6 +129,7 @@ libkea_eval_include_HEADERS = \ eval_context.h \ eval_context_decl.h \ eval_log.h \ + eval_messages.h \ evaluate.h \ parser.h \ token.h diff --git a/src/lib/eval/eval_messages.cc b/src/lib/eval/eval_messages.cc new file mode 100644 index 0000000000..3f7803b3f5 --- /dev/null +++ b/src/lib/eval/eval_messages.cc @@ -0,0 +1,87 @@ +// File created from ../../../src/lib/eval/eval_messages.mes on Fri Feb 08 2019 20:17 + +#include +#include +#include + +namespace isc { +namespace dhcp { + +extern const isc::log::MessageID EVAL_DEBUG_AND = "EVAL_DEBUG_AND"; +extern const isc::log::MessageID EVAL_DEBUG_CONCAT = "EVAL_DEBUG_CONCAT"; +extern const isc::log::MessageID EVAL_DEBUG_EQUAL = "EVAL_DEBUG_EQUAL"; +extern const isc::log::MessageID EVAL_DEBUG_HEXSTRING = "EVAL_DEBUG_HEXSTRING"; +extern const isc::log::MessageID EVAL_DEBUG_IFELSE_FALSE = "EVAL_DEBUG_IFELSE_FALSE"; +extern const isc::log::MessageID EVAL_DEBUG_IFELSE_TRUE = "EVAL_DEBUG_IFELSE_TRUE"; +extern const isc::log::MessageID EVAL_DEBUG_IPADDRESS = "EVAL_DEBUG_IPADDRESS"; +extern const isc::log::MessageID EVAL_DEBUG_MEMBER = "EVAL_DEBUG_MEMBER"; +extern const isc::log::MessageID EVAL_DEBUG_NOT = "EVAL_DEBUG_NOT"; +extern const isc::log::MessageID EVAL_DEBUG_OPTION = "EVAL_DEBUG_OPTION"; +extern const isc::log::MessageID EVAL_DEBUG_OR = "EVAL_DEBUG_OR"; +extern const isc::log::MessageID EVAL_DEBUG_PKT = "EVAL_DEBUG_PKT"; +extern const isc::log::MessageID EVAL_DEBUG_PKT4 = "EVAL_DEBUG_PKT4"; +extern const isc::log::MessageID EVAL_DEBUG_PKT6 = "EVAL_DEBUG_PKT6"; +extern const isc::log::MessageID EVAL_DEBUG_RELAY6 = "EVAL_DEBUG_RELAY6"; +extern const isc::log::MessageID EVAL_DEBUG_RELAY6_RANGE = "EVAL_DEBUG_RELAY6_RANGE"; +extern const isc::log::MessageID EVAL_DEBUG_STRING = "EVAL_DEBUG_STRING"; +extern const isc::log::MessageID EVAL_DEBUG_SUBSTRING = "EVAL_DEBUG_SUBSTRING"; +extern const isc::log::MessageID EVAL_DEBUG_SUBSTRING_EMPTY = "EVAL_DEBUG_SUBSTRING_EMPTY"; +extern const isc::log::MessageID EVAL_DEBUG_SUBSTRING_RANGE = "EVAL_DEBUG_SUBSTRING_RANGE"; +extern const isc::log::MessageID EVAL_DEBUG_TOHEXSTRING = "EVAL_DEBUG_TOHEXSTRING"; +extern const isc::log::MessageID EVAL_DEBUG_VENDOR_CLASS_DATA = "EVAL_DEBUG_VENDOR_CLASS_DATA"; +extern const isc::log::MessageID EVAL_DEBUG_VENDOR_CLASS_DATA_NOT_FOUND = "EVAL_DEBUG_VENDOR_CLASS_DATA_NOT_FOUND"; +extern const isc::log::MessageID EVAL_DEBUG_VENDOR_CLASS_ENTERPRISE_ID = "EVAL_DEBUG_VENDOR_CLASS_ENTERPRISE_ID"; +extern const isc::log::MessageID EVAL_DEBUG_VENDOR_CLASS_ENTERPRISE_ID_MISMATCH = "EVAL_DEBUG_VENDOR_CLASS_ENTERPRISE_ID_MISMATCH"; +extern const isc::log::MessageID EVAL_DEBUG_VENDOR_CLASS_EXISTS = "EVAL_DEBUG_VENDOR_CLASS_EXISTS"; +extern const isc::log::MessageID EVAL_DEBUG_VENDOR_CLASS_NO_OPTION = "EVAL_DEBUG_VENDOR_CLASS_NO_OPTION"; +extern const isc::log::MessageID EVAL_DEBUG_VENDOR_ENTERPRISE_ID = "EVAL_DEBUG_VENDOR_ENTERPRISE_ID"; +extern const isc::log::MessageID EVAL_DEBUG_VENDOR_ENTERPRISE_ID_MISMATCH = "EVAL_DEBUG_VENDOR_ENTERPRISE_ID_MISMATCH"; +extern const isc::log::MessageID EVAL_DEBUG_VENDOR_EXISTS = "EVAL_DEBUG_VENDOR_EXISTS"; +extern const isc::log::MessageID EVAL_DEBUG_VENDOR_NO_OPTION = "EVAL_DEBUG_VENDOR_NO_OPTION"; +extern const isc::log::MessageID EVAL_RESULT = "EVAL_RESULT"; + +} // namespace dhcp +} // namespace isc + +namespace { + +const char* values[] = { + "EVAL_DEBUG_AND", "Popping %1 and %2 pushing %3", + "EVAL_DEBUG_CONCAT", "Popping %1 and %2 pushing %3", + "EVAL_DEBUG_EQUAL", "Popping %1 and %2 pushing result %3", + "EVAL_DEBUG_HEXSTRING", "Pushing hex string %1", + "EVAL_DEBUG_IFELSE_FALSE", "Popping %1 (false) and %2, leaving %3", + "EVAL_DEBUG_IFELSE_TRUE", "Popping %1 (true) and %2, leaving %3", + "EVAL_DEBUG_IPADDRESS", "Pushing IPAddress %1", + "EVAL_DEBUG_MEMBER", "Checking membership of '%1', pushing result %2", + "EVAL_DEBUG_NOT", "Popping %1 pushing %2", + "EVAL_DEBUG_OPTION", "Pushing option %1 with value %2", + "EVAL_DEBUG_OR", "Popping %1 and %2 pushing %3", + "EVAL_DEBUG_PKT", "Pushing PKT meta data %1 with value %2", + "EVAL_DEBUG_PKT4", "Pushing PKT4 field %1 with value %2", + "EVAL_DEBUG_PKT6", "Pushing PKT6 field %1 with value %2", + "EVAL_DEBUG_RELAY6", "Pushing PKT6 relay field %1 nest %2 with value %3", + "EVAL_DEBUG_RELAY6_RANGE", "Pushing PKT6 relay field %1 nest %2 with value %3", + "EVAL_DEBUG_STRING", "Pushing text string %1", + "EVAL_DEBUG_SUBSTRING", "Popping length %1, start %2, string %3 pushing result %4", + "EVAL_DEBUG_SUBSTRING_EMPTY", "Popping length %1, start %2, string %3 pushing result %4", + "EVAL_DEBUG_SUBSTRING_RANGE", "Popping length %1, start %2, string %3 pushing result %4", + "EVAL_DEBUG_TOHEXSTRING", "Popping binary value %1 and separator %2, pushing result %3", + "EVAL_DEBUG_VENDOR_CLASS_DATA", "Data %1 (out of %2 received) in vendor class found, pushing result '%3'", + "EVAL_DEBUG_VENDOR_CLASS_DATA_NOT_FOUND", "Requested data index %1, but option with enterprise-id %2 has only %3 data tuple(s), pushing result '%4'", + "EVAL_DEBUG_VENDOR_CLASS_ENTERPRISE_ID", "Pushing enterprise-id %1 as result 0x%2", + "EVAL_DEBUG_VENDOR_CLASS_ENTERPRISE_ID_MISMATCH", "Was looking for %1, option had %2, pushing result '%3'", + "EVAL_DEBUG_VENDOR_CLASS_EXISTS", "Option with enterprise-id %1 found, pushing result '%2'", + "EVAL_DEBUG_VENDOR_CLASS_NO_OPTION", "Option with code %1 missing, pushing result '%2'", + "EVAL_DEBUG_VENDOR_ENTERPRISE_ID", "Pushing enterprise-id %1 as result 0x%2", + "EVAL_DEBUG_VENDOR_ENTERPRISE_ID_MISMATCH", "Was looking for %1, option had %2, pushing result '%3'", + "EVAL_DEBUG_VENDOR_EXISTS", "Option with enterprise-id %1 found, pushing result '%2'", + "EVAL_DEBUG_VENDOR_NO_OPTION", "Option with code %1 missing, pushing result '%2'", + "EVAL_RESULT", "Expression %1 evaluated to %2", + NULL +}; + +const isc::log::MessageInitializer initializer(values); + +} // Anonymous namespace + diff --git a/src/lib/eval/eval_messages.h b/src/lib/eval/eval_messages.h new file mode 100644 index 0000000000..99af4eabf3 --- /dev/null +++ b/src/lib/eval/eval_messages.h @@ -0,0 +1,47 @@ +// File created from ../../../src/lib/eval/eval_messages.mes on Fri Feb 08 2019 20:17 + +#ifndef EVAL_MESSAGES_H +#define EVAL_MESSAGES_H + +#include + +namespace isc { +namespace dhcp { + +extern const isc::log::MessageID EVAL_DEBUG_AND; +extern const isc::log::MessageID EVAL_DEBUG_CONCAT; +extern const isc::log::MessageID EVAL_DEBUG_EQUAL; +extern const isc::log::MessageID EVAL_DEBUG_HEXSTRING; +extern const isc::log::MessageID EVAL_DEBUG_IFELSE_FALSE; +extern const isc::log::MessageID EVAL_DEBUG_IFELSE_TRUE; +extern const isc::log::MessageID EVAL_DEBUG_IPADDRESS; +extern const isc::log::MessageID EVAL_DEBUG_MEMBER; +extern const isc::log::MessageID EVAL_DEBUG_NOT; +extern const isc::log::MessageID EVAL_DEBUG_OPTION; +extern const isc::log::MessageID EVAL_DEBUG_OR; +extern const isc::log::MessageID EVAL_DEBUG_PKT; +extern const isc::log::MessageID EVAL_DEBUG_PKT4; +extern const isc::log::MessageID EVAL_DEBUG_PKT6; +extern const isc::log::MessageID EVAL_DEBUG_RELAY6; +extern const isc::log::MessageID EVAL_DEBUG_RELAY6_RANGE; +extern const isc::log::MessageID EVAL_DEBUG_STRING; +extern const isc::log::MessageID EVAL_DEBUG_SUBSTRING; +extern const isc::log::MessageID EVAL_DEBUG_SUBSTRING_EMPTY; +extern const isc::log::MessageID EVAL_DEBUG_SUBSTRING_RANGE; +extern const isc::log::MessageID EVAL_DEBUG_TOHEXSTRING; +extern const isc::log::MessageID EVAL_DEBUG_VENDOR_CLASS_DATA; +extern const isc::log::MessageID EVAL_DEBUG_VENDOR_CLASS_DATA_NOT_FOUND; +extern const isc::log::MessageID EVAL_DEBUG_VENDOR_CLASS_ENTERPRISE_ID; +extern const isc::log::MessageID EVAL_DEBUG_VENDOR_CLASS_ENTERPRISE_ID_MISMATCH; +extern const isc::log::MessageID EVAL_DEBUG_VENDOR_CLASS_EXISTS; +extern const isc::log::MessageID EVAL_DEBUG_VENDOR_CLASS_NO_OPTION; +extern const isc::log::MessageID EVAL_DEBUG_VENDOR_ENTERPRISE_ID; +extern const isc::log::MessageID EVAL_DEBUG_VENDOR_ENTERPRISE_ID_MISMATCH; +extern const isc::log::MessageID EVAL_DEBUG_VENDOR_EXISTS; +extern const isc::log::MessageID EVAL_DEBUG_VENDOR_NO_OPTION; +extern const isc::log::MessageID EVAL_RESULT; + +} // namespace dhcp +} // namespace isc + +#endif // EVAL_MESSAGES_H diff --git a/src/lib/hooks/.gitignore b/src/lib/hooks/.gitignore deleted file mode 100644 index 89adbe1baf..0000000000 --- a/src/lib/hooks/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/hooks_messages.cc -/hooks_messages.h -/s-messages diff --git a/src/lib/hooks/Makefile.am b/src/lib/hooks/Makefile.am index 0562de3f6c..d52b3cb3b6 100644 --- a/src/lib/hooks/Makefile.am +++ b/src/lib/hooks/Makefile.am @@ -4,17 +4,6 @@ AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib AM_CPPFLAGS += $(BOOST_INCLUDES) AM_CXXFLAGS = $(KEA_CXXFLAGS) -# Define rule to build logging source files from message file -hooks_messages.h hooks_messages.cc: s-messages - -s-messages: hooks_messages.mes - $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/hooks/hooks_messages.mes - touch $@ - -# Tell automake that the message files are built as part of the build process -# (so that they are built before the main library is built). -BUILT_SOURCES = hooks_messages.h hooks_messages.cc - # Ensure that the message file is included in the distribution EXTRA_DIST = hooks_messages.mes @@ -26,8 +15,7 @@ EXTRA_DIST += images/DataScopeArgument.dia images/DataScopeArgument.png EXTRA_DIST += images/DataScopeContext.dia images/DataScopeContext.png EXTRA_DIST += images/HooksUml.dia images/HooksUml.png -# Get rid of generated message files on a clean -CLEANFILES = *.gcno *.gcda hooks_messages.h hooks_messages.cc s-messages +CLEANFILES = *.gcno *.gcda lib_LTLIBRARIES = libkea-hooks.la libkea_hooks_la_SOURCES = @@ -46,8 +34,7 @@ libkea_hooks_la_SOURCES += library_manager_collection.cc library_manager_collect libkea_hooks_la_SOURCES += parking_lots.h libkea_hooks_la_SOURCES += pointer_converter.h libkea_hooks_la_SOURCES += server_hooks.cc server_hooks.h - -nodist_libkea_hooks_la_SOURCES = hooks_messages.cc hooks_messages.h +libkea_hooks_la_SOURCES += hooks_messages.cc hooks_messages.h libkea_hooks_la_CXXFLAGS = $(AM_CXXFLAGS) libkea_hooks_la_CPPFLAGS = $(AM_CPPFLAGS) @@ -61,6 +48,39 @@ libkea_hooks_la_LIBADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.l libkea_hooks_la_LIBADD += $(BOOST_LIBS) libkea_hooks_la_LIBADD += $(LOG4CPLUS_LIBS) +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f hooks_messages.h hooks_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES + +# Define rule to build logging source files from message file +messages: hooks_messages.h hooks_messages.cc + @echo Message files regenerated + +hooks_messages.h hooks_messages.cc: hooks_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/hooks/hooks_messages.mes + +else + +messages hooks_messages.h hooks_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it. + +endif + # Specify the headers for copying into the installation directory tree. libkea_hooks_includedir = $(pkgincludedir)/hooks libkea_hooks_include_HEADERS = \ @@ -71,6 +91,7 @@ libkea_hooks_include_HEADERS = \ hooks_config.h \ hooks_log.h \ hooks_manager.h \ + hooks_messages.h \ hooks_parser.h \ libinfo.h \ library_handle.h \ diff --git a/src/lib/hooks/hooks_messages.cc b/src/lib/hooks/hooks_messages.cc new file mode 100644 index 0000000000..ca5d96214a --- /dev/null +++ b/src/lib/hooks/hooks_messages.cc @@ -0,0 +1,85 @@ +// File created from ../../../src/lib/hooks/hooks_messages.mes on Fri Feb 08 2019 20:16 + +#include +#include +#include + +namespace isc { +namespace hooks { + +extern const isc::log::MessageID HOOKS_ALL_CALLOUTS_DEREGISTERED = "HOOKS_ALL_CALLOUTS_DEREGISTERED"; +extern const isc::log::MessageID HOOKS_CALLOUTS_BEGIN = "HOOKS_CALLOUTS_BEGIN"; +extern const isc::log::MessageID HOOKS_CALLOUTS_COMPLETE = "HOOKS_CALLOUTS_COMPLETE"; +extern const isc::log::MessageID HOOKS_CALLOUTS_REMOVED = "HOOKS_CALLOUTS_REMOVED"; +extern const isc::log::MessageID HOOKS_CALLOUT_CALLED = "HOOKS_CALLOUT_CALLED"; +extern const isc::log::MessageID HOOKS_CALLOUT_DEREGISTERED = "HOOKS_CALLOUT_DEREGISTERED"; +extern const isc::log::MessageID HOOKS_CALLOUT_ERROR = "HOOKS_CALLOUT_ERROR"; +extern const isc::log::MessageID HOOKS_CALLOUT_EXCEPTION = "HOOKS_CALLOUT_EXCEPTION"; +extern const isc::log::MessageID HOOKS_CALLOUT_REGISTRATION = "HOOKS_CALLOUT_REGISTRATION"; +extern const isc::log::MessageID HOOKS_CLOSE_ERROR = "HOOKS_CLOSE_ERROR"; +extern const isc::log::MessageID HOOKS_HOOK_LIST_RESET = "HOOKS_HOOK_LIST_RESET"; +extern const isc::log::MessageID HOOKS_INCORRECT_VERSION = "HOOKS_INCORRECT_VERSION"; +extern const isc::log::MessageID HOOKS_LIBRARY_LOADED = "HOOKS_LIBRARY_LOADED"; +extern const isc::log::MessageID HOOKS_LIBRARY_LOADING = "HOOKS_LIBRARY_LOADING"; +extern const isc::log::MessageID HOOKS_LIBRARY_UNLOADED = "HOOKS_LIBRARY_UNLOADED"; +extern const isc::log::MessageID HOOKS_LIBRARY_UNLOADING = "HOOKS_LIBRARY_UNLOADING"; +extern const isc::log::MessageID HOOKS_LIBRARY_VERSION = "HOOKS_LIBRARY_VERSION"; +extern const isc::log::MessageID HOOKS_LOAD_ERROR = "HOOKS_LOAD_ERROR"; +extern const isc::log::MessageID HOOKS_LOAD_EXCEPTION = "HOOKS_LOAD_EXCEPTION"; +extern const isc::log::MessageID HOOKS_LOAD_FRAMEWORK_EXCEPTION = "HOOKS_LOAD_FRAMEWORK_EXCEPTION"; +extern const isc::log::MessageID HOOKS_LOAD_SUCCESS = "HOOKS_LOAD_SUCCESS"; +extern const isc::log::MessageID HOOKS_NO_LOAD = "HOOKS_NO_LOAD"; +extern const isc::log::MessageID HOOKS_NO_UNLOAD = "HOOKS_NO_UNLOAD"; +extern const isc::log::MessageID HOOKS_NO_VERSION = "HOOKS_NO_VERSION"; +extern const isc::log::MessageID HOOKS_OPEN_ERROR = "HOOKS_OPEN_ERROR"; +extern const isc::log::MessageID HOOKS_STD_CALLOUT_REGISTERED = "HOOKS_STD_CALLOUT_REGISTERED"; +extern const isc::log::MessageID HOOKS_UNLOAD_ERROR = "HOOKS_UNLOAD_ERROR"; +extern const isc::log::MessageID HOOKS_UNLOAD_EXCEPTION = "HOOKS_UNLOAD_EXCEPTION"; +extern const isc::log::MessageID HOOKS_UNLOAD_FRAMEWORK_EXCEPTION = "HOOKS_UNLOAD_FRAMEWORK_EXCEPTION"; +extern const isc::log::MessageID HOOKS_UNLOAD_SUCCESS = "HOOKS_UNLOAD_SUCCESS"; +extern const isc::log::MessageID HOOKS_VERSION_EXCEPTION = "HOOKS_VERSION_EXCEPTION"; + +} // namespace hooks +} // namespace isc + +namespace { + +const char* values[] = { + "HOOKS_ALL_CALLOUTS_DEREGISTERED", "hook library at index %1 removed all callouts on hook %2", + "HOOKS_CALLOUTS_BEGIN", "begin all callouts for hook %1", + "HOOKS_CALLOUTS_COMPLETE", "completed callouts for hook %1 (total callouts duration: %2)", + "HOOKS_CALLOUTS_REMOVED", "callouts removed from hook %1 for library %2", + "HOOKS_CALLOUT_CALLED", "hooks library with index %1 has called a callout on hook %2 that has address %3 (callout duration: %4)", + "HOOKS_CALLOUT_DEREGISTERED", "hook library at index %1 deregistered a callout on hook %2", + "HOOKS_CALLOUT_ERROR", "error returned by callout on hook %1 registered by library with index %2 (callout address %3) (callout duration %4)", + "HOOKS_CALLOUT_EXCEPTION", "exception thrown by callout on hook %1 registered by library with index %2 (callout address %3): %4 (callout duration: %5)", + "HOOKS_CALLOUT_REGISTRATION", "hooks library with index %1 registering callout for hook '%2'", + "HOOKS_CLOSE_ERROR", "failed to close hook library %1: %2", + "HOOKS_HOOK_LIST_RESET", "the list of hooks has been reset", + "HOOKS_INCORRECT_VERSION", "hook library %1 is at version %2, require version %3", + "HOOKS_LIBRARY_LOADED", "hooks library %1 successfully loaded", + "HOOKS_LIBRARY_LOADING", "loading hooks library %1", + "HOOKS_LIBRARY_UNLOADED", "hooks library %1 successfully unloaded", + "HOOKS_LIBRARY_UNLOADING", "unloading library %1", + "HOOKS_LIBRARY_VERSION", "hooks library %1 reports its version as %2", + "HOOKS_LOAD_ERROR", "'load' function in hook library %1 returned error %2", + "HOOKS_LOAD_EXCEPTION", "'load' function in hook library %1 threw an exception", + "HOOKS_LOAD_FRAMEWORK_EXCEPTION", "'load' function in hook library %1 threw an exception: reason %2", + "HOOKS_LOAD_SUCCESS", "'load' function in hook library %1 returned success", + "HOOKS_NO_LOAD", "no 'load' function found in hook library %1", + "HOOKS_NO_UNLOAD", "no 'unload' function found in hook library %1", + "HOOKS_NO_VERSION", "no 'version' function found in hook library %1", + "HOOKS_OPEN_ERROR", "failed to open hook library %1: %2", + "HOOKS_STD_CALLOUT_REGISTERED", "hooks library %1 registered standard callout for hook %2 at address %3", + "HOOKS_UNLOAD_ERROR", "'unload' function in hook library %1 returned error %2", + "HOOKS_UNLOAD_EXCEPTION", "'unload' function in hook library %1 threw an exception", + "HOOKS_UNLOAD_FRAMEWORK_EXCEPTION", "'unload' function in hook library %1 threw an exception, reason %2", + "HOOKS_UNLOAD_SUCCESS", "'unload' function in hook library %1 returned success", + "HOOKS_VERSION_EXCEPTION", "'version' function in hook library %1 threw an exception", + NULL +}; + +const isc::log::MessageInitializer initializer(values); + +} // Anonymous namespace + diff --git a/src/lib/hooks/hooks_messages.h b/src/lib/hooks/hooks_messages.h new file mode 100644 index 0000000000..288034665e --- /dev/null +++ b/src/lib/hooks/hooks_messages.h @@ -0,0 +1,46 @@ +// File created from ../../../src/lib/hooks/hooks_messages.mes on Fri Feb 08 2019 20:16 + +#ifndef HOOKS_MESSAGES_H +#define HOOKS_MESSAGES_H + +#include + +namespace isc { +namespace hooks { + +extern const isc::log::MessageID HOOKS_ALL_CALLOUTS_DEREGISTERED; +extern const isc::log::MessageID HOOKS_CALLOUTS_BEGIN; +extern const isc::log::MessageID HOOKS_CALLOUTS_COMPLETE; +extern const isc::log::MessageID HOOKS_CALLOUTS_REMOVED; +extern const isc::log::MessageID HOOKS_CALLOUT_CALLED; +extern const isc::log::MessageID HOOKS_CALLOUT_DEREGISTERED; +extern const isc::log::MessageID HOOKS_CALLOUT_ERROR; +extern const isc::log::MessageID HOOKS_CALLOUT_EXCEPTION; +extern const isc::log::MessageID HOOKS_CALLOUT_REGISTRATION; +extern const isc::log::MessageID HOOKS_CLOSE_ERROR; +extern const isc::log::MessageID HOOKS_HOOK_LIST_RESET; +extern const isc::log::MessageID HOOKS_INCORRECT_VERSION; +extern const isc::log::MessageID HOOKS_LIBRARY_LOADED; +extern const isc::log::MessageID HOOKS_LIBRARY_LOADING; +extern const isc::log::MessageID HOOKS_LIBRARY_UNLOADED; +extern const isc::log::MessageID HOOKS_LIBRARY_UNLOADING; +extern const isc::log::MessageID HOOKS_LIBRARY_VERSION; +extern const isc::log::MessageID HOOKS_LOAD_ERROR; +extern const isc::log::MessageID HOOKS_LOAD_EXCEPTION; +extern const isc::log::MessageID HOOKS_LOAD_FRAMEWORK_EXCEPTION; +extern const isc::log::MessageID HOOKS_LOAD_SUCCESS; +extern const isc::log::MessageID HOOKS_NO_LOAD; +extern const isc::log::MessageID HOOKS_NO_UNLOAD; +extern const isc::log::MessageID HOOKS_NO_VERSION; +extern const isc::log::MessageID HOOKS_OPEN_ERROR; +extern const isc::log::MessageID HOOKS_STD_CALLOUT_REGISTERED; +extern const isc::log::MessageID HOOKS_UNLOAD_ERROR; +extern const isc::log::MessageID HOOKS_UNLOAD_EXCEPTION; +extern const isc::log::MessageID HOOKS_UNLOAD_FRAMEWORK_EXCEPTION; +extern const isc::log::MessageID HOOKS_UNLOAD_SUCCESS; +extern const isc::log::MessageID HOOKS_VERSION_EXCEPTION; + +} // namespace hooks +} // namespace isc + +#endif // HOOKS_MESSAGES_H diff --git a/src/lib/http/.gitignore b/src/lib/http/.gitignore deleted file mode 100644 index 4aeda87246..0000000000 --- a/src/lib/http/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/http_messages.cc -/http_messages.h -/s-messages diff --git a/src/lib/http/Makefile.am b/src/lib/http/Makefile.am index f4e77c9ad8..6b99252862 100644 --- a/src/lib/http/Makefile.am +++ b/src/lib/http/Makefile.am @@ -4,22 +4,10 @@ AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib AM_CPPFLAGS += $(BOOST_INCLUDES) AM_CXXFLAGS = $(KEA_CXXFLAGS) -# Define rule to build logging source files from message file -http_messages.h http_messages.cc: s-messages - -s-messages: http_messages.mes - $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/http/http_messages.mes - touch $@ - -# Tell automake that the message files are built as part of the build process -# (so that they are built before the main library is built). -BUILT_SOURCES = http_messages.h http_messages.cc - # Ensure that the message file is included in the distribution EXTRA_DIST = http_messages.mes -# Get rid of generated message files on a clean -CLEANFILES = *.gcno *.gcda http_messages.h http_messages.cc s-messages +CLEANFILES = *.gcno *.gcda lib_LTLIBRARIES = libkea-http.la libkea_http_la_SOURCES = client.cc client.h @@ -32,6 +20,7 @@ libkea_http_la_SOURCES += http_acceptor.h libkea_http_la_SOURCES += http_header.cc http_header.h libkea_http_la_SOURCES += http_message.cc http_message.h libkea_http_la_SOURCES += http_message_parser_base.cc http_message_parser_base.h +libkea_http_la_SOURCES += http_messages.cc http_messages.h libkea_http_la_SOURCES += http_types.h libkea_http_la_SOURCES += listener.cc listener.h libkea_http_la_SOURCES += post_request.cc post_request.h @@ -47,8 +36,6 @@ libkea_http_la_SOURCES += response_creator_factory.h libkea_http_la_SOURCES += response_json.cc response_json.h libkea_http_la_SOURCES += url.cc url.h -nodist_libkea_http_la_SOURCES = http_messages.cc http_messages.h - libkea_http_la_CXXFLAGS = $(AM_CXXFLAGS) libkea_http_la_CPPFLAGS = $(AM_CPPFLAGS) libkea_http_la_LDFLAGS = $(AM_LDFLAGS) @@ -63,6 +50,39 @@ libkea_http_la_LIBADD += $(top_builddir)/src/lib/util/libkea-util.la libkea_http_la_LIBADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la libkea_http_la_LIBADD += $(LOG4CPLUS_LIBS) $(BOOST_LIBS) +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f http_messages.h http_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES + +# Define rule to build logging source files from message file +messages: http_messages.h http_messages.cc + @echo Message files regenerated + +http_messages.h http_messages.cc: http_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/http/http_messages.mes + +else + +messages http_messages.h http_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it. + +endif + # Specify the headers for copying into the installation directory tree. libkea_http_includedir = $(pkgincludedir)/http libkea_http_include_HEADERS = \ @@ -76,6 +96,7 @@ libkea_http_include_HEADERS = \ http_log.h \ http_message.h \ http_message_parser_base.h \ + http_messages.h \ http_types.h \ listener.h \ post_request.h \ diff --git a/src/lib/http/http_messages.cc b/src/lib/http/http_messages.cc new file mode 100644 index 0000000000..cb84e76744 --- /dev/null +++ b/src/lib/http/http_messages.cc @@ -0,0 +1,59 @@ +// File created from ../../../src/lib/http/http_messages.mes on Fri Feb 08 2019 20:32 + +#include +#include +#include + +namespace isc { +namespace http { + +extern const isc::log::MessageID HTTP_BAD_CLIENT_REQUEST_RECEIVED = "HTTP_BAD_CLIENT_REQUEST_RECEIVED"; +extern const isc::log::MessageID HTTP_BAD_CLIENT_REQUEST_RECEIVED_DETAILS = "HTTP_BAD_CLIENT_REQUEST_RECEIVED_DETAILS"; +extern const isc::log::MessageID HTTP_BAD_SERVER_RESPONSE_RECEIVED = "HTTP_BAD_SERVER_RESPONSE_RECEIVED"; +extern const isc::log::MessageID HTTP_BAD_SERVER_RESPONSE_RECEIVED_DETAILS = "HTTP_BAD_SERVER_RESPONSE_RECEIVED_DETAILS"; +extern const isc::log::MessageID HTTP_CLIENT_REQUEST_RECEIVED = "HTTP_CLIENT_REQUEST_RECEIVED"; +extern const isc::log::MessageID HTTP_CLIENT_REQUEST_RECEIVED_DETAILS = "HTTP_CLIENT_REQUEST_RECEIVED_DETAILS"; +extern const isc::log::MessageID HTTP_CLIENT_REQUEST_SEND = "HTTP_CLIENT_REQUEST_SEND"; +extern const isc::log::MessageID HTTP_CLIENT_REQUEST_SEND_DETAILS = "HTTP_CLIENT_REQUEST_SEND_DETAILS"; +extern const isc::log::MessageID HTTP_CLIENT_REQUEST_TIMEOUT_OCCURRED = "HTTP_CLIENT_REQUEST_TIMEOUT_OCCURRED"; +extern const isc::log::MessageID HTTP_CONNECTION_STOP = "HTTP_CONNECTION_STOP"; +extern const isc::log::MessageID HTTP_CONNECTION_STOP_FAILED = "HTTP_CONNECTION_STOP_FAILED"; +extern const isc::log::MessageID HTTP_DATA_RECEIVED = "HTTP_DATA_RECEIVED"; +extern const isc::log::MessageID HTTP_IDLE_CONNECTION_TIMEOUT_OCCURRED = "HTTP_IDLE_CONNECTION_TIMEOUT_OCCURRED"; +extern const isc::log::MessageID HTTP_REQUEST_RECEIVE_START = "HTTP_REQUEST_RECEIVE_START"; +extern const isc::log::MessageID HTTP_SERVER_RESPONSE_RECEIVED = "HTTP_SERVER_RESPONSE_RECEIVED"; +extern const isc::log::MessageID HTTP_SERVER_RESPONSE_RECEIVED_DETAILS = "HTTP_SERVER_RESPONSE_RECEIVED_DETAILS"; +extern const isc::log::MessageID HTTP_SERVER_RESPONSE_SEND = "HTTP_SERVER_RESPONSE_SEND"; +extern const isc::log::MessageID HTTP_SERVER_RESPONSE_SEND_DETAILS = "HTTP_SERVER_RESPONSE_SEND_DETAILS"; + +} // namespace http +} // namespace isc + +namespace { + +const char* values[] = { + "HTTP_BAD_CLIENT_REQUEST_RECEIVED", "bad request received from %1: %2", + "HTTP_BAD_CLIENT_REQUEST_RECEIVED_DETAILS", "detailed information about bad request received from %1:\n%2", + "HTTP_BAD_SERVER_RESPONSE_RECEIVED", "bad response received when communicating with %1: %2", + "HTTP_BAD_SERVER_RESPONSE_RECEIVED_DETAILS", "detailed information about bad response received from %1:\n%2", + "HTTP_CLIENT_REQUEST_RECEIVED", "received HTTP request from %1", + "HTTP_CLIENT_REQUEST_RECEIVED_DETAILS", "detailed information about well formed request received from %1:\n%2", + "HTTP_CLIENT_REQUEST_SEND", "sending HTTP request %1 to %2", + "HTTP_CLIENT_REQUEST_SEND_DETAILS", "detailed information about request sent to %1:\n%2", + "HTTP_CLIENT_REQUEST_TIMEOUT_OCCURRED", "HTTP request timeout occurred when communicating with %1", + "HTTP_CONNECTION_STOP", "stopping HTTP connection from %1", + "HTTP_CONNECTION_STOP_FAILED", "stopping HTTP connection failed", + "HTTP_DATA_RECEIVED", "received %1 bytes from %2", + "HTTP_IDLE_CONNECTION_TIMEOUT_OCCURRED", "closing persistent connection with %1 as a result of a timeout", + "HTTP_REQUEST_RECEIVE_START", "start receiving request from %1 with timeout %2", + "HTTP_SERVER_RESPONSE_RECEIVED", "received HTTP response from %1", + "HTTP_SERVER_RESPONSE_RECEIVED_DETAILS", "detailed information about well formed response received from %1:\n%2", + "HTTP_SERVER_RESPONSE_SEND", "sending HTTP response %1 to %2", + "HTTP_SERVER_RESPONSE_SEND_DETAILS", "detailed information about response sent to %1:\n%2", + NULL +}; + +const isc::log::MessageInitializer initializer(values); + +} // Anonymous namespace + diff --git a/src/lib/http/http_messages.h b/src/lib/http/http_messages.h new file mode 100644 index 0000000000..3f3788489c --- /dev/null +++ b/src/lib/http/http_messages.h @@ -0,0 +1,33 @@ +// File created from ../../../src/lib/http/http_messages.mes on Fri Feb 08 2019 20:32 + +#ifndef HTTP_MESSAGES_H +#define HTTP_MESSAGES_H + +#include + +namespace isc { +namespace http { + +extern const isc::log::MessageID HTTP_BAD_CLIENT_REQUEST_RECEIVED; +extern const isc::log::MessageID HTTP_BAD_CLIENT_REQUEST_RECEIVED_DETAILS; +extern const isc::log::MessageID HTTP_BAD_SERVER_RESPONSE_RECEIVED; +extern const isc::log::MessageID HTTP_BAD_SERVER_RESPONSE_RECEIVED_DETAILS; +extern const isc::log::MessageID HTTP_CLIENT_REQUEST_RECEIVED; +extern const isc::log::MessageID HTTP_CLIENT_REQUEST_RECEIVED_DETAILS; +extern const isc::log::MessageID HTTP_CLIENT_REQUEST_SEND; +extern const isc::log::MessageID HTTP_CLIENT_REQUEST_SEND_DETAILS; +extern const isc::log::MessageID HTTP_CLIENT_REQUEST_TIMEOUT_OCCURRED; +extern const isc::log::MessageID HTTP_CONNECTION_STOP; +extern const isc::log::MessageID HTTP_CONNECTION_STOP_FAILED; +extern const isc::log::MessageID HTTP_DATA_RECEIVED; +extern const isc::log::MessageID HTTP_IDLE_CONNECTION_TIMEOUT_OCCURRED; +extern const isc::log::MessageID HTTP_REQUEST_RECEIVE_START; +extern const isc::log::MessageID HTTP_SERVER_RESPONSE_RECEIVED; +extern const isc::log::MessageID HTTP_SERVER_RESPONSE_RECEIVED_DETAILS; +extern const isc::log::MessageID HTTP_SERVER_RESPONSE_SEND; +extern const isc::log::MessageID HTTP_SERVER_RESPONSE_SEND_DETAILS; + +} // namespace http +} // namespace isc + +#endif // HTTP_MESSAGES_H diff --git a/src/lib/log/tests/.gitignore b/src/lib/log/tests/.gitignore index 05d0a0375d..88a4a47f21 100644 --- a/src/lib/log/tests/.gitignore +++ b/src/lib/log/tests/.gitignore @@ -10,9 +10,6 @@ /logger_example /logger_lock_test /logger_lock_test.sh -/log_test_messages.cc -/log_test_messages.h /run_unittests /severity_test.sh /tempdir.h -/s-messages diff --git a/src/lib/log/tests/Makefile.am b/src/lib/log/tests/Makefile.am index bf601db4ee..6e7440a851 100644 --- a/src/lib/log/tests/Makefile.am +++ b/src/lib/log/tests/Makefile.am @@ -17,14 +17,6 @@ DISTCLEANFILES += local_file_test.sh logger_lock_test.sh severity_test.sh DISTCLEANFILES += tempdir.h EXTRA_DIST = log_test_messages.mes -BUILT_SOURCES = log_test_messages.h log_test_messages.cc -log_test_messages.h log_test_messages.cc: s-messages - -s-messages: log_test_messages.mes - $(AM_V_GEN) $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/log/tests/log_test_messages.mes - touch $@ - -CLEANFILES += log_test_messages.h log_test_messages.cc s-messages noinst_PROGRAMS = logger_example logger_example_SOURCES = logger_example.cc @@ -58,7 +50,7 @@ buffer_logger_test_LDADD += $(AM_LDADD) $(LOG4CPLUS_LIBS) noinst_PROGRAMS += logger_lock_test logger_lock_test_SOURCES = logger_lock_test.cc -nodist_logger_lock_test_SOURCES = log_test_messages.cc log_test_messages.h +logger_lock_test_SOURCES += log_test_messages.cc log_test_messages.h logger_lock_test_CPPFLAGS = $(AM_CPPFLAGS) logger_lock_test_LDFLAGS = $(AM_LDFLAGS) logger_lock_test_LDADD = $(top_builddir)/src/lib/log/libkea-log.la @@ -101,7 +93,7 @@ run_unittests_SOURCES += message_dictionary_unittest.cc run_unittests_SOURCES += message_reader_unittest.cc run_unittests_SOURCES += output_option_unittest.cc run_unittests_SOURCES += buffer_appender_unittest.cc -nodist_run_unittests_SOURCES = log_test_messages.cc log_test_messages.h +run_unittests_SOURCES += log_test_messages.cc log_test_messages.h run_unittests_CPPFLAGS = $(TESTSCPPFLAGS) run_unittests_CXXFLAGS = $(TESTSCXXFLAGS) @@ -144,3 +136,36 @@ check-local: $(SHELL) $(abs_builddir)/local_file_test.sh $(SHELL) $(abs_builddir)/logger_lock_test.sh $(SHELL) $(abs_builddir)/severity_test.sh + +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f log_test_messages.h log_test_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES + +# Define rule to build logging source files from message file +messages: log_test_messages.h log_test_messages.cc + @echo Message files regenerated + +log_test_messages.h log_test_messages.cc: log_test_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/log_test/log_test_messages.mes + +else + +messages log_test_messages.h log_test_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it. + +endif diff --git a/src/lib/log/tests/log_test_messages.cc b/src/lib/log/tests/log_test_messages.cc new file mode 100644 index 0000000000..4e3d89caef --- /dev/null +++ b/src/lib/log/tests/log_test_messages.cc @@ -0,0 +1,25 @@ +// File created from ../../../../src/lib/log/tests/log_test_messages.mes on Fri Feb 08 2019 20:15 + +#include +#include +#include + +namespace isc { +namespace log { + +extern const isc::log::MessageID LOG_LOCK_TEST_MESSAGE = "LOG_LOCK_TEST_MESSAGE"; + +} // namespace log +} // namespace isc + +namespace { + +const char* values[] = { + "LOG_LOCK_TEST_MESSAGE", "this is a test message.", + NULL +}; + +const isc::log::MessageInitializer initializer(values); + +} // Anonymous namespace + diff --git a/src/lib/log/tests/log_test_messages.h b/src/lib/log/tests/log_test_messages.h new file mode 100644 index 0000000000..9d9f295228 --- /dev/null +++ b/src/lib/log/tests/log_test_messages.h @@ -0,0 +1,16 @@ +// File created from ../../../../src/lib/log/tests/log_test_messages.mes on Fri Feb 08 2019 20:15 + +#ifndef LOG_TEST_MESSAGES_H +#define LOG_TEST_MESSAGES_H + +#include + +namespace isc { +namespace log { + +extern const isc::log::MessageID LOG_LOCK_TEST_MESSAGE; + +} // namespace log +} // namespace isc + +#endif // LOG_TEST_MESSAGES_H diff --git a/src/lib/process/.gitignore b/src/lib/process/.gitignore deleted file mode 100644 index e5e3b06a5d..0000000000 --- a/src/lib/process/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/process_messages.cc -/process_messages.h -/s-messages diff --git a/src/lib/process/Makefile.am b/src/lib/process/Makefile.am index 61eb6a051c..dbb3ab5a8f 100644 --- a/src/lib/process/Makefile.am +++ b/src/lib/process/Makefile.am @@ -6,22 +6,10 @@ AM_CPPFLAGS += -DDATA_DIR="\"$(dhcp_data_dir)\"" AM_CPPFLAGS += $(BOOST_INCLUDES) AM_CXXFLAGS = $(KEA_CXXFLAGS) -# Define rule to build logging source files from message file -process_messages.h process_messages.cc: s-messages - -s-messages: process_messages.mes - $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/process/process_messages.mes - touch $@ - -# Tell automake that the message files are built as part of the build process -# (so that they are built before the main library is built). -BUILT_SOURCES = process_messages.h process_messages.cc - # Ensure that the message file is included in the distribution EXTRA_DIST = process_messages.mes libprocess.dox -# Get rid of generated message files on a clean -CLEANFILES = *.gcno *.gcda process_messages.h process_messages.cc s-messages +CLEANFILES = *.gcno *.gcda # Generated by configure files DISTCLEANFILES = spec_config.h.pre @@ -38,8 +26,7 @@ libkea_process_la_SOURCES += daemon.cc daemon.h libkea_process_la_SOURCES += io_service_signal.cc io_service_signal.h libkea_process_la_SOURCES += log_parser.cc log_parser.h libkea_process_la_SOURCES += logging_info.cc logging_info.h - -nodist_libkea_process_la_SOURCES = process_messages.cc process_messages.h +libkea_process_la_SOURCES += process_messages.cc process_messages.h libkea_process_la_CXXFLAGS = $(AM_CXXFLAGS) libkea_process_la_CPPFLAGS = $(AM_CPPFLAGS) @@ -59,6 +46,39 @@ libkea_process_la_LIBADD += $(top_builddir)/src/lib/util/libkea-util.la libkea_process_la_LIBADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la libkea_process_la_LIBADD += $(LOG4CPLUS_LIBS) $(BOOST_LIBS) +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f process_messages.h process_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES + +# Define rule to build logging source files from message file +messages: process_messages.h process_messages.cc + @echo Message files regenerated + +process_messages.h process_messages.cc: process_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/process/process_messages.mes + +else + +messages process_messages.h process_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it. + +endif + # Specify the headers for copying into the installation directory tree. libkea_process_includedir = $(pkgincludedir)/process libkea_process_include_HEADERS = \ @@ -72,4 +92,5 @@ libkea_process_include_HEADERS = \ d_process.h \ io_service_signal.h \ logging_info.h \ - log_parser.h + log_parser.h \ + process_messages.h diff --git a/src/lib/process/process_messages.cc b/src/lib/process/process_messages.cc new file mode 100644 index 0000000000..8835b693a6 --- /dev/null +++ b/src/lib/process/process_messages.cc @@ -0,0 +1,77 @@ +// File created from ../../../src/lib/process/process_messages.mes on Fri Feb 08 2019 20:30 + +#include +#include +#include + +namespace isc { +namespace process { + +extern const isc::log::MessageID DCTL_ALREADY_RUNNING = "DCTL_ALREADY_RUNNING"; +extern const isc::log::MessageID DCTL_CCSESSION_ENDING = "DCTL_CCSESSION_ENDING"; +extern const isc::log::MessageID DCTL_CCSESSION_STARTING = "DCTL_CCSESSION_STARTING"; +extern const isc::log::MessageID DCTL_CFG_FILE_RELOAD_ERROR = "DCTL_CFG_FILE_RELOAD_ERROR"; +extern const isc::log::MessageID DCTL_CFG_FILE_RELOAD_SIGNAL_RECVD = "DCTL_CFG_FILE_RELOAD_SIGNAL_RECVD"; +extern const isc::log::MessageID DCTL_COMMAND_RECEIVED = "DCTL_COMMAND_RECEIVED"; +extern const isc::log::MessageID DCTL_CONFIG_CHECK_COMPLETE = "DCTL_CONFIG_CHECK_COMPLETE"; +extern const isc::log::MessageID DCTL_CONFIG_COMPLETE = "DCTL_CONFIG_COMPLETE"; +extern const isc::log::MessageID DCTL_CONFIG_FILE_LOAD_FAIL = "DCTL_CONFIG_FILE_LOAD_FAIL"; +extern const isc::log::MessageID DCTL_CONFIG_LOAD_FAIL = "DCTL_CONFIG_LOAD_FAIL"; +extern const isc::log::MessageID DCTL_CONFIG_START = "DCTL_CONFIG_START"; +extern const isc::log::MessageID DCTL_CONFIG_STUB = "DCTL_CONFIG_STUB"; +extern const isc::log::MessageID DCTL_CONFIG_UPDATE = "DCTL_CONFIG_UPDATE"; +extern const isc::log::MessageID DCTL_INIT_PROCESS = "DCTL_INIT_PROCESS"; +extern const isc::log::MessageID DCTL_INIT_PROCESS_FAIL = "DCTL_INIT_PROCESS_FAIL"; +extern const isc::log::MessageID DCTL_NOT_RUNNING = "DCTL_NOT_RUNNING"; +extern const isc::log::MessageID DCTL_PARSER_FAIL = "DCTL_PARSER_FAIL"; +extern const isc::log::MessageID DCTL_PID_FILE_ERROR = "DCTL_PID_FILE_ERROR"; +extern const isc::log::MessageID DCTL_PROCESS_FAILED = "DCTL_PROCESS_FAILED"; +extern const isc::log::MessageID DCTL_RUN_PROCESS = "DCTL_RUN_PROCESS"; +extern const isc::log::MessageID DCTL_SESSION_FAIL = "DCTL_SESSION_FAIL"; +extern const isc::log::MessageID DCTL_SHUTDOWN = "DCTL_SHUTDOWN"; +extern const isc::log::MessageID DCTL_SHUTDOWN_SIGNAL_RECVD = "DCTL_SHUTDOWN_SIGNAL_RECVD"; +extern const isc::log::MessageID DCTL_SIGNAL_ERROR = "DCTL_SIGNAL_ERROR"; +extern const isc::log::MessageID DCTL_STANDALONE = "DCTL_STANDALONE"; +extern const isc::log::MessageID DCTL_STARTING = "DCTL_STARTING"; +extern const isc::log::MessageID DCTL_UNSUPPORTED_SIGNAL = "DCTL_UNSUPPORTED_SIGNAL"; + +} // namespace process +} // namespace isc + +namespace { + +const char* values[] = { + "DCTL_ALREADY_RUNNING", "%1 already running? %2", + "DCTL_CCSESSION_ENDING", "%1 ending control channel session", + "DCTL_CCSESSION_STARTING", "%1 starting control channel session, specfile: %2", + "DCTL_CFG_FILE_RELOAD_ERROR", "configuration reload failed: %1, reverting to current configuration.", + "DCTL_CFG_FILE_RELOAD_SIGNAL_RECVD", "OS signal %1 received, reloading configuration from file: %2", + "DCTL_COMMAND_RECEIVED", "%1 received command: %2, arguments: %3", + "DCTL_CONFIG_CHECK_COMPLETE", "server has completed configuration check: %1, result: %2", + "DCTL_CONFIG_COMPLETE", "server has completed configuration: %1", + "DCTL_CONFIG_FILE_LOAD_FAIL", "%1 reason: %2", + "DCTL_CONFIG_LOAD_FAIL", "%1 configuration failed to load: %2", + "DCTL_CONFIG_START", "parsing new configuration: %1", + "DCTL_CONFIG_STUB", "%1 configuration stub handler called", + "DCTL_CONFIG_UPDATE", "%1 updated configuration received: %2", + "DCTL_INIT_PROCESS", "%1 initializing the application", + "DCTL_INIT_PROCESS_FAIL", "%1 application initialization failed: %2", + "DCTL_NOT_RUNNING", "%1 application instance is not running", + "DCTL_PARSER_FAIL", ": %1", + "DCTL_PID_FILE_ERROR", "%1 could not create a PID file: %2", + "DCTL_PROCESS_FAILED", "%1 application execution failed: %2", + "DCTL_RUN_PROCESS", "%1 starting application event loop", + "DCTL_SESSION_FAIL", "%1 controller failed to establish Kea session: %1", + "DCTL_SHUTDOWN", "%1 has shut down, pid: %2, version: %3", + "DCTL_SHUTDOWN_SIGNAL_RECVD", "OS signal %1 received, starting shutdown", + "DCTL_SIGNAL_ERROR", "signal handler for signal %1, threw an unexpected exception: %2", + "DCTL_STANDALONE", "%1 skipping message queue, running standalone", + "DCTL_STARTING", "%1 starting, pid: %2, version: %3", + "DCTL_UNSUPPORTED_SIGNAL", "ignoring reception of unsupported signal: %1", + NULL +}; + +const isc::log::MessageInitializer initializer(values); + +} // Anonymous namespace + diff --git a/src/lib/process/process_messages.h b/src/lib/process/process_messages.h new file mode 100644 index 0000000000..3f3db67595 --- /dev/null +++ b/src/lib/process/process_messages.h @@ -0,0 +1,42 @@ +// File created from ../../../src/lib/process/process_messages.mes on Fri Feb 08 2019 20:30 + +#ifndef PROCESS_MESSAGES_H +#define PROCESS_MESSAGES_H + +#include + +namespace isc { +namespace process { + +extern const isc::log::MessageID DCTL_ALREADY_RUNNING; +extern const isc::log::MessageID DCTL_CCSESSION_ENDING; +extern const isc::log::MessageID DCTL_CCSESSION_STARTING; +extern const isc::log::MessageID DCTL_CFG_FILE_RELOAD_ERROR; +extern const isc::log::MessageID DCTL_CFG_FILE_RELOAD_SIGNAL_RECVD; +extern const isc::log::MessageID DCTL_COMMAND_RECEIVED; +extern const isc::log::MessageID DCTL_CONFIG_CHECK_COMPLETE; +extern const isc::log::MessageID DCTL_CONFIG_COMPLETE; +extern const isc::log::MessageID DCTL_CONFIG_FILE_LOAD_FAIL; +extern const isc::log::MessageID DCTL_CONFIG_LOAD_FAIL; +extern const isc::log::MessageID DCTL_CONFIG_START; +extern const isc::log::MessageID DCTL_CONFIG_STUB; +extern const isc::log::MessageID DCTL_CONFIG_UPDATE; +extern const isc::log::MessageID DCTL_INIT_PROCESS; +extern const isc::log::MessageID DCTL_INIT_PROCESS_FAIL; +extern const isc::log::MessageID DCTL_NOT_RUNNING; +extern const isc::log::MessageID DCTL_PARSER_FAIL; +extern const isc::log::MessageID DCTL_PID_FILE_ERROR; +extern const isc::log::MessageID DCTL_PROCESS_FAILED; +extern const isc::log::MessageID DCTL_RUN_PROCESS; +extern const isc::log::MessageID DCTL_SESSION_FAIL; +extern const isc::log::MessageID DCTL_SHUTDOWN; +extern const isc::log::MessageID DCTL_SHUTDOWN_SIGNAL_RECVD; +extern const isc::log::MessageID DCTL_SIGNAL_ERROR; +extern const isc::log::MessageID DCTL_STANDALONE; +extern const isc::log::MessageID DCTL_STARTING; +extern const isc::log::MessageID DCTL_UNSUPPORTED_SIGNAL; + +} // namespace process +} // namespace isc + +#endif // PROCESS_MESSAGES_H