BIND 10 trac2218_2, updated. 6bf4ff4eb4a3a8095bdd5d622cab24f46a0d9834 [2218] some more trivial cleanups

BIND 10 source code commits bind10-changes at lists.isc.org
Fri Sep 21 19:47:20 UTC 2012


The branch, trac2218_2 has been updated
       via  6bf4ff4eb4a3a8095bdd5d622cab24f46a0d9834 (commit)
       via  2fdacd86e25c075a059e81274a1531ed6f0b787c (commit)
      from  280d0604dbf569d0aeb3065cae12cd38876e3e5c (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 6bf4ff4eb4a3a8095bdd5d622cab24f46a0d9834
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Fri Sep 21 12:47:11 2012 -0700

    [2218] some more trivial cleanups

commit 2fdacd86e25c075a059e81274a1531ed6f0b787c
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Fri Sep 21 11:40:16 2012 -0700

    [2218] avoid initializing nsec3_hash_map namespace scope to avoid fiasco.

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

Summary of changes:
 .../datasrc/memory/tests/zone_finder_unittest.cc   |   35 ++++++++++++--------
 src/lib/datasrc/memory/zone_finder.h               |    2 ++
 src/lib/dns/nsec3hash.cc                           |    3 +-
 3 files changed, 26 insertions(+), 14 deletions(-)

-----------------------------------------------------------------------
diff --git a/src/lib/datasrc/memory/tests/zone_finder_unittest.cc b/src/lib/datasrc/memory/tests/zone_finder_unittest.cc
index 61c43a8..8f27bce 100644
--- a/src/lib/datasrc/memory/tests/zone_finder_unittest.cc
+++ b/src/lib/datasrc/memory/tests/zone_finder_unittest.cc
@@ -31,6 +31,8 @@
 
 #include <gtest/gtest.h>
 
+#include <string>
+
 using namespace std;
 using namespace isc::dns;
 using namespace isc::dns::rdata;
@@ -46,7 +48,14 @@ namespace {
 using result::SUCCESS;
 using result::EXIST;
 
-NSEC3HashMap nsec3_hash_map;
+// Proxy accessor for faked NSEC3 mapping for tests.  map isn't a trivial
+// type, so it's safer to get access to it via a proxy to avoid initialization
+// fiasco.
+NSEC3HashMap&
+getNSEC3HashMap() {
+    static NSEC3HashMap nsec3_hash_map;
+    return (nsec3_hash_map);
+}
 
 // A faked NSEC3 hash calculator for convenience. Tests that need to use
 // the faked hashed values should call setFakeNSEC3Calculate() on the
@@ -56,9 +65,10 @@ std::string
 fakeNSEC3Calculate(const Name& name,
                    const uint16_t,
                    const uint8_t*,
-                   size_t) {
-    const NSEC3HashMap::const_iterator found = nsec3_hash_map.find(name);
-    if (found != nsec3_hash_map.end()) {
+                   size_t)
+{
+    const NSEC3HashMap::const_iterator found = getNSEC3HashMap().find(name);
+    if (found != getNSEC3HashMap().end()) {
         return (found->second);
     }
 
@@ -67,13 +77,12 @@ fakeNSEC3Calculate(const Name& name,
 }
 
 class MyZoneFinder : public memory::InMemoryZoneFinder {
-private:
 public:
     MyZoneFinder(const ZoneData& zone_data,
                  const isc::dns::RRClass& rrclass) :
          memory::InMemoryZoneFinder(zone_data, rrclass)
     {
-        buildFakeNSEC3Map(nsec3_hash_map);
+        buildFakeNSEC3Map(getNSEC3HashMap());
     }
 
     void setFakeNSEC3Calculate() {
@@ -235,7 +244,7 @@ public:
              nsec3_data = NSEC3Data::create(mem_sgmt_, nsec3_rdata);
              zone_data_->setNSEC3Data(nsec3_data);
         } else {
-             size_t salt_len = nsec3_data->getSaltLen();
+             const size_t salt_len = nsec3_data->getSaltLen();
              const uint8_t* salt_data = nsec3_data->getSaltData();
              const vector<uint8_t>& salt_data_2 = nsec3_rdata.getSalt();
 
@@ -249,16 +258,16 @@ public:
              }
         }
 
-        ZoneNode *node;
+        ZoneNode* node;
         nsec3_data->insertName(mem_sgmt_, rrset->getName(), &node);
 
         // We assume that rrsig has already been checked to match rrset
         // by the caller.
-        RdataSet *set = RdataSet::create(mem_sgmt_, encoder_,
-                                         rrset, ConstRRsetPtr());
-        RdataSet *old_set = node->setData(set);
-        if (old_set != NULL) {
-             RdataSet::destroy(mem_sgmt_, class_, old_set);
+        RdataSet* rdset = RdataSet::create(mem_sgmt_, encoder_,
+                                           rrset, ConstRRsetPtr());
+        RdataSet* old_rdset = node->setData(rdset);
+        if (old_rdset != NULL) {
+             RdataSet::destroy(mem_sgmt_, class_, old_rdset);
         }
         zone_data_->setSigned(true);
     }
diff --git a/src/lib/datasrc/memory/zone_finder.h b/src/lib/datasrc/memory/zone_finder.h
index 8cad679..f508a25 100644
--- a/src/lib/datasrc/memory/zone_finder.h
+++ b/src/lib/datasrc/memory/zone_finder.h
@@ -24,6 +24,8 @@
 #include <dns/rrtype.h>
 #include <dns/nsec3hash.h>
 
+#include <string>
+
 namespace isc {
 namespace datasrc {
 namespace memory {
diff --git a/src/lib/dns/nsec3hash.cc b/src/lib/dns/nsec3hash.cc
index f19fd7d..d6f40dd 100644
--- a/src/lib/dns/nsec3hash.cc
+++ b/src/lib/dns/nsec3hash.cc
@@ -169,7 +169,8 @@ std::string
 NSEC3Hash::calculate(const Name& name,
                      const uint16_t iterations,
                      const uint8_t* salt,
-                     size_t salt_len) {
+                     size_t salt_len)
+{
     // We first need to normalize the name by converting all upper case
     // characters in the labels to lower ones.
     OutputBuffer obuf(Name::MAX_WIRE);



More information about the bind10-changes mailing list