]> granicus.if.org Git - pdns/commitdiff
partial NSECx DNSName fixes
authorKees Monshouwer <mind04@monshouwer.org>
Tue, 2 Jun 2015 14:06:06 +0000 (16:06 +0200)
committermind04 <mind04@monshouwer.org>
Tue, 30 Jun 2015 06:12:45 +0000 (08:12 +0200)
pdns/dnsbackend.cc
pdns/dnsbackend.hh

index 20998836ddc813a71b6b6fcd8cd556950e449697..400717f7c8d7866cce95f70c187d985cc9302536 100644 (file)
@@ -286,12 +286,13 @@ bool DNSBackend::getBeforeAndAfterNames(uint32_t id, const DNSName& zonename, co
   
   // lcqname=labelReverse(lcqname);
   DNSName dnc;
-  string sbefore, safter;
-  sbefore = before.toString();
-  safter = after.toString();
-  bool ret = this->getBeforeAndAfterNamesAbsolute(id, qname, dnc, sbefore, safter);
-  before = DNSName(sbefore);
-  after = DNSName(safter);
+  string relqname, sbefore, safter;
+  relqname=labelReverse(makeRelative(qname.toString(), zonename.toString()));
+  //sbefore = before.toString();
+  //safter = after.toString();
+  bool ret = this->getBeforeAndAfterNamesAbsolute(id, relqname, dnc, sbefore, safter);
+  before = DNSName(labelReverse(sbefore)) + zonename;
+  after = DNSName(labelReverse(safter)) + zonename;
   
   // before=dotConcat(labelReverse(before), lczonename); FIXME
   // after=dotConcat(labelReverse(after), lczonename); FIXME
index 5d37315803a9a5874cc906e93ce09dcbdf69d460..b07132117179dc8b98815669911c6790a97854e8 100644 (file)
@@ -184,7 +184,7 @@ public:
   virtual bool deleteTSIGKey(const DNSName& name) { return false; }
   virtual bool getTSIGKeys(std::vector< struct TSIGKey > &keys) { return false; }
 
-  virtual bool getBeforeAndAfterNamesAbsolute(uint32_t id, const DNSName& qname, DNSName& unhashed, string& before, string& after)
+  virtual bool getBeforeAndAfterNamesAbsolute(uint32_t id, const string& qname, DNSName& unhashed, string& before, string& after)
   {
     std::cerr<<"Default beforeAndAfterAbsolute called!"<<std::endl;
     abort();