]> granicus.if.org Git - pdns/commitdiff
fixups for geoip, mydns and remote.
authorbert hubert <bert.hubert@netherlabs.nl>
Mon, 28 Sep 2015 05:48:47 +0000 (07:48 +0200)
committerbert hubert <bert.hubert@netherlabs.nl>
Mon, 28 Sep 2015 05:48:47 +0000 (07:48 +0200)
modules/geoipbackend/geoipbackend.cc
modules/mydnsbackend/mydnsbackend.cc
modules/remotebackend/remotebackend.cc

index 12a8b755ecc090fe9f77d0940bee6a0d2fe3bfe0..3170980f4efc3ca8f4afcf45e8f443054c7346fc 100644 (file)
@@ -84,7 +84,7 @@ void GeoIPBackend::initialize() {
   BOOST_FOREACH(YAML::Node domain, config["domains"]) {
     GeoIPDomain dom;
     dom.id = s_domains.size();
-    dom.domain = domain["domain"].as<string>();
+    dom.domain = DNSName(domain["domain"].as<string>());
     dom.ttl = domain["ttl"].as<int>();
 
     for(YAML::const_iterator recs = domain["records"].begin(); recs != domain["records"].end(); recs++) {
@@ -236,8 +236,8 @@ void GeoIPBackend::lookup(const QType &qtype, const DNSName& qdomain, DNSPacket
   format = format2str(format, ip, v6);
 
   // see if the record can be found
-  if (dom.records.count(format)) { // return static value
-    map<DNSName, vector<DNSResourceRecord> >::iterator i = dom.records.find(format);
+  if (dom.records.count(DNSName(format))) { // return static value
+    map<DNSName, vector<DNSResourceRecord> >::iterator i = dom.records.find(DNSName(format));
     BOOST_FOREACH(DNSResourceRecord rr, i->second) {
       if (qtype == QType::ANY || rr.qtype == qtype) {
         rr.scopeMask = (v6 ? 128 : 32);
index 83cfdb7522ea714b17a722276d089982f8cda4e1..9cace468cef28ac6663a04a1d5024dc143549c4d 100644 (file)
@@ -211,9 +211,9 @@ bool MyDNSBackend::getSOA(const DNSName& name, SOAData& soadata, DNSPacket*) {
 
   soadata.qname = name;
   soadata.domain_id = atol(rrow[0].c_str());
-  soadata.hostmaster = rrow[1];
+  soadata.hostmaster = DNSName(rrow[1]);
   soadata.serial = atol(rrow[2].c_str());
-  soadata.nameserver = rrow[3];
+  soadata.nameserver = DNSName(rrow[3]);
   soadata.refresh = atol(rrow[4].c_str());
   soadata.retry = atol(rrow[5].c_str());
   soadata.expire = atol(rrow[6].c_str());
@@ -225,7 +225,7 @@ bool MyDNSBackend::getSOA(const DNSName& name, SOAData& soadata, DNSPacket*) {
   soadata.db = this;
 
   if (d_result.size()>1) {
-    L<<Logger::Warning<<backendName<<" Found more than one matching zone for: "+name<<endl;
+    L<<Logger::Warning<<backendName<<" Found more than one matching zone for: "<<name<<endl;
   };
 
   return true;
@@ -369,7 +369,7 @@ bool MyDNSBackend::get(DNSResourceRecord &rr) {
   
     if(!d_qname.empty()) {
       // use this to distinguish between select with 'name' field (list()) and one without
-      rr.qname=d_qname;
+      rr.qname=DNSName(d_qname);
     } else {
       string tmpQname = rrow[5];
 
index f1b3bad06f7b59bb8895deaa67b62ca581756cf5..784af21ba9309313eeee5ce5425f483762435821 100644 (file)
@@ -241,7 +241,7 @@ bool RemoteBackend::get(DNSResourceRecord &rr) {
 
    value = "";
    rr.qtype = getString(JSON_GET((*d_result)["result"][d_index], "qtype", value));
-   rr.qname = getString(JSON_GET((*d_result)["result"][d_index], "qname", value));
+   rr.qname = DNSName(getString(JSON_GET((*d_result)["result"][d_index], "qname", value)));
    rr.qclass = QClass::IN;
    rr.content = getString(JSON_GET((*d_result)["result"][d_index], "content",value));
    value = -1;
@@ -283,7 +283,7 @@ bool RemoteBackend::getBeforeAndAfterNamesAbsolute(uint32_t id, const std::strin
    if (this->send(query) == false || this->recv(answer) == false)
      return false;
 
-   unhashed = getString(answer["result"]["unhashed"]);
+   unhashed = DNSName(getString(answer["result"]["unhashed"]));
    before = getString(answer["result"]["before"]);
    after = getString(answer["result"]["after"]);
  
@@ -521,7 +521,7 @@ bool RemoteBackend::getTSIGKey(const DNSName& name, DNSName* algorithm, std::str
        !answer["result"].HasMember("content")) 
      throw PDNSException("Invalid response to getTSIGKey, missing field(s)");
 
-   (*algorithm) = getString(answer["result"]["algorithm"]);
+   (*algorithm) = DNSName(getString(answer["result"]["algorithm"]));
    content->assign(getString(answer["result"]["content"]));
    
    return true;
@@ -583,8 +583,8 @@ bool RemoteBackend::getTSIGKeys(std::vector<struct TSIGKey>& keys) {
          struct TSIGKey key;
          rapidjson::Value value;
          value = "";
-         key.name = getString(JSON_GET((*iter), "name", value));
-         key.algorithm = getString(JSON_GET((*iter), "algorithm", value));
+         key.name = DNSName(getString(JSON_GET((*iter), "name", value)));
+         key.algorithm = DNSName(getString(JSON_GET((*iter), "algorithm", value)));
          key.key = getString(JSON_GET((*iter), "content", value));
 
          if (key.name.empty() ||
@@ -622,7 +622,7 @@ bool RemoteBackend::getDomainInfo(const DNSName& domain, DomainInfo &di) {
    value = -1;
    // parse return value. we need at least zone,serial,kind
    di.id = getInt(JSON_GET(answer["result"],"id",value));
-   di.zone = getString(answer["result"]["zone"]);
+   di.zone = DNSName(getString(answer["result"]["zone"]));
 
    if (answer["result"].HasMember("masters") && answer["result"]["masters"].IsArray()) {
      rapidjson::Value& value = answer["result"]["masters"];
@@ -977,7 +977,7 @@ bool RemoteBackend::searchRecords(const string &pattern, int maxResults, vector<
      rapidjson::Value value;
      value = "";
      rr.qtype = getString(JSON_GET((*d_result)["result"][d_index], "qtype", value));
-     rr.qname = getString(JSON_GET((*d_result)["result"][d_index], "qname", value));
+     rr.qname = DNSName(getString(JSON_GET((*d_result)["result"][d_index], "qname", value)));
      rr.qclass = QClass::IN;
      rr.content = getString(JSON_GET((*d_result)["result"][d_index], "content",value));
      value = -1;