]> granicus.if.org Git - pdns/commitdiff
fix parsing of RP records in bind zones; fix writing out of SRV records in bind zones...
authorPeter van Dijk <peter.van.dijk@netherlabs.nl>
Mon, 15 Oct 2012 09:46:07 +0000 (09:46 +0000)
committerPeter van Dijk <peter.van.dijk@netherlabs.nl>
Mon, 15 Oct 2012 09:46:07 +0000 (09:46 +0000)
git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@2812 d19b8d6e-7fed-0310-83ef-9ca221ded41b

pdns/backends/bind/bindbackend2.cc
pdns/zoneparser-tng.cc
regression-tests/test.com

index 2b0ee4ae5a58822342a84fd8e5273e0d98458f03..adafd5792e38e5a5bbab07c13fe4e75df437d8e8 100644 (file)
@@ -250,7 +250,11 @@ bool Bind2Backend::feedRecord(const DNSResourceRecord &r)
   case QType::MX:
     if(!stripDomainSuffix(&content, domain))
       content+=".";
+    *d_of<<qname<<"\t"<<r.ttl<<"\t"<<r.qtype.getName()<<"\t"<<r.priority<<"\t"<<content<<endl;
+    break;
   case QType::SRV:
+    if(!stripDomainSuffix(&content, domain))
+      content+=".";
     *d_of<<qname<<"\t"<<r.ttl<<"\t"<<r.qtype.getName()<<"\t"<<r.priority<<"\t"<<content<<endl;
     break;
   case QType::CNAME:
index e4c9463c4ce119d94e4b83aaeacc629ab3267678..f14f60be1f14b5126801d676e0595bc3cc91f124 100644 (file)
@@ -376,6 +376,15 @@ bool ZoneParserTNG::get(DNSResourceRecord& rr)
     }
     break;
   
+  case QType::RP:
+    stringtok(recparts, rr.content);
+    if(recparts.size()==2) {
+      recparts[0] = stripDot(toCanonic(d_zonename, recparts[0]));
+      recparts[1] = stripDot(toCanonic(d_zonename, recparts[1]));
+      rr.content=recparts[0]+" "+recparts[1];
+    }
+    break;
+
   case QType::SRV:
     stringtok(recparts, rr.content);
     if(recparts.size()==4) {
index 63e3ef6afb5069fdc2d4ac38eac0e6dbde08c230..e0f01802748783001c5a0c4e2f3496038ffc4ece 100644 (file)
@@ -13,13 +13,13 @@ $ORIGIN test.com.
 @                      IN      MX      15      smtp-servers
 www                    IN      CNAME   server1
 server1                        IN      A       1.2.3.4
-                       IN      RP      ahu.ds9a.nl counter.test.com.
+                       IN      RP      ahu.ds9a.nl. counter
 *.test                 IN      CNAME   server1
 www.test               IN      A       4.3.2.1
 sub.test               IN      NS      ns-test.example.net
 enum                   IN      NAPTR 100 50 "u" "e2u+sip" "" testuser@domain.com.
 counter                        IN      A       1.1.1.5
-_ldap._tcp.dc          IN      SRV     0 100 389 server1
+_ldap._tcp.dc          IN      SRV     0 100 389 server2.example.net.
 _double._tcp.dc                IN      SRV     0 100 389 server1
 _double._tcp.dc                IN      SRV     1 100 389 server1
 blah                   IN      NS      blah