]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#25,!14] UserContext is now in isc::data, deps updated
authorTomek Mrugalski <tomasz@isc.org>
Fri, 31 Aug 2018 19:27:59 +0000 (21:27 +0200)
committerTomek Mrugalski <tomasz@isc.org>
Fri, 7 Sep 2018 14:42:08 +0000 (16:42 +0200)
45 files changed:
src/bin/agent/Makefile.am
src/bin/agent/tests/Makefile.am
src/bin/d2/Makefile.am
src/bin/d2/d2_config.h
src/bin/d2/tests/Makefile.am
src/bin/dhcp4/Makefile.am
src/bin/dhcp4/ctrl_dhcp4_srv.cc
src/bin/dhcp4/dhcp4_srv.h
src/bin/dhcp4/main.cc
src/bin/dhcp4/tests/Makefile.am
src/bin/dhcp6/Makefile.am
src/bin/dhcp6/ctrl_dhcp6_srv.cc
src/bin/dhcp6/dhcp6_srv.h
src/bin/dhcp6/main.cc
src/bin/dhcp6/tests/Makefile.am
src/bin/lfc/Makefile.am
src/bin/lfc/tests/Makefile.am
src/hooks/dhcp/high_availability/Makefile.am
src/hooks/dhcp/high_availability/tests/Makefile.am
src/hooks/dhcp/lease_cmds/Makefile.am
src/hooks/dhcp/lease_cmds/tests/Makefile.am
src/hooks/dhcp/stat_cmds/tests/Makefile.am
src/lib/Makefile.am
src/lib/cc/tests/data_file_unittests.cc
src/lib/cc/tests/user_context_unittests.cc
src/lib/cc/user_context.cc
src/lib/cc/user_context.h
src/lib/dhcp/option_definition.h
src/lib/dhcpsrv/Makefile.am
src/lib/dhcpsrv/cfg_consistency.h
src/lib/dhcpsrv/cfg_duid.h
src/lib/dhcpsrv/cfg_iface.h
src/lib/dhcpsrv/cfg_option.h
src/lib/dhcpsrv/client_class_def.h
src/lib/dhcpsrv/d2_client_cfg.h
src/lib/dhcpsrv/host.h
src/lib/dhcpsrv/lease.h
src/lib/dhcpsrv/network.h
src/lib/dhcpsrv/pool.h
src/lib/dhcpsrv/srv_config.cc
src/lib/dhcpsrv/srv_config.h
src/lib/dhcpsrv/subnet.h
src/lib/dhcpsrv/tests/Makefile.am
src/lib/dhcpsrv/tests/cfgmgr_unittest.cc
src/lib/dhcpsrv/tests/srv_config_unittest.cc

index 6b346fb15989177264ff857ce9aace83fd4ee1f0..31a2798d884cfa14c644236c4f109e1f3953f15c 100644 (file)
@@ -68,7 +68,6 @@ kea_ctrl_agent_SOURCES = main.cc
 kea_ctrl_agent_LDADD  = libagent.la
 kea_ctrl_agent_LDADD += $(top_builddir)/src/lib/cfgrpt/libcfgrpt.la
 kea_ctrl_agent_LDADD += $(top_builddir)/src/lib/process/libkea-process.la
-kea_ctrl_agent_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la
 kea_ctrl_agent_LDADD += $(top_builddir)/src/lib/eval/libkea-eval.la
 kea_ctrl_agent_LDADD += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la
 kea_ctrl_agent_LDADD += $(top_builddir)/src/lib/stats/libkea-stats.la
index 4738df87aa5c26b920e2fdd675dcba2d9f1f1a5b..eb8c89849e67ce80e5a258523d6c0f60740895db 100644 (file)
@@ -61,7 +61,6 @@ ca_unittests_LDADD = $(top_builddir)/src/bin/agent/libagent.la
 ca_unittests_LDADD += $(top_builddir)/src/lib/process/testutils/libprocesstest.la
 ca_unittests_LDADD += $(top_builddir)/src/lib/cfgrpt/libcfgrpt.la
 ca_unittests_LDADD += $(top_builddir)/src/lib/process/libkea-process.la
-ca_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la
 ca_unittests_LDADD += $(top_builddir)/src/lib/eval/libkea-eval.la
 ca_unittests_LDADD += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la
 ca_unittests_LDADD += $(top_builddir)/src/lib/stats/libkea-stats.la
index e2b71a4618fd94004d021b3fbf985e73eb73f6f0..56b180c8de9157688d279e50aeda226866636b9c 100644 (file)
@@ -89,7 +89,6 @@ kea_dhcp_ddns_SOURCES  = main.cc
 kea_dhcp_ddns_LDADD  = libd2.la
 kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/cfgrpt/libcfgrpt.la
 kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/process/libkea-process.la
-kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la
 kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/eval/libkea-eval.la
 kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la
 kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/asiodns/libkea-asiodns.la
index 13bf87532134d0a39272644fb86d44ec6512445e..51a9d4c515c00ab4a358fb81292bdeafae1f29b2 100644 (file)
@@ -257,7 +257,7 @@ typedef boost::shared_ptr<D2Params> D2ParamsPtr;
 /// instance of the actual key (@ref isc::dns::TSIGKey) that can be used
 /// by the IO layer for signing and verifying messages.
 ///
