]> granicus.if.org Git - pdns/commitdiff
add some DNSResourceRecord/DNSRecord conversion infra
authorbert hubert <bert.hubert@netherlabs.nl>
Thu, 1 Oct 2015 19:45:23 +0000 (21:45 +0200)
committerbert hubert <bert.hubert@netherlabs.nl>
Thu, 1 Oct 2015 19:45:23 +0000 (21:45 +0200)
pdns/dns.cc
pdns/dns.hh

index 2e0639a94d32c729f6dcd421f898085241c18dc7..bebfb8a73ec176bbf00d7fde2c7faaae8a9414c4 100644 (file)
@@ -9,6 +9,7 @@
 #include <boost/algorithm/string.hpp>
 #include <boost/lexical_cast.hpp>
 #include <boost/assign/list_of.hpp>
+#include "dnsparser.hh"
 
 std::vector<std::string> RCode::rcodes_s = boost::assign::list_of 
   ("No Error")
@@ -195,3 +196,18 @@ string& attodot(string &str)
    return str;
 }
 
+vector<DNSResourceRecord> convertRRS(const vector<DNSRecord>& in)
+{
+  vector<DNSResourceRecord> out;
+  for(const auto& d : in) {
+    DNSResourceRecord rr;
+    rr.qname = d.d_name;
+    rr.qtype = QType(d.d_type);
+    rr.ttl = d.d_ttl;
+    rr.content = d.d_content->getZoneRepresentation();
+    rr.auth = false;
+    rr.qclass = d.d_class;
+    out.push_back(rr);
+  }
+  return out;
+}
index d346f0883cc15f05bb56bc9bc3f1551533131b11..e0e4cdabf1531d59402aa521cf587b872e81526b 100644 (file)
@@ -230,3 +230,5 @@ void fillSOAData(const string &content, SOAData &data);
 /** for use by DNSPacket, converts a SOAData class to a ascii line again */
 string serializeSOAData(const SOAData &data);
 string &attodot(string &str);  //!< for when you need to insert an email address in the SOA
+
+vector<DNSResourceRecord> convertRRS(const vector<DNSRecord>& in);