]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[2862] Handle only mapped segments
authorMichal 'vorner' Vaner <michal.vaner@nic.cz>
Tue, 23 Jul 2013 07:10:17 +0000 (09:10 +0200)
committerMichal 'vorner' Vaner <michal.vaner@nic.cz>
Tue, 23 Jul 2013 07:10:17 +0000 (09:10 +0200)
Instead of generically any segment that is not local.

src/bin/auth/auth_srv.cc

index f059bd85ba9250805fe21e33b3ee19542039dcab..5723c87a7cda72f33776783f1a53ba069a15eed4 100644 (file)
@@ -946,7 +946,7 @@ AuthSrv::setTCPRecvTimeout(size_t timeout) {
 namespace {
 
 bool
-hasRemoteSegment(auth::DataSrcClientsMgr& mgr) {
+hasMappedSegment(auth::DataSrcClientsMgr& mgr) {
     auth::DataSrcClientsMgr::Holder holder(mgr);
     const std::vector<dns::RRClass>& classes(holder.getClasses());
     BOOST_FOREACH(const dns::RRClass& rrclass, classes) {
@@ -955,7 +955,7 @@ hasRemoteSegment(auth::DataSrcClientsMgr& mgr) {
         const std::vector<DataSourceStatus>& states(list->getStatus());
         BOOST_FOREACH(const datasrc::DataSourceStatus& status, states) {
             if (status.getSegmentState() != datasrc::SEGMENT_UNUSED &&
-                status.getSegmentType() != "local")
+                status.getSegmentType() == "mapped")
                 // We use some segment and it's not a local one, so it
                 // must be remote.
                 return true;
@@ -969,7 +969,7 @@ hasRemoteSegment(auth::DataSrcClientsMgr& mgr) {
 
 void
 AuthSrv::listsReconfigured() {
-    const bool has_remote = hasRemoteSegment(impl_->datasrc_clients_mgr_);
+    const bool has_remote = hasMappedSegment(impl_->datasrc_clients_mgr_);
     if (has_remote && !impl_->readers_group_subscribed_) {
         impl_->config_session_->subscribe("SegmentReader");
         impl_->config_session_->