BIND 10 trac495, updated. 454739d105be01d7b9711038ca68271d0f4fd02c [trac495] address review comments
BIND 10 source code commits
bind10-changes at lists.isc.org
Fri Mar 11 10:01:34 UTC 2011
The branch, trac495 has been updated
via 454739d105be01d7b9711038ca68271d0f4fd02c (commit)
from 87308eeddf767dea581b817d1d2ab2aaa4a99dd3 (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 454739d105be01d7b9711038ca68271d0f4fd02c
Author: Jelte Jansen <jelte at isc.org>
Date: Fri Mar 11 11:01:09 2011 +0100
[trac495] address review comments
-----------------------------------------------------------------------
Summary of changes:
src/bin/resolver/main.cc | 10 +++++-----
src/lib/asiolink/io_address.h | 2 --
src/lib/nsas/nameserver_address_store.cc | 6 +++---
src/lib/nsas/nameserver_address_store.h | 2 +-
src/lib/nsas/zone_entry.cc | 3 +--
src/lib/nsas/zone_entry.h | 2 +-
src/lib/resolve/recursive_query.cc | 14 ++++++++++----
src/lib/resolve/recursive_query.h | 6 +++---
src/lib/resolve/tests/recursive_query_unittest.cc | 3 +++
9 files changed, 27 insertions(+), 21 deletions(-)
-----------------------------------------------------------------------
diff --git a/src/bin/resolver/main.cc b/src/bin/resolver/main.cc
index 8ee6dd9..5b1943d 100644
--- a/src/bin/resolver/main.cc
+++ b/src/bin/resolver/main.cc
@@ -130,7 +130,7 @@ main(int argc, char* argv[]) {
Session* cc_session = NULL;
ModuleCCSession* config_session = NULL;
- //try {
+ try {
string specfile;
if (getenv("B10_FROM_BUILD")) {
specfile = string(getenv("B10_FROM_BUILD")) +
@@ -212,10 +212,10 @@ main(int argc, char* argv[]) {
dlog("Server started.");
io_service.run();
- //} catch (const std::exception& ex) {
- // dlog(string("Server failed: ") + ex.what(),true);
- // ret = 1;
- //}
+ } catch (const std::exception& ex) {
+ dlog(string("Server failed: ") + ex.what(),true);
+ ret = 1;
+ }
delete config_session;
delete cc_session;
diff --git a/src/lib/asiolink/io_address.h b/src/lib/asiolink/io_address.h
index d44b37b..0d2787f 100644
--- a/src/lib/asiolink/io_address.h
+++ b/src/lib/asiolink/io_address.h
@@ -26,8 +26,6 @@
#include <exceptions/exceptions.h>
-#include <iostream>
-
namespace asiolink {
/// \brief The \c IOAddress class represents an IP addresses (version
diff --git a/src/lib/nsas/nameserver_address_store.cc b/src/lib/nsas/nameserver_address_store.cc
index 6e5ca27..4efe491 100644
--- a/src/lib/nsas/nameserver_address_store.cc
+++ b/src/lib/nsas/nameserver_address_store.cc
@@ -95,9 +95,9 @@ NameserverAddressStore::lookup(const string& zone, const RRClass& class_code,
void
NameserverAddressStore::cancel(const string& zone,
- const RRClass& class_code,
- boost::shared_ptr<AddressRequestCallback> callback,
- AddressFamily family)
+ const RRClass& class_code,
+ const boost::shared_ptr<AddressRequestCallback>& callback,
+ AddressFamily family)
{
boost::shared_ptr<ZoneEntry> entry(zone_hash_->get(HashKey(zone,
class_code)));
diff --git a/src/lib/nsas/nameserver_address_store.h b/src/lib/nsas/nameserver_address_store.h
index 717ebf4..9804a55 100644
--- a/src/lib/nsas/nameserver_address_store.h
+++ b/src/lib/nsas/nameserver_address_store.h
@@ -91,7 +91,7 @@ public:
///
/// \param callback Callback object that would be called
void cancel(const std::string& zone, const dns::RRClass& class_code,
- boost::shared_ptr<AddressRequestCallback> callback,
+ const boost::shared_ptr<AddressRequestCallback>& callback,
AddressFamily family = ANY_OK);
/// \brief Protected Members
diff --git a/src/lib/nsas/zone_entry.cc b/src/lib/nsas/zone_entry.cc
index 6e1d8b0..b028ca4 100644
--- a/src/lib/nsas/zone_entry.cc
+++ b/src/lib/nsas/zone_entry.cc
@@ -262,14 +262,13 @@ ZoneEntry::addCallback(CallbackPtr callback, AddressFamily family) {
}
void
-ZoneEntry::removeCallback(CallbackPtr callback, AddressFamily family) {
+ZoneEntry::removeCallback(const CallbackPtr& callback, AddressFamily family) {
Lock lock(mutex_);
std::vector<boost::shared_ptr<AddressRequestCallback> >::iterator i =
callbacks_[family].begin();
for (; i != callbacks_[family].end(); ++i) {
if (*i == callback) {
callbacks_[family].erase(i);
- return;
}
}
}
diff --git a/src/lib/nsas/zone_entry.h b/src/lib/nsas/zone_entry.h
index 3a361fe..a1f12bc 100644
--- a/src/lib/nsas/zone_entry.h
+++ b/src/lib/nsas/zone_entry.h
@@ -107,7 +107,7 @@ public:
* \param callback The callback itself.
* \param family Which address family is acceptable as an answer?
*/
- void removeCallback(boost::shared_ptr<AddressRequestCallback>
+ void removeCallback(const boost::shared_ptr<AddressRequestCallback>&
callback, AddressFamily family);
/// \short Protected members, so they can be accessed by tests.
diff --git a/src/lib/resolve/recursive_query.cc b/src/lib/resolve/recursive_query.cc
index 1fd9f9a..c8b57ea 100644
--- a/src/lib/resolve/recursive_query.cc
+++ b/src/lib/resolve/recursive_query.cc
@@ -165,7 +165,10 @@ private:
// the 'current' zone we are in (i.e.) we start out at the root,
// and for each delegation this gets updated with the zone the
- // delegation points to
+ // delegation points to.
+ // TODO: make this a Name (it is a string right now because most
+ // of the call we use it in take a string, we need update those
+ // too).
std::string cur_zone_;
// This is the handler we pass on to the NSAS; it is called when
@@ -244,6 +247,7 @@ private:
// forwarder. If not, ask the NSAS for an address
const int uc = upstream_->size();
if (uc > 0) {
+ // TODO: use boost, or rand()-utility function we provide
int serverIndex = rand() % uc;
dlog("Sending upstream query (" + question_.toText() +
") to " + upstream_->at(serverIndex).first);
@@ -352,6 +356,9 @@ private:
++rrsi) {
ConstRRsetPtr rrs = *rrsi;
if (rrs->getType() == RRType::NS()) {
+ // TODO: make cur_zone_ a Name instead of a string
+ // (this requires a few API changes in related
+ // libraries, so as not to need many conversions)
cur_zone_ = rrs->getName().toText();
dlog("Referred to zone " + cur_zone_);
found_ns_address = true;
@@ -426,8 +433,7 @@ public:
callback_called_(false),
nsas_(nsas),
cache_(cache),
- nsas_callback_(boost::shared_ptr<ResolverNSASCallback>(
- new ResolverNSASCallback(this))),
+ nsas_callback_(new ResolverNSASCallback(this)),
nsas_callback_out_(false),
outstanding_events_(0)
{
@@ -538,7 +544,7 @@ public:
struct timeval cur_time;
gettimeofday(&cur_time, NULL);
uint32_t rtt;
- if (cur_time.tv_sec >= current_ns_qsent_time.tv_sec &&
+ if (cur_time.tv_sec >= current_ns_qsent_time.tv_sec ||
cur_time.tv_usec > current_ns_qsent_time.tv_usec) {
rtt = 1000 * (cur_time.tv_sec - current_ns_qsent_time.tv_sec);
rtt += (cur_time.tv_usec - current_ns_qsent_time.tv_usec) / 1000;
diff --git a/src/lib/resolve/recursive_query.h b/src/lib/resolve/recursive_query.h
index 7beae05..d89807b 100644
--- a/src/lib/resolve/recursive_query.h
+++ b/src/lib/resolve/recursive_query.h
@@ -12,8 +12,8 @@
// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
// PERFORMANCE OF THIS SOFTWARE.
-#ifndef __ASIOLINK_RECURSIVE_QUERY_H
-#define __ASIOLINK_RECURSIVE_QUERY_H 1
+#ifndef __RECURSIVE_QUERY_H
+#define __RECURSIVE_QUERY_H 1
#include <asiolink/dns_service.h>
#include <asiolink/dns_server.h>
@@ -116,4 +116,4 @@ private:
};
} // namespace asiolink
-#endif // __ASIOLINK_RECURSIVE_QUERY_H
+#endif // __RECURSIVE_QUERY_H
diff --git a/src/lib/resolve/tests/recursive_query_unittest.cc b/src/lib/resolve/tests/recursive_query_unittest.cc
index b005d5b..0318143 100644
--- a/src/lib/resolve/tests/recursive_query_unittest.cc
+++ b/src/lib/resolve/tests/recursive_query_unittest.cc
@@ -853,4 +853,7 @@ TEST_F(RecursiveQueryTest, DISABLED_recursiveSendNXDOMAIN) {
EXPECT_EQ(0, answer->getRRCount(Message::SECTION_ANSWER));
}
+// TODO: add tests that check whether the cache is updated on succesfull
+// responses, and not updated on failures.
+
}
More information about the bind10-changes
mailing list