BIND 10 trac1976, updated. 6107757547e99687e84c8c19f412801ac926a342 [1976] Do the real initialization of the datasrc configurator

BIND 10 source code commits bind10-changes at lists.isc.org
Thu Jun 21 12:55:19 UTC 2012


The branch, trac1976 has been updated
       via  6107757547e99687e84c8c19f412801ac926a342 (commit)
      from  c3badfe37d74047f7b6b1f7f4ec03d30e7164296 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 6107757547e99687e84c8c19f412801ac926a342
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date:   Thu Jun 21 14:52:24 2012 +0200

    [1976] Do the real initialization of the datasrc configurator
    
    The type of lists had to be changed to the Configurable ones,
    unfortunately. It doesn't work otherwise. Therefore, it may be possible
    to fold the ClientList hierarchy, but I'm postponing that work.

-----------------------------------------------------------------------

Summary of changes:
 src/bin/auth/auth_srv.cc |   18 +++++++++---------
 src/bin/auth/auth_srv.h  |    8 ++++----
 src/bin/auth/main.cc     |    6 +++++-
 3 files changed, 18 insertions(+), 14 deletions(-)

-----------------------------------------------------------------------
diff --git a/src/bin/auth/auth_srv.cc b/src/bin/auth/auth_srv.cc
index 5458316..c4e6920 100644
--- a/src/bin/auth/auth_srv.cc
+++ b/src/bin/auth/auth_srv.cc
@@ -267,7 +267,7 @@ public:
     const boost::shared_ptr<TSIGKeyRing>* keyring_;
 
     /// The client list
-    map<RRClass, boost::shared_ptr<ClientList> > client_lists_;
+    map<RRClass, boost::shared_ptr<ConfigurableClientList> > client_lists_;
 
     /// Bind the ModuleSpec object in config_session_ with
     /// isc:config::ModuleSpec::validateStatistics.
@@ -1030,7 +1030,7 @@ AuthSrv::setTSIGKeyRing(const boost::shared_ptr<TSIGKeyRing>* keyring) {
 
 void
 AuthSrv::setClientList(const RRClass& rrclass,
-                       const boost::shared_ptr<ClientList>& list) {
+                       const boost::shared_ptr<ConfigurableClientList>& list) {
     if (list) {
         impl_->client_lists_[rrclass] = list;
     } else {
@@ -1038,12 +1038,12 @@ AuthSrv::setClientList(const RRClass& rrclass,
     }
 }
 
-boost::shared_ptr<ClientList>
+boost::shared_ptr<ConfigurableClientList>
 AuthSrv::getClientList(const RRClass& rrclass) {
-    const map<RRClass, boost::shared_ptr<ClientList> >::const_iterator
-        it(impl_->client_lists_.find(rrclass));
+    const map<RRClass, boost::shared_ptr<ConfigurableClientList> >::
+        const_iterator it(impl_->client_lists_.find(rrclass));
     if (it == impl_->client_lists_.end()) {
-        return (boost::shared_ptr<ClientList>());
+        return (boost::shared_ptr<ConfigurableClientList>());
     } else {
         return (it->second);
     }
@@ -1052,9 +1052,9 @@ AuthSrv::getClientList(const RRClass& rrclass) {
 vector<RRClass>
 AuthSrv::getClientListClasses() const {
     vector<RRClass> result;
-    for (map<RRClass, boost::shared_ptr<ClientList> >::const_iterator
-         it(impl_->client_lists_.begin()); it != impl_->client_lists_.end();
-         ++ it) {
+    for (map<RRClass, boost::shared_ptr<ConfigurableClientList> >::
+         const_iterator it(impl_->client_lists_.begin());
+         it != impl_->client_lists_.end(); ++it) {
         result.push_back(it->first);
     }
     return (result);
diff --git a/src/bin/auth/auth_srv.h b/src/bin/auth/auth_srv.h
index ff0ed5b..ee8edc9 100644
--- a/src/bin/auth/auth_srv.h
+++ b/src/bin/auth/auth_srv.h
@@ -44,7 +44,7 @@ class BaseSocketSessionForwarder;
 }
 namespace datasrc {
 class InMemoryClient;
-class ClientList;
+class ConfigurableClientList;
 }
 namespace xfr {
 class AbstractXfroutClient;
@@ -428,15 +428,15 @@ public:
     /// \param rrclass The class to modify.
     /// \param list Shared pointer to the client list. If it is NULL,
     ///     the list is removed instead.
-    void setClientList(const isc::dns::RRClass& rrclass,
-                       const boost::shared_ptr<isc::datasrc::ClientList>&
+    void setClientList(const isc::dns::RRClass& rrclass, const
+                       boost::shared_ptr<isc::datasrc::ConfigurableClientList>&
                        list);
 
     /// \brief Returns the currently used client list for the class.
     ///
     /// \param rrclass The class for which to get the list.
     /// \return The list, or NULL if no list is set for the class.
-    boost::shared_ptr<isc::datasrc::ClientList>
+    boost::shared_ptr<isc::datasrc::ConfigurableClientList>
         getClientList(const isc::dns::RRClass& rrclass);
 
     /// \brief Returns a list of classes that have a client list.
diff --git a/src/bin/auth/main.cc b/src/bin/auth/main.cc
index 67d0f3d..f6b330e 100644
--- a/src/bin/auth/main.cc
+++ b/src/bin/auth/main.cc
@@ -45,6 +45,7 @@
 #include <auth/command.h>
 #include <auth/auth_srv.h>
 #include <auth/auth_log.h>
+#include <auth/datasrc_configurator.h>
 #include <asiodns/asiodns.h>
 #include <asiolink/asiolink.h>
 #include <log/logger_support.h>
@@ -204,6 +205,9 @@ main(int argc, char* argv[]) {
         isc::server_common::initKeyring(*config_session);
         auth_server->setTSIGKeyRing(&isc::server_common::keyring);
 
+        // Start the data source configuration
+        DataSourceConfigurator::init(config_session, auth_server);
+
         // Now start asynchronous read.
         config_session->start();
         LOG_DEBUG(auth_logger, DBG_AUTH_START, AUTH_CONFIG_CHANNEL_STARTED);
@@ -211,7 +215,6 @@ main(int argc, char* argv[]) {
         // Successfully initialized.
         LOG_INFO(auth_logger, AUTH_SERVER_STARTED);
         io_service.run();
-
     } catch (const std::exception& ex) {
         LOG_FATAL(auth_logger, AUTH_SERVER_FAILED).arg(ex.what());
         ret = 1;
@@ -225,6 +228,7 @@ main(int argc, char* argv[]) {
         xfrin_session->disconnect();
     }
 
+    DataSourceConfigurator::deinit();
     delete statistics_session;
     delete xfrin_session;
     delete config_session;



More information about the bind10-changes mailing list