[Pdns-dev] Fixing external CNAME (SERVFAIL vs. NOERROR)

azurIt azurit at pobox.sk
Tue Oct 5 13:23:08 CEST 2010


Hi,

I'm sending patch to 'fix' external CNAME resolution. Current pdns stable version is returning value of CNAME + SERVFAIL (just like old Bind8). There are lots of resolvers wihch dislikes this behavior and cannot recurse in resolution of CNAME - the best known utility with this problem is linux 'nslookup'. I think that every software likes and is able to process CNAME + NOERROR result, so why don't do it like this ? And everyone will be happy :) This is also how Bind9 is doing it.

Fix is very simple. Version 2.9.22 of pdns, file pdns/packethandler.cc, line 809, add this into 'if' statement:

// external CNAME, return NOERROR
else if (target!=p->qdomain) {
  r->setRcode(RCode::NoError);
}


More information about the Pdns-dev mailing list