Logoj0ke.net Open Build Service > Projects > home:opeter:powerdns33_centos6 > powerdns > pdns-cname-wildcard-select.patch
Sign Up | Log In

File pdns-cname-wildcard-select.patch of Package powerdns (Revision 9)

Currently displaying revision 9, show latest

x
 
1
diff -ru pdns-3.3-rc1/pdns/backends/gsql/gsqlbackend.cc pdns-3.3/pdns/backends/gsql/gsqlbackend.cc
2
--- pdns/backends/gsql/gsqlbackend.cc   2013-05-17 15:05:20.000000000 +0200
3
+++ pdns/backends/gsql/gsqlbackend.cc   2013-06-12 14:19:19.934020614 +0200
4
@@ -702,7 +702,7 @@
5
   
6
   // lcqname=labelReverse(makeRelative(lcqname, "net"));
7
 
8
-  if(qtype.getCode()!=QType::ANY) {
9
+  if(qtype.getCode()!=QType::ANY && qtype.getCode()!=QType::CNAME) {
10
     // qtype qname domain_id
11
     if(domain_id<0) {
12
       if(qname[0]=='%')
13
@@ -720,6 +720,17 @@
14
       snprintf(output,sizeof(output)-1, format.c_str(),sqlEscape(qtype.getName()).c_str(),sqlEscape(lcqname).c_str(),domain_id);
15
     }
16
   }
17
+  else if (qtype.getCode()==QType::CNAME)
18
+    {
19
+      if(domain_id<0) {
20
+   format=d_noWildCardNoIDQuery;
21
+   snprintf(output,sizeof(output)-1, format.c_str(),sqlEscape(qtype.getName()).c_str(),sqlEscape(lcqname).c_str());
22
+      }
23
+      else {
24
+   format=d_wildCardIDQuery;
25
+   snprintf(output,sizeof(output)-1, format.c_str(),sqlEscape(qtype.getName()).c_str(),sqlEscape(lcqname).c_str(),domain_id);
26
+      }
27
+    }
28
   else {
29
     // qtype==ANY
30
     // qname domain_id
31