]> granicus.if.org Git - pdns/commitdiff
Merge branch 'jsonzone2sql'
authorbert hubert <bert.hubert@netherlabs.nl>
Thu, 24 Apr 2014 07:26:39 +0000 (09:26 +0200)
committerbert hubert <bert.hubert@netherlabs.nl>
Thu, 24 Apr 2014 07:26:39 +0000 (09:26 +0200)
Conflicts:
pdns/zone2sql.cc
pdns/zoneparser-tng.hh

1  2 
pdns/zone2sql.cc
pdns/zoneparser-tng.hh

index 250c31ec01c6532ffa4cfecbfc22ec30701c19c0,5a585cf37febaf4e23a8f154e80e5eaf7daa5cec..3b50ecaec18631476d822ce550d59dacc7315a50
@@@ -141,9 -141,24 +141,30 @@@ static void emitDomain(const string& do
      }
    }
  }
++<<<<<<< HEAD
 +
 +static void emitRecord(const string& zoneName, const string &qname, const string &qtype, const string &ocontent, int ttl, int prio)
 +{
++=======
+ bool g_doJSONComments;
+ static void emitRecord(const string& zoneName, const string &qname, const string &qtype, const string &ocontent, int ttl, int prio, const string& comment="")
+ {
+   int disabled=0;
+   string recordcomment;
+   if(g_doJSONComments & !comment.empty()) {
+     string::size_type pos = comment.find("json={");
+     if(pos!=string::npos) {
+       string json = comment.substr(pos+5);
+       rapidjson::Document document;
+       if(document.Parse<0>(json.c_str()).HasParseError())
+       throw runtime_error("Could not parse JSON '"+json+"'");
+       disabled=boolFromJson(document, "disabled", false);
+       recordcomment=stringFromJson(document, "comment", "");
+     }
+   }
++>>>>>>> jsonzone2sql
    g_numRecords++;
    string content(ocontent);
  
@@@ -389,8 -424,16 +423,21 @@@ tr
        DNSResourceRecord rr;
        startNewTransaction();
        emitDomain(zonename);
++<<<<<<< HEAD
 +      while(zpt.get(rr)) 
 +        emitRecord(zonename, rr.qname, rr.qtype.getName(), rr.content, rr.ttl, rr.priority);
++=======
+       string comment;
+       bool seenSOA=false;
+       while(zpt.get(rr, &comment))  {
+       if(filterDupSOA && seenSOA && rr.qtype.getCode() == QType::SOA)
+         continue;
+       if(rr.qtype.getCode() == QType::SOA)
+         seenSOA=true;
+         emitRecord(zonename, rr.qname, rr.qtype.getName(), rr.content, rr.ttl, rr.priority, comment);
+       }
++>>>>>>> jsonzone2sql
        num_domainsdone=1;
      }
      cerr<<num_domainsdone<<" domains were fully parsed, containing "<<g_numRecords<<" records\n";
Simple merge