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.
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 {
}
}
-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);
}
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);
}
namespace datasrc {
class InMemoryClient;
-class ClientList;
+class ConfigurableClientList;
}
namespace xfr {
class AbstractXfroutClient;
/// \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.
#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>
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);
// 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;
xfrin_session->disconnect();
}
+ DataSourceConfigurator::deinit();
delete statistics_session;
delete xfrin_session;
delete config_session;