-class TSIGKeyInfo : public isc::dhcp::UserContext, public isc::data::CfgToElement {
+class TSIGKeyInfo : public isc::data::UserContext, public isc::data::CfgToElement {
 public:
     /// @brief Defines string values for the supported TSIG algorithms
     //@{
@@ -412,7 +412,7 @@ typedef boost::shared_ptr<TSIGKeyInfoMap> TSIGKeyInfoMapPtr;
 /// belongs to a list of servers supporting DNS for a given domain. It will
 /// be used to establish communications with the server to carry out DNS
 /// updates.
-class DnsServerInfo : public isc::dhcp::UserContext, public isc::data::CfgToElement {
+class DnsServerInfo : public isc::data::UserContext, public isc::data::CfgToElement {
 public:
     /// @brief defines DNS standard port value
     static const uint32_t STANDARD_DNS_PORT = 53;
@@ -522,7 +522,7 @@ typedef boost::shared_ptr<DnsServerInfoStorage> DnsServerInfoStoragePtr;
 /// @todo Currently the name entry for a domain is just an std::string. It
 /// may be worthwhile to change this to a dns::Name for purposes of better
 /// validation and matching capabilities.
-class DdnsDomain : public isc::dhcp::UserContext, public isc::data::CfgToElement {
+class DdnsDomain : public isc::data::UserContext, public isc::data::CfgToElement {
 public:
     /// @brief Constructor
     ///
index 3738801ff6ef5df14e0074ce4e3f1b0c5ead9da5..3b9635a6917123e777d2eca803c17feeb25a698f 100644 (file)
@@ -76,7 +76,6 @@ d2_unittests_LDADD = $(top_builddir)/src/bin/d2/libd2.la
 d2_unittests_LDADD += $(top_builddir)/src/lib/process/testutils/libprocesstest.la
 d2_unittests_LDADD += $(top_builddir)/src/lib/cfgrpt/libcfgrpt.la
 d2_unittests_LDADD += $(top_builddir)/src/lib/process/libkea-process.la
-d2_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la
 d2_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/testutils/libdhcpsrvtest.la
 d2_unittests_LDADD += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la
 d2_unittests_LDADD += $(top_builddir)/src/lib/testutils/libkea-testutils.la
index c5b1ece1b2f2870e5cf53ba9e071055116806fae..a0da1621b88faa715fdebc806769108c83caf0c0 100644 (file)
@@ -94,6 +94,7 @@ kea_dhcp4_LDADD += $(top_builddir)/src/lib/database/libkea-database.la
 kea_dhcp4_LDADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la
 kea_dhcp4_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la
 kea_dhcp4_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la
+kea_dhcp4_LDADD += $(top_builddir)/src/lib/process/libkea-process.la
 kea_dhcp4_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la
 kea_dhcp4_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la
 kea_dhcp4_LDADD += $(top_builddir)/src/lib/log/libkea-log.la
index 25a13d88dd695c9943f2cb413ba1552820e46574..2ebe9d86fc5cf5b40a96e6666fd0f7826a65c549 100644 (file)
@@ -276,7 +276,8 @@ ControlledDhcpv4Srv::commandConfigWriteHandler(const string&,
     // Ok, it's time to write the file.
     size_t size = 0;
     try {
-        size = writeConfigFile(filename);
+        ConstElementPtr cfg = CfgMgr::instance().getCurrentCfg()->toElement();
+        size = writeConfigFile(filename, cfg);
     } catch (const isc::Exception& ex) {
         return (createAnswer(CONTROL_RESULT_ERROR, string("Error during write-config:")
                              + ex.what()));
index c095cdfef00cd90448c0a14d0fbf41415f1f751e..d2df379604bee34b2b06d90865667d06684d5bb3 100644 (file)
@@ -22,7 +22,7 @@
 #include <dhcpsrv/network_state.h>
 #include <dhcpsrv/subnet.h>
 #include <hooks/callout_handle.h>
-#include <dhcpsrv/daemon.h>
+#include <process/daemon.h>
 
 #include <boost/noncopyable.hpp>
 
@@ -191,7 +191,7 @@ typedef boost::shared_ptr<Dhcpv4Exchange> Dhcpv4ExchangePtr;
 /// This class does not support any controlling mechanisms directly.
 /// See the derived \ref ControlledDhcpv4Srv class for support for
 /// command and configuration updates over msgq.
-class Dhcpv4Srv : public Daemon {
+class Dhcpv4Srv : public process::Daemon {
 private:
 
     /// @brief Pointer to IO service used by the server.
index b1997db0a887fee93be64c25f95bd79c4a8a17fa..6762eac8f6dda2f36ad2d6763ee253c43257dd91 100644 (file)
@@ -22,6 +22,7 @@
 
 using namespace isc::data;
 using namespace isc::dhcp;
+using namespace isc::process;
 using namespace std;
 
 /// This file contains entry point (main() function) for standard DHCPv4 server
@@ -228,7 +229,7 @@ main(int argc, char* argv[]) {
 
         LOG_INFO(dhcp4_logger, DHCP4_SHUTDOWN);
 
-    } catch (const isc::dhcp::DaemonPIDExists& ex) {
+    } catch (const isc::process::DaemonPIDExists& ex) {
         // First, we print the error on stderr (that should always work)
         cerr << DHCP4_NAME << " already running? " << ex.what()
              << endl;
index cd6eb792264f4b9ec8c26aa3b32efa50c9d4aa87..9e0221d3b52b5aa07c3be794e8dbc60a285e8fa2 100644 (file)
@@ -149,6 +149,7 @@ dhcp4_unittests_LDADD += $(top_builddir)/src/lib/database/libkea-database.la
 dhcp4_unittests_LDADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la
 dhcp4_unittests_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la
 dhcp4_unittests_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la
+dhcp4_unittests_LDADD += $(top_builddir)/src/lib/process/libkea-process.la
 dhcp4_unittests_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la
 dhcp4_unittests_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la
 dhcp4_unittests_LDADD += $(top_builddir)/src/lib/database/libkea-database.la
index 68652f33358ceb0402290c77e08005f4d770b3cf..e82f9c2770bea7c962a7c099c75dccf868bfd783 100644 (file)
@@ -95,6 +95,7 @@ kea_dhcp6_LDADD += $(top_builddir)/src/lib/database/libkea-database.la
 kea_dhcp6_LDADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la
 kea_dhcp6_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la
 kea_dhcp6_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la
+kea_dhcp6_LDADD += $(top_builddir)/src/lib/process/libkea-process.la
 kea_dhcp6_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la
 kea_dhcp6_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la
 kea_dhcp6_LDADD += $(top_builddir)/src/lib/log/libkea-log.la
index ffd6ac6e8dce05e2a17954ec15d436f659409579..6d614be5083c39b0be921c0dc8cee02cc9929303 100644 (file)
@@ -278,7 +278,8 @@ ControlledDhcpv6Srv::commandConfigWriteHandler(const string&, ConstElementPtr ar
     // Ok, it's time to write the file.
     size_t size = 0;
     try {
-        size = writeConfigFile(filename);
+        ConstElementPtr cfg = CfgMgr::instance().getCurrentCfg()->toElement();
+        size = writeConfigFile(filename, cfg);
     } catch (const isc::Exception& ex) {
         return (createAnswer(CONTROL_RESULT_ERROR, string("Error during write-config:")
                              + ex.what()));
index 0b33638a650d740ee50a80da5d2b232eb532552c..6a580e9913dac48c6a54d915013780de644bfe73 100644 (file)
@@ -23,7 +23,7 @@
 #include <dhcpsrv/network_state.h>
 #include <dhcpsrv/subnet.h>
 #include <hooks/callout_handle.h>
-#include <dhcpsrv/daemon.h>
+#include <process/daemon.h>
 
 #include <functional>
 #include <iostream>
@@ -56,7 +56,7 @@ public:
 /// that is going to be used as server-identifier, receives incoming
 /// packets, processes them, manages leases assignment and generates
 /// appropriate responses.
-class Dhcpv6Srv : public Daemon {
+class Dhcpv6Srv : public process::Daemon {
 private:
 
     /// @brief Pointer to IO service used by the server.
index 6d848aa964017048cbf06a6c0daf422aea5d45e2..c3f6f0f4289e3cdb9e1ea342b0636422b8fab685 100644 (file)
@@ -15,6 +15,7 @@
 #include <log/logger_manager.h>
 #include <exceptions/exceptions.h>
 #include <cfgrpt/config_report.h>
+#include <process/daemon.h>
 
 #include <boost/lexical_cast.hpp>
 
@@ -22,6 +23,7 @@
 
 using namespace isc::data;
 using namespace isc::dhcp;
+using namespace isc::process;
 using namespace std;
 
 /// This file contains entry point (main() function) for standard DHCPv6 server
@@ -136,7 +138,7 @@ main(int argc, char* argv[]) {
             // This is just a test, so we don't care about lockfile.
             setenv("KEA_LOCKFILE_DIR", "none", 0);
             CfgMgr::instance().setDefaultLoggerName(DHCP6_ROOT_LOGGER_NAME);
-            Daemon::loggerInit(DHCP6_ROOT_LOGGER_NAME, verbose_mode);
+            isc::process::Daemon::loggerInit(DHCP6_ROOT_LOGGER_NAME, verbose_mode);
 
             // Check the syntax first.
             Parser6Context parser;
@@ -236,7 +238,7 @@ main(int argc, char* argv[]) {
 
         LOG_INFO(dhcp6_logger, DHCP6_SHUTDOWN);
 
-    } catch (const isc::dhcp::DaemonPIDExists& ex) {
+    } catch (const isc::process::DaemonPIDExists& ex) {
         // First, we print the error on stderr (that should always work)
         cerr << DHCP6_NAME << " already running? " << ex.what()
              << endl;
index d94f5773477134c3e76e892342dcc9ae6a787366..f92c8d77e59b39dd306c5350fac2d7bfe5e9e5ee 100644 (file)
@@ -129,6 +129,7 @@ dhcp6_unittests_LDADD += $(top_builddir)/src/lib/testutils/libkea-testutils.la
 dhcp6_unittests_LDADD += $(top_builddir)/src/lib/stats/libkea-stats.la
 dhcp6_unittests_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la
 dhcp6_unittests_LDADD += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la
+dhcp6_unittests_LDADD += $(top_builddir)/src/lib/process/libkea-process.la
 dhcp6_unittests_LDADD += $(top_builddir)/src/lib/dhcp/tests/libdhcptest.la
 
 if HAVE_MYSQL
index bc34383568b03d5f942f99894d0985a954567329..bebe6bfb8e88da90114d94a50cf7098518c724e0 100644 (file)
@@ -56,6 +56,7 @@ kea_lfc_LDADD  = liblfc.la
 kea_lfc_LDADD += $(top_builddir)/src/lib/cfgrpt/libcfgrpt.la
 kea_lfc_LDADD += $(top_builddir)/src/lib/eval/libkea-eval.la
 kea_lfc_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la
+kea_lfc_LDADD += $(top_builddir)/src/lib/process/libkea-process.la
 kea_lfc_LDADD += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la
 kea_lfc_LDADD += $(top_builddir)/src/lib/stats/libkea-stats.la
 kea_lfc_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la
index 6ab0269e809a31c416cdd51f8ce7e8d5f861d835..0a11ec4b9b449d0be249e9a4adbe009bf011a0c1 100644 (file)
@@ -57,6 +57,7 @@ lfc_unittests_LDADD += $(top_builddir)/src/lib/cfgrpt/libcfgrpt.la
 lfc_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la
 lfc_unittests_LDADD += $(top_builddir)/src/lib/eval/libkea-eval.la
 lfc_unittests_LDADD += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la
+lfc_unittests_LDADD += $(top_builddir)/src/lib/process/libkea-process.la
 lfc_unittests_LDADD += $(top_builddir)/src/lib/stats/libkea-stats.la
 lfc_unittests_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la
 lfc_unittests_LDADD += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la
index 4f7cec02b561e03e59f7c4abdd0075a2f0546a5b..8550cca8158cd73bcbd324139afedf53f5166060 100644 (file)
@@ -53,6 +53,7 @@ libdhcp_ha_la_LDFLAGS  += -avoid-version -export-dynamic -module
 
 libdhcp_ha_la_LIBADD  = libha.la
 libdhcp_ha_la_LIBADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la
+libdhcp_ha_la_LIBADD += $(top_builddir)/src/lib/process/libkea-process.la
 libdhcp_ha_la_LIBADD += $(top_builddir)/src/lib/eval/libkea-eval.la
 libdhcp_ha_la_LIBADD += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la
 libdhcp_ha_la_LIBADD += $(top_builddir)/src/lib/stats/libkea-stats.la
index 40296c828e424259deaf677f7ca4edf337979aea..c2eb24213b63d9c121c643542c04ca62e5b09c7d 100644 (file)
@@ -41,6 +41,7 @@ ha_unittests_CXXFLAGS = $(AM_CXXFLAGS)
 
 ha_unittests_LDADD  = $(top_builddir)/src/hooks/dhcp/high_availability/libha.la
 ha_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la
+ha_unittests_LDADD += $(top_builddir)/src/lib/process/libkea-process.la
 ha_unittests_LDADD += $(top_builddir)/src/lib/eval/libkea-eval.la
 ha_unittests_LDADD += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la
 ha_unittests_LDADD += $(top_builddir)/src/lib/stats/libkea-stats.la
index 90abfdad7788c71fce128fd08c4c097f76504050..841298f4bc4f2c8dec3b31d59ae24bf606835471 100644 (file)
@@ -45,6 +45,7 @@ libdhcp_lease_cmds_la_LDFLAGS  = $(AM_LDFLAGS)
 libdhcp_lease_cmds_la_LDFLAGS  += -avoid-version -export-dynamic -module
 libdhcp_lease_cmds_la_LIBADD  = liblease_cmds.la
 libdhcp_lease_cmds_la_LIBADD  += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la
+libdhcp_lease_cmds_la_LIBADD  += $(top_builddir)/src/lib/process/libkea-process.la
 libdhcp_lease_cmds_la_LIBADD  += $(top_builddir)/src/lib/config/libkea-cfgclient.la
 libdhcp_lease_cmds_la_LIBADD  += $(top_builddir)/src/lib/cc/libkea-cc.la
 libdhcp_lease_cmds_la_LIBADD  += $(top_builddir)/src/lib/hooks/libkea-hooks.la
index 43bbb56c1c117b696b85e0bb92cf41602bb49468..1795ee953ee625684a17a7a721e24e58b4a81e6b 100644 (file)
@@ -35,6 +35,7 @@ lease_cmds_unittests_LDFLAGS  = $(AM_LDFLAGS) $(CRYPTO_LDFLAGS) $(GTEST_LDFLAGS)
 lease_cmds_unittests_CXXFLAGS = $(AM_CXXFLAGS)
 
 lease_cmds_unittests_LDADD  = $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la
+lease_cmds_unittests_LDADD += $(top_builddir)/src/lib/process/libkea-process.la
 lease_cmds_unittests_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la
 lease_cmds_unittests_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la
 lease_cmds_unittests_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la
index d8bda8d29840052527cae2e6a67a6e4689435b14..9d17e66532d5cd9d3b9abd9761d3b6952a3fe8a3 100644 (file)
@@ -35,6 +35,7 @@ stat_cmds_unittests_LDFLAGS  = $(AM_LDFLAGS) $(CRYPTO_LDFLAGS) $(GTEST_LDFLAGS)
 stat_cmds_unittests_CXXFLAGS = $(AM_CXXFLAGS)
 
 stat_cmds_unittests_LDADD = $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la
+stat_cmds_unittests_LDADD += $(top_builddir)/src/lib/process/libkea-process.la
 stat_cmds_unittests_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la
 stat_cmds_unittests_LDADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la
 stat_cmds_unittests_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la
index 0373e3f820d1df48289b5b6e8c2fdb9b7318fc72..30a5a9fd6d54ba4630bcaf5ffbdd543a24c24fcb 100644 (file)
@@ -14,5 +14,4 @@ SUBDIRS += cql
 endif
 
 SUBDIRS += testutils hooks dhcp config stats asiodns dhcp_ddns eval \
-       dhcpsrv cfgrpt \
-       process http
+       cfgrpt process dhcpsrv process http
index 8471849b6ee6d0d41572fdf1dd286523ea93974f..473664dc2b076793932f3dd79a3dabfb7aa6f781 100644 (file)
@@ -6,7 +6,6 @@
 
 #include <config.h>
 #include <exceptions/exceptions.h>
-#include <dhcpsrv/daemon.h>
 #include <gtest/gtest.h>
 #include <cc/data.h>
 #include <fstream>
index 50b98ba164cd7434ea4f0221758d15bd2f917613..3035e99ade294684e436508e4d0cf6775b550eb6 100644 (file)
@@ -9,7 +9,6 @@
 #include <gtest/gtest.h>
 
 using namespace isc::data;
-using namespace isc::dhcp;
 
 namespace {
 
index 74104006ef2349d6aeb60c56fc7232abce6f5280..3194fcd6ae5ada9998c452f1f608a415a2902015 100644 (file)
@@ -5,13 +5,11 @@
 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 #include <config.h>
-
 #include <cc/user_context.h>
 
-using namespace isc::data;
 
 namespace isc {
-namespace dhcp {
+namespace data {
 
 void
 UserContext::contextToElement(ElementPtr map) const {
index 58067b4438a0e8007f6be79d669d4f86be46e8f9..ae795b6753c8b30eac5cfbfc6b2ec407e5a406f7 100644 (file)
@@ -11,7 +11,7 @@
 #include <boost/shared_ptr.hpp>
 
 namespace isc {
-namespace dhcp {
+namespace data {
 
 /// @brief Base class for user context
 ///
index 02e49f7c1579f1427157246e28beb0c4a121e085..21e021de05d5249d48e9825defa36d65b0362bcf 100644 (file)
@@ -732,7 +732,7 @@ private:
     /// Collection of data fields within the record.
     RecordFieldsCollection record_fields_;
     /// User context
-    UserContext user_context_;
+    data::UserContext user_context_;
 };
 
 
index 7e743aa2a5f603753e178528e670d1c8e52ef701..fd6125457b737e4b9dce882e7eb8e3d64589acfc 100644 (file)
@@ -132,8 +132,6 @@ libkea_dhcpsrv_la_SOURCES += lease_file_loader.h
 libkea_dhcpsrv_la_SOURCES += lease_file_stats.h
 libkea_dhcpsrv_la_SOURCES += lease_mgr.cc lease_mgr.h
 libkea_dhcpsrv_la_SOURCES += lease_mgr_factory.cc lease_mgr_factory.h
-libkea_dhcpsrv_la_SOURCES += logging.cc logging.h
-libkea_dhcpsrv_la_SOURCES += logging_info.cc logging_info.h
 libkea_dhcpsrv_la_SOURCES += memfile_lease_mgr.cc memfile_lease_mgr.h
 libkea_dhcpsrv_la_SOURCES += memfile_lease_storage.h
 
@@ -298,8 +296,6 @@ libkea_dhcpsrv_include_HEADERS = \
        lease_file_stats.h \
        lease_mgr.h \
        lease_mgr_factory.h \
-       logging.h \
-       logging_info.h \
        memfile_lease_mgr.h \
        memfile_lease_storage.h \
        ncr_generator.h \
index d379b9ffec21f08816a61bbdf55f6d40e05e1752..c6f31f34f89f29d4c873bf8d3e4c0dd573e3dc14 100644 (file)
@@ -16,7 +16,7 @@ namespace dhcp {
 
 /// @brief Parameters for various consistency checks.
 ///
-class CfgConsistency : public isc::dhcp::UserContext, public isc::data::CfgToElement {
+class CfgConsistency : public isc::data::UserContext, public isc::data::CfgToElement {
 
     public:
 
index e93738eb04852369d64f032a4680f67bc53e62ce..c95c66387cf0d0070e63e3250e11a5a047e3ace1 100644 (file)
@@ -27,7 +27,7 @@ namespace dhcp {
 /// generate. It also allows for overriding entire default DUID or parts of
 /// it via configuration file. This class holds the DUID configuration
 /// specified in the server configuration file.
-class CfgDUID : public UserContext, public isc::data::CfgToElement {
+class CfgDUID : public data::UserContext, public isc::data::CfgToElement {
 public:
 
     /// @brief Constructor.
index 6b36045d43f3bbb8bffaa83074a4e392bc636857..4cb318cbdb52c325102b42af89e90363ec9703d1 100644 (file)
@@ -127,7 +127,7 @@ public:
 /// to which it is bound. It is allowed to select multiple addresses on the
 /// particular interface explicitly, e.g. "eth0/192.168.8.1",
 /// "eth0/192.168.8.2".
-class CfgIface : public UserContext, public isc::data::CfgToElement {
+class CfgIface : public isc::data::UserContext, public isc::data::CfgToElement {
 public:
 
     /// @brief Socket type used by the DHCPv4 server.
index 1f13106ced27baa6c75bed9210adf1b48bf7365e..d29914f888f0bbb314bfa345678431146e5c0140 100644 (file)
@@ -31,7 +31,7 @@ namespace dhcp {
 /// for this option. This information comprises whether this option is sent
 /// to DHCP client only on request (persistent = false) or always
 /// (persistent = true).
-class OptionDescriptor : public UserContext {
+class OptionDescriptor : public data::UserContext {
 public:
     /// @brief Option instance.
     OptionPtr option_;
index 49fcb2969ce1a3563d028530ed604d154ccd2d4e..abeda2adfc885d4069fd8e13b78e1aff07cb8dac 100644 (file)
@@ -42,7 +42,7 @@ public:
 };
 
 /// @brief Embodies a single client class definition
-class ClientClassDef : public UserContext, public isc::data::CfgToElement {
+class ClientClassDef : public data::UserContext, public isc::data::CfgToElement {
 public:
     /// @brief Constructor
     ///
index c4bb250400b1a4bc1a72df140bd535fc495b891c..2c00a9237f84f73d4f4cf5658a7ee7cf9d2c0ad4 100644 (file)
@@ -50,7 +50,7 @@ public:
 /// parameters associated with DHCP-DDNS and acting as a client of D2.
 /// Instances of this class may be constructed through configuration parsing.
 ///
-class D2ClientConfig : public UserContext, public isc::data::CfgToElement {
+class D2ClientConfig : public data::UserContext, public isc::data::CfgToElement {
 public:
     /// @brief Default configuration constants.
     static const char* DFT_SERVER_IP;
index b1e6a5b4b62afbab19b80b6730999ef0b50517ca..149d6f3578e5c9d386ab03a2de3a6b53e55eca91 100644 (file)
@@ -239,7 +239,7 @@ typedef std::pair<IPv6ResrvIterator, IPv6ResrvIterator> IPv6ResrvRange;
 /// - disable IPv4 reservation without a need to set it to the 0.0.0.0 address
 /// Note that the last three operations are mainly required for managing
 /// host reservations which will be implemented later.
-class Host : public UserContext {
+class Host : public data::UserContext {
 public:
 
     /// @brief Type of the host identifier.
index 45568dc0d175c6fa63e81a2a456f3ca170913dd1..c42cfc9a9e0fd06d7ef510b61276fac5b5287ec9 100644 (file)
@@ -32,7 +32,7 @@ typedef boost::shared_ptr<Lease> LeasePtr;
 ///
 /// This structure holds all information that is common between IPv4 and IPv6
 /// leases.
-struct Lease : public UserContext, public isc::data::CfgToElement {
+struct Lease : public isc::data::UserContext, public isc::data::CfgToElement {
 
     /// @brief Type of lease or pool
     typedef enum {
index ce253cb7580a0097a7fd91c54c15f23dc9a9ccb0..433e80102c175bf7c9a8d40e2a404c497c8e6b51 100644 (file)
@@ -45,7 +45,7 @@ typedef std::vector<isc::asiolink::IOAddress> IOAddressList;
 /// class provides an abstract interface that must be implemented by derived
 /// classes and, where appropriate, implements common methods used by the
 /// derived classes.
-class Network : public virtual UserContext, public data::CfgToElement {
+class Network : public virtual isc::data::UserContext, public isc::data::CfgToElement {
 public:
     /// @brief Holds optional information about relay.
     ///
index f6ee8b326b1804a70bd6ef3621577f731cc15ab8..51488d4311d873cc51341a81764eaf7bcc56cdc6 100644 (file)
@@ -26,7 +26,7 @@ namespace dhcp {
 ///
 /// Stores information about pool of IPv4 or IPv6 addresses.
 /// That is a basic component of a configuration.
-class Pool : public UserContext {
+class Pool : public isc::data::UserContext {
 
 public:
     /// @note:
index db0bf7ec069fb69edf5188e251980eb3eeb4b06d..4e4571761e9c0aaf288ffaeab74f529088b6be6d 100644 (file)
@@ -9,6 +9,7 @@
 #include <dhcpsrv/srv_config.h>
 #include <dhcpsrv/lease_mgr_factory.h>
 #include <dhcpsrv/cfg_hosts_util.h>
+#include <process/logging_info.h>
 #include <log/logger_manager.h>
 #include <log/logger_specification.h>
 #include <dhcp/pkt.h> // Needed for HWADDR_SOURCE_*
@@ -17,6 +18,7 @@
 
 using namespace isc::log;
 using namespace isc::data;
+using namespace isc::process;
 
 namespace isc {
 namespace dhcp {
@@ -105,12 +107,8 @@ SrvConfig::sequenceEquals(const SrvConfig& other) {
 
 void
 SrvConfig::copy(SrvConfig& new_config) const {
-    // We will entirely replace loggers in the new configuration.
-    new_config.logging_info_.clear();
-    for (LoggingInfoStorage::const_iterator it = logging_info_.begin();
-         it != logging_info_.end(); ++it) {
-        new_config.addLoggingInfo(*it);
-    }
+    ConfigBase::copy(new_config);
+
     // Replace interface configuration.
     new_config.cfg_iface_.reset(new CfgIface(*cfg_iface_));
     // Replace option definitions.
@@ -130,44 +128,13 @@ SrvConfig::copy(SrvConfig& new_config) const {
     }
 }
 
-void
-SrvConfig::applyLoggingCfg() const {
-
-    std::list<LoggerSpecification> specs;
-    for (LoggingInfoStorage::const_iterator it = logging_info_.begin();
-         it != logging_info_.end(); ++it) {
-        specs.push_back(it->toSpec());
-    }
-    LoggerManager manager;
-    manager.process(specs.begin(), specs.end());
-}
-
 bool
 SrvConfig::equals(const SrvConfig& other) const {
-    // If number of loggers is different, then configurations aren't equal.
-    if (logging_info_.size() != other.logging_info_.size()) {
+
+    if (!ConfigBase::equals(other)) {
         return (false);
     }
-    // Pass through all loggers and try to find the match for each of them
-    // with the loggers from the other configuration. The order doesn't
-    // matter so we can't simply compare the vectors.
-    for (LoggingInfoStorage::const_iterator this_it =
-             logging_info_.begin(); this_it != logging_info_.end();
-         ++this_it) {
-        bool match = false;
-        for (LoggingInfoStorage::const_iterator other_it =
-                 other.logging_info_.begin();
-             other_it != other.logging_info_.end(); ++other_it) {
-            if (this_it->equals(*other_it)) {
-                match = true;
-                break;
-            }
-        }
-        // No match found for the particular logger so return false.
-        if (!match) {
-            return (false);
-        }
-    }
+
     // Logging information is equal between objects, so check other values.
     if ((*cfg_iface_ != *other.cfg_iface_) ||
         (*cfg_option_def_ != *other.cfg_option_def_) ||
@@ -210,7 +177,7 @@ SrvConfig::updateStatistics() {
     }
 }
 
-void 
+void
 SrvConfig::extractConfiguredGlobals(isc::data::ConstElementPtr config) {
     if (config->getType() != Element::map) {
         isc_throw(BadValue, "extractConfiguredGlobals must be given a map element");
@@ -227,15 +194,16 @@ SrvConfig::extractConfiguredGlobals(isc::data::ConstElementPtr config) {
 
 ElementPtr
 SrvConfig::toElement() const {
+    // Toplevel map
+    ElementPtr result = ConfigBase::toElement();
+
     // Get family for the configuration manager
     uint16_t family = CfgMgr::instance().getFamily();
-    // Toplevel map
-    ElementPtr result = Element::createMap();
     // DhcpX global map
     ElementPtr dhcp = Element::createMap();
 
     // Add in explicitly configured globals.
-    dhcp->setValue(configured_globals_->mapValue()); 
+    dhcp->setValue(configured_globals_->mapValue());
 
     // Set user-context
     contextToElement(dhcp);
@@ -342,7 +310,7 @@ SrvConfig::toElement() const {
         }
     }
 
-    // Host reservations 
+    // Host reservations
     CfgHostsList resv_list;
     resv_list.internalize(cfg_hosts_->toElement());
 
@@ -411,20 +379,6 @@ SrvConfig::toElement() const {
     // Set DhcpX
     result->set(family == AF_INET ? "Dhcp4" : "Dhcp6", dhcp);
 
-    // Logging global map (skip if empty)
-    if (!logging_info_.empty()) {
-        ElementPtr logging = Element::createMap();
-        // Set loggers list
-        ElementPtr loggers = Element::createList();
-        for (LoggingInfoStorage::const_iterator logger =
-                 logging_info_.cbegin();
-             logger != logging_info_.cend(); ++logger) {
-            loggers->add(logger->toElement());
-        }
-        logging->set("loggers", loggers);
-        result->set("Logging", logging);
-    }
-
     ConstElementPtr cfg_consist = cfg_consist_->toElement();
     dhcp->set("sanity-checks", cfg_consist);
 
index 02af78e1c97d71d8a9ce5b028deb1750c5f3c298..e4fbe2f8ae68f56defc1f12a592628e982bfbe1e 100644 (file)
@@ -24,7 +24,7 @@
 #include <dhcpsrv/cfg_consistency.h>
 #include <dhcpsrv/client_class_def.h>
 #include <dhcpsrv/d2_client_cfg.h>
-#include <dhcpsrv/logging_info.h>
+#include <process/config_base.h>
 #include <hooks/hooks_config.h>
 #include <cc/data.h>
 #include <cc/user_context.h>
@@ -41,7 +41,7 @@ class CfgMgr;
 /// @brief Specifies current DHCP configuration
 ///
 /// @todo Migrate all other configuration parameters from cfgmgr.h here
-class SrvConfig : public UserContext, public isc::data::CfgToElement {
+class SrvConfig : public process::ConfigBase {
 public:
     /// @name Constants for selection of parameters returned by @c getConfigSummary
     ///
@@ -117,25 +117,6 @@ public:
     /// @return true if sequence numbers are equal.
     bool sequenceEquals(const SrvConfig& other);
 
-    /// @name Modifiers and accesors for the configuration objects.
-    ///
-    /// @warning References to the objects returned by accessors are only
-    /// valid during the lifetime of the @c SrvConfig object which
-    /// returned them.
-    ///
-    //@{
-    /// @brief Returns logging specific configuration.
-    const LoggingInfoStorage& getLoggingInfo() const {
-        return (logging_info_);
-    }
-
-    /// @brief Sets logging specific configuration.
-    ///
-    /// @param logging_info New logging configuration.
-    void addLoggingInfo(const LoggingInfo& logging_info) {
-        logging_info_.push_back(logging_info);
-    }
-
     /// @brief Returns non-const pointer to interface configuration.
     ///
     /// This function returns a non-const pointer to the interface
@@ -427,9 +408,6 @@ public:
     /// be copied.
     void copy(SrvConfig& new_config) const;
 
-    /// @brief Apply logging configuration to log4cplus.
-    void applyLoggingCfg() const;
-
     /// @name Methods and operators used to compare configurations.
     ///
     //@{
@@ -589,9 +567,6 @@ private:
     /// @brief Sequence number identifying the configuration.
     uint32_t sequence_;
 
-    /// @brief Logging specific information.
-    LoggingInfoStorage logging_info_;
-
     /// @brief Interface configuration.
     ///
     /// Used to select interfaces on which the DHCP server will listen to
index 140a521bf62758a55e712d0a5c5cc6104e701ecb..e995283e35ed707b0dc08e60a35186c249608460 100644 (file)
@@ -30,7 +30,7 @@
 namespace isc {
 namespace dhcp {
 
-class Subnet : public virtual UserContext, public data::CfgToElement {
+class Subnet : public virtual data::UserContext, public data::CfgToElement {
 
     // Assignable network is our friend to allow it to call
     // @ref Subnet::setSharedNetwork private function.
index 85101869691fa381bacd2e158a5bd4eac29bc485..2e477b740353f77fa67644514b0e3cbe9f20dcb6 100644 (file)
@@ -100,8 +100,8 @@ libdhcpsrv_unittests_SOURCES += lease_file_loader_unittest.cc
 libdhcpsrv_unittests_SOURCES += lease_unittest.cc
 libdhcpsrv_unittests_SOURCES += lease_mgr_factory_unittest.cc
 libdhcpsrv_unittests_SOURCES += lease_mgr_unittest.cc
-libdhcpsrv_unittests_SOURCES += logging_unittest.cc
-libdhcpsrv_unittests_SOURCES += logging_info_unittest.cc
+#libdhcpsrv_unittests_SOURCES += logging_unittest.cc
+#libdhcpsrv_unittests_SOURCES += logging_info_unittest.cc
 libdhcpsrv_unittests_SOURCES += generic_lease_mgr_unittest.cc generic_lease_mgr_unittest.h
 libdhcpsrv_unittests_SOURCES += memfile_lease_mgr_unittest.cc
 libdhcpsrv_unittests_SOURCES += dhcp_parsers_unittest.cc
@@ -174,6 +174,7 @@ libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la
 libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/eval/libkea-eval.la
 libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la
 libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/stats/libkea-stats.la
+libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/process/libkea-process.la
 libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la
 libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la
 libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/dhcp/tests/libdhcptest.la
index 461cb4568658e31361a162d5fea193d7958c48d6..ba62eb56edc9ae5ca38c32f98fc50927690afcff 100644 (file)
@@ -13,6 +13,7 @@
 #include <dhcpsrv/lease_mgr_factory.h>
 #include <dhcpsrv/subnet_id.h>
 #include <dhcpsrv/parsers/dhcp_parsers.h>
+#include <process/logging_info.h>
 #include <stats/stats_mgr.h>
 
 #include <boost/scoped_ptr.hpp>
@@ -31,6 +32,7 @@ using namespace isc::dhcp;
 using namespace isc::dhcp::test;
 using namespace isc::util;
 using namespace isc::stats;
+using namespace isc::process;
 using namespace isc;
 
 // don't import the entire boost namespace.  It will unexpectedly hide uint8_t
index 21f31a9f24b844723dd0da61ba541bddd3cb9535..0b555bc27bc07a2b91b73431df13e2a6a7c56a47 100644 (file)
 #include <dhcpsrv/cfgmgr.h>
 #include <dhcpsrv/srv_config.h>
 #include <dhcpsrv/subnet.h>
+#include <process/logging_info.h>
 #include <testutils/test_to_element.h>
 #include <gtest/gtest.h>
 
 using namespace isc::asiolink;
 using namespace isc::dhcp;
 using namespace isc::data;
+using namespace isc::process;
 
 // Those are the tests for SrvConfig storage. Right now they are minimal,
 // but the number is expected to grow significantly once we migrate more