]> granicus.if.org Git - pdns/commitdiff
wow yet another misnamed function attempting to encode DNS strings!
authorbert hubert <bert.hubert@netherlabs.nl>
Sat, 5 Mar 2016 10:42:48 +0000 (11:42 +0100)
committerbert hubert <bert.hubert@netherlabs.nl>
Sat, 5 Mar 2016 10:42:48 +0000 (11:42 +0100)
pdns/dnsparser.cc

index f5330aadb6479ca53b4be289cdd18b128a2fe9aa..81753618abd63476a70a042be61fd2bf6f7cfdf7 100644 (file)
@@ -84,25 +84,6 @@ private:
   vector<uint8_t> d_record;
 };
 
-//FIXME400 lots of overlap with DNSPacketWriter::xfrName
-static const string EncodeDNSLabel(const DNSName& input)
-{  
-  if(!input.countLabels()) // otherwise we encode .. (long story)
-    return string (1, 0);
-    
-  auto parts = input.getRawLabels();
-  string ret;
-
-  for(auto &label: parts) {
-    ret.append(1, label.size());
-    ret.append(label);
-  }
-
-  ret.append(1, 0);
-  return ret;
-}
-
-
 shared_ptr<DNSRecordContent> DNSRecordContent::unserialize(const DNSName& qname, uint16_t qtype, const string& serialized)
 {
   dnsheader dnsheader;
@@ -114,7 +95,7 @@ shared_ptr<DNSRecordContent> DNSRecordContent::unserialize(const DNSName& qname,
 
   /* will look like: dnsheader, 5 bytes, encoded qname, dns record header, serialized data */
 
-  string encoded=EncodeDNSLabel(qname);
+  string encoded=qname.toDNSString();
 
   packet.resize(sizeof(dnsheader) + 5 + encoded.size() + sizeof(struct dnsrecordheader) + serialized.size());