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