]> granicus.if.org Git - pdns/commitdiff
toBase32Hex case flip
authorKees Monshouwer <mind04@monshouwer.org>
Sat, 10 Aug 2013 21:07:48 +0000 (23:07 +0200)
committermind04 <mind04@monshouwer.org>
Sun, 11 Aug 2013 20:57:54 +0000 (22:57 +0200)
pdns/backends/bind/bindbackend2.cc
pdns/backends/gsql/gsqlbackend.cc
pdns/base32.cc
pdns/nsec3dig.cc
pdns/packethandler.cc
pdns/pdnssec.cc
pdns/rcpgenerator.cc
pdns/rfc2136handler.cc
pdns/slavecommunicator.cc
pdns/tcpreceiver.cc
pdns/test-base32_cc.cc

index 76c061f69c57da0c045ef9b713b85f032dc64871..9d6a4305bd7c111148834e3ccec256717eecb487 100644 (file)
@@ -638,7 +638,7 @@ void Bind2Backend::doEmptyNonTerminals(shared_ptr<State> stage, int id, bool nse
   {
     rr.qname=qname+"."+bb2.d_name+".";
     if(nsec3zone)
-      hashed=toLower(toBase32Hex(hashQNameWithSalt(ns3pr.d_iterations, ns3pr.d_salt, rr.qname)));
+      hashed=toBase32Hex(hashQNameWithSalt(ns3pr.d_iterations, ns3pr.d_salt, rr.qname));
     insert(stage, id, rr.qname, rr.qtype, rr.content, rr.ttl, rr.priority, hashed);
   }
 }
@@ -741,7 +741,7 @@ void Bind2Backend::loadConfig(string* status)
 
               if(nsec3zone) {
                 if(rr.qtype.getCode() != QType::NSEC3 && rr.qtype.getCode() != QType::RRSIG)
-                  hashed=toLower(toBase32Hex(hashQNameWithSalt(ns3pr.d_iterations, ns3pr.d_salt, rr.qname)));
+                  hashed=toBase32Hex(hashQNameWithSalt(ns3pr.d_iterations, ns3pr.d_salt, rr.qname));
                 else
                   hashed="";
               }
@@ -872,7 +872,7 @@ void Bind2Backend::queueReload(BB2DomainInfo *bbd)
 
       if(nsec3zone) {
         if(rr.qtype.getCode() != QType::NSEC3 && rr.qtype.getCode() != QType::RRSIG)
-          hashed=toLower(toBase32Hex(hashQNameWithSalt(ns3pr.d_iterations, ns3pr.d_salt, rr.qname)));
+          hashed=toBase32Hex(hashQNameWithSalt(ns3pr.d_iterations, ns3pr.d_salt, rr.qname));
         else
           hashed="";
       }
index 7be5d2ed4641916ff7b962ef1b417397d7f194d0..0dc190d36427691233258eba7f1af321a2328cc3 100644 (file)
@@ -968,7 +968,7 @@ bool GSQLBackend::feedEnts3(int domain_id, const string &domain, set<string> &no
       output = (boost::format(d_InsertEntQuery) % domain_id % toLower(sqlEscape(qname))).str();
     } else {
       ordername=toBase32Hex(hashQNameWithSalt(times, salt, qname));
-      output = (boost::format(d_InsertEntOrderQuery) % domain_id % toLower(sqlEscape(qname)) % toLower(sqlEscape(ordername))).str();
+      output = (boost::format(d_InsertEntOrderQuery) % domain_id % toLower(sqlEscape(qname)) % sqlEscape(ordername)).str();
     }
 
     try {
index 5c96cc2ff154fbbc35db80dcbf9ebaf6de4ac262..a49f668f2ef05cdc8a8c8017bab7d65ba34b4c61 100644 (file)
@@ -73,7 +73,7 @@ static int unbase32hex(char c)
 /* convert a binary string to base32hex */
 string toBase32Hex(const std::string& input)
 {
-  static const char base32hex[] = "0123456789ABCDEFGHIJKLMNOPQRSTUV=";
+  static const char base32hex[] = "0123456789abcdefghijklmnopqrstuv=";
   string ret;
   ret.reserve(4+ 8*input.length()/5); // optimization
   // process input in groups of 5 8-bit chunks, emit 8 5-bit chunks 
index f7540109ced27b083d9b1db399ca80a09d07b3a0..6fe3023e54c367abf9cd0f8fea964c453513b094 100644 (file)
@@ -15,7 +15,7 @@ typedef set<nsec3> nsec3set;
 
 string nsec3Hash(const string &qname, const string &salt, unsigned int iters)
 {
-  return toLower(toBase32Hex(hashQNameWithSalt(iters, salt, qname)));
+  return toBase32Hex(hashQNameWithSalt(iters, salt, qname));
 }
 
 void proveOrDeny(const nsec3set &nsec3s, const string &qname, const string &salt, unsigned int iters, set<string> &proven, set<string> &denied)
@@ -130,7 +130,7 @@ try
       // cerr<<toBase32Hex(r.d_nexthash)<<endl;
       vector<string> parts;
       boost::split(parts, i->first.d_label, boost::is_any_of("."));
-      nsec3s.insert(make_pair(toLower(parts[0]), toLower(toBase32Hex(r.d_nexthash))));
+      nsec3s.insert(make_pair(toLower(parts[0]), toBase32Hex(r.d_nexthash)));
       nsec3salt = r.d_salt;
       nsec3iters = r.d_iterations;
     }
index 572b6a8f11b02061ed7c2705e1636565d2c2b4a1..0d0c3f74b91c7fb6c996f9ee03ea7aff4ad8f2a4 100644 (file)
@@ -450,7 +450,7 @@ void PacketHandler::emitNSEC(const std::string& begin, const std::string& end, c
 
 void emitNSEC3(DNSBackend& B, const NSEC3PARAMRecordContent& ns3prc, const SOAData& sd, const std::string& unhashed, const std::string& begin, const std::string& end, const std::string& toNSEC3, DNSPacket *r, int mode)
 {
-//  cerr<<"We should emit NSEC3 '"<<toLower(toBase32Hex(begin))<<"' - ('"<<toNSEC3<<"') - '"<<toLower(toBase32Hex(end))<<"' (unhashed: '"<<unhashed<<"')"<<endl;
+//  cerr<<"We should emit NSEC3 '"<<toBase32Hex(begin)<<"' - ('"<<toNSEC3<<"') - '"<<toBase32Hex(end)<<"' (unhashed: '"<<unhashed<<"')"<<endl;
   NSEC3RecordContent n3rc;
   n3rc.d_salt=ns3prc.d_salt;
   n3rc.d_flags = ns3prc.d_flags;
@@ -476,7 +476,7 @@ void emitNSEC3(DNSBackend& B, const NSEC3PARAMRecordContent& ns3prc, const SOADa
   
   n3rc.d_nexthash=end;
 
-  rr.qname=dotConcat(toLower(toBase32Hex(begin)), sd.qname);
+  rr.qname=dotConcat(toBase32Hex(begin), sd.qname);
   rr.ttl = sd.default_ttl;
   rr.qtype=QType::NSEC3;
   rr.content=n3rc.getZoneRepresentation();
@@ -568,7 +568,7 @@ bool getNSEC3Hashes(bool narrow, DNSBackend* db, int id, const std::string& hash
       before.clear();
     else
       before=' ';
-    ret=db->getBeforeAndAfterNamesAbsolute(id, toLower(toBase32Hex(hashed)), unhashed, before, after);
+    ret=db->getBeforeAndAfterNamesAbsolute(id, toBase32Hex(hashed), unhashed, before, after);
     before=fromBase32Hex(before);
     after=fromBase32Hex(after);
   }
@@ -914,7 +914,7 @@ void PacketHandler::synthesiseRRSIGs(DNSPacket* p, DNSPacket* r)
     // now get the NSEC3 and NSEC3PARAM
     string hashed=hashQNameWithSalt(ns3pr.d_iterations, ns3pr.d_salt, unhashed);
     getNSEC3Hashes(narrow, sd.db, sd.domain_id,  hashed, false, unhashed, before, after);
-    unhashed=dotConcat(toLower(toBase32Hex(before)), sd.qname);
+    unhashed=dotConcat(toBase32Hex(before), sd.qname);
 
     n3rc.d_set=nrc.d_set; // Copy d_set from NSEC
     n3rc.d_algorithm=ns3pr.d_algorithm;
index ca5ed9baeb111894673009b586d04d82aea7ac9a..ebf381f35946e462e41406833d525401768b2fd9 100644 (file)
@@ -240,7 +240,7 @@ bool rectifyZone(DNSSECKeeper& dk, const std::string& zone)
     if(haveNSEC3)
     {
       if(!narrow) {
-        hashed=toLower(toBase32Hex(hashQNameWithSalt(ns3pr.d_iterations, ns3pr.d_salt, qname)));
+        hashed=toBase32Hex(hashQNameWithSalt(ns3pr.d_iterations, ns3pr.d_salt, qname));
         if(g_verbose)
           cerr<<"'"<<qname<<"' -> '"<< hashed <<"'"<<endl;
         sd.db->updateDNSSECOrderAndAuthAbsolute(sd.domain_id, qname, hashed, auth);
@@ -1263,7 +1263,7 @@ try
       cerr<<"The '"<<zone<<"' zone uses narrow NSEC3, but calculating hash anyhow"<<endl;
     }
       
-    cout<<toLower(toBase32Hex(hashQNameWithSalt(ns3pr.d_iterations, ns3pr.d_salt, record)))<<endl;
+    cout<<toBase32Hex(hashQNameWithSalt(ns3pr.d_iterations, ns3pr.d_salt, record))<<endl;
   }
   else if(cmds[0]=="unset-nsec3") {
     if(cmds.size() < 2) {
index 55295dc6477a42eddff5ed5d308cfd0ea30be99c..0ca4c03fb785548aa4c1ef29c23549b686249381 100644 (file)
@@ -300,7 +300,7 @@ void RecordTextWriter::xfrBase32HexBlob(const string& val)
   if(!d_string.empty())
     d_string.append(1,' ');
 
-  d_string.append(toBase32Hex(val));
+  d_string.append(toUpper(toBase32Hex(val)));
 }
 
 
index 6bf5c73252a946ec01bc78e1947da2cda8280221..ae2fe7e4b8b7abde0d0d37806db3b85d7f70de33 100644 (file)
@@ -149,7 +149,7 @@ uint PacketHandler::performUpdate(const string &msgPrefix, const DNSRecord *rr,
         } while(chopOff(shorter));
 
         if (! *narrow && (ddepth == 0 || (ddepth == 1 && nssets.count(qname)))) {
-          hashed = toLower(toBase32Hex(hashQNameWithSalt(ns3pr->d_iterations, ns3pr->d_salt, qname)));
+          hashed = toBase32Hex(hashQNameWithSalt(ns3pr->d_iterations, ns3pr->d_salt, qname));
           di->backend->updateDNSSECOrderAndAuthAbsolute(di->id, qname, hashed, (ddepth == 0));
 
           if (nssets.count(qname)) {
@@ -242,7 +242,7 @@ uint PacketHandler::performUpdate(const string &msgPrefix, const DNSRecord *rr,
         if(*haveNSEC3) {
           string hashed;
           if(! *narrow)
-            hashed=toLower(toBase32Hex(hashQNameWithSalt(ns3pr->d_iterations, ns3pr->d_salt, rrLabel)));
+            hashed=toBase32Hex(hashQNameWithSalt(ns3pr->d_iterations, ns3pr->d_salt, rrLabel));
 
           if (*narrow)
             di->backend->nullifyDNSSECOrderNameAndUpdateAuth(di->id, rrLabel, auth);
@@ -309,7 +309,7 @@ uint PacketHandler::performUpdate(const string &msgPrefix, const DNSRecord *rr,
       {
         string hashed;
         if(! *narrow)
-          hashed=toLower(toBase32Hex(hashQNameWithSalt(ns3pr->d_iterations, ns3pr->d_salt, rrLabel)));
+          hashed=toBase32Hex(hashQNameWithSalt(ns3pr->d_iterations, ns3pr->d_salt, rrLabel));
 
         if (*narrow)
           di->backend->nullifyDNSSECOrderNameAndUpdateAuth(di->id, rrLabel, auth);
@@ -355,7 +355,7 @@ uint PacketHandler::performUpdate(const string &msgPrefix, const DNSRecord *rr,
           if(*haveNSEC3)  {
             string hashed;
             if(! *narrow)
-              hashed=toLower(toBase32Hex(hashQNameWithSalt(ns3pr->d_iterations, ns3pr->d_salt, *qname)));
+              hashed=toBase32Hex(hashQNameWithSalt(ns3pr->d_iterations, ns3pr->d_salt, *qname));
 
             if (*narrow)
               di->backend->nullifyDNSSECOrderNameAndUpdateAuth(di->id, rrLabel, auth);
@@ -488,7 +488,7 @@ uint PacketHandler::performUpdate(const string &msgPrefix, const DNSRecord *rr,
           if(*haveNSEC3)  {
             string hashed;
             if(! *narrow)
-              hashed=toLower(toBase32Hex(hashQNameWithSalt(ns3pr->d_iterations, ns3pr->d_salt, *changeRec)));
+              hashed=toBase32Hex(hashQNameWithSalt(ns3pr->d_iterations, ns3pr->d_salt, *changeRec));
 
             di->backend->updateDNSSECOrderAndAuthAbsolute(di->id, *changeRec, hashed, true);
           }
@@ -559,7 +559,7 @@ uint PacketHandler::performUpdate(const string &msgPrefix, const DNSRecord *rr,
       {
         string hashed;
         if(! *narrow)
-          hashed=toLower(toBase32Hex(hashQNameWithSalt(ns3pr->d_iterations, ns3pr->d_salt, *i)));
+          hashed=toBase32Hex(hashQNameWithSalt(ns3pr->d_iterations, ns3pr->d_salt, *i));
         di->backend->updateDNSSECOrderAndAuthAbsolute(di->id, *i, hashed, true);
       }
     }
@@ -998,7 +998,7 @@ void PacketHandler::increaseSerial(const string &msgPrefix, const DomainInfo *di
   else if (haveNSEC3) {
     string hashed;
     if (!narrow)
-      hashed = toLower(toBase32Hex(hashQNameWithSalt(ns3pr->d_iterations, ns3pr->d_salt, newRec.qname)));
+      hashed = toBase32Hex(hashQNameWithSalt(ns3pr->d_iterations, ns3pr->d_salt, newRec.qname));
 
     di->backend->updateDNSSECOrderAndAuthAbsolute(di->id, newRec.qname, hashed, true);
   }
index 65d6fa1ffaf562e253fa55b285d158d0847a9a83..56df14007e5653e186356bdae57f8b95b7b79aa7 100644 (file)
@@ -277,7 +277,7 @@ void CommunicatorClass::suck(const string &domain,const string &remote)
       if (dnssecZone && rr.qtype.getCode() != QType::RRSIG) {
         if (haveNSEC3) {
           // NSEC3
-          ordername=toLower(toBase32Hex(hashQNameWithSalt(ns3pr.d_iterations, ns3pr.d_salt, rr.qname)));
+          ordername=toBase32Hex(hashQNameWithSalt(ns3pr.d_iterations, ns3pr.d_salt, rr.qname));
           if(!narrow && (rr.auth || (rr.qtype.getCode() == QType::NS && (!gotOptOutFlag || secured.count(ordername))))) {
             di.backend->feedRecord(rr, &ordername);
           } else
index c56385a3330aaa96195dddc6ba6de16e4fd0091a..0d786afd1b50d9f9ddfd661959ab683507bb3749 100644 (file)
@@ -736,7 +736,7 @@ int TCPNameserver::doAXFR(const string &target, shared_ptr<DNSPacket> q, int out
               inext = nsecxrepo.begin();
           }
           n3rc.d_nexthash = inext->first;
-          rr.qname = dotConcat(toLower(toBase32Hex(iter->first)), sd.qname);
+          rr.qname = dotConcat(toBase32Hex(iter->first), sd.qname);
 
           rr.ttl = sd.default_ttl;
           rr.content = n3rc.getZoneRepresentation();
index 7293a2c4f658db8fa213108188d3812692b9d4bd..e192b3237a5d9700ed1ba88658d582c182f37c65 100644 (file)
@@ -15,12 +15,12 @@ BOOST_AUTO_TEST_CASE(test_record_types) {
   // RFC test vectors
   cases_t cases = boost::assign::list_of
     (case_t(std::string(""), std::string("")))
-    (case_t(std::string("f"), std::string("CO======")))
-    (case_t(std::string("fo"), std::string("CPNG====")))
-    (case_t(std::string("foo"), std::string("CPNMU===")))
-    (case_t(std::string("foob"), std::string("CPNMUOG=")))
-    (case_t(std::string("fooba"), std::string("CPNMUOJ1")))
-    (case_t(std::string("foobar"), std::string("CPNMUOJ1E8======")))
+    (case_t(std::string("f"), std::string("co======")))
+    (case_t(std::string("fo"), std::string("cpng====")))
+    (case_t(std::string("foo"), std::string("cpnmu===")))
+    (case_t(std::string("foob"), std::string("cpnmuog=")))
+    (case_t(std::string("fooba"), std::string("cpnmuoj1")))
+    (case_t(std::string("foobar"), std::string("cpnmuoj1e8======")))
   ;
 
   BOOST_FOREACH(const case_t& val, cases) {