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
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
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