On 12/21/06, bert hubert <[EMAIL PROTECTED]> wrote:
On Thu, Dec 21, 2006 at 10:00:30AM -0800, gnu not unix wrote: > I have a problem with my parent zone (sf.ca.us), where they > are running powerdns (they used to run bind), and this change > seems to have resulted in my loss of email connectivity. Something definitely is odd: $ dig +norecurs -t mx wraith.sf.ca.us @B.AUTH-NS.SONIC.NET. ; <<>> DiG 9.3.2 <<>> +norecurs -t mx wraith.sf.ca.us @B.AUTH-NS.SONIC.NET. ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42774 ;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 3, ADDITIONAL: 2 ;; QUESTION SECTION: ;wraith.sf.ca.us. IN MX ;; AUTHORITY SECTION: sf.ca.us. 259200 IN SOA ns1.sonic.net. hostmaster.sonic.net. 2006122102 3600 300 1209600 3600 wraith.sf.ca.us. 3600 IN NS wraith.sf.ca.us. wraith.sf.ca.us. 3600 IN NS smidge.wraith.sf.ca.us. This SOA record should not be there. I have no easy explanation why it is there.
Here is where the spurious SOA gets inserted: http://wiki.powerdns.com/cgi-bin/trac.fcgi/attachment/ticket/117/pdns-packethandler.cc.patch The above patch removes the addition of the spurious SOA in to the reply packet, but I'm having a hard time understanding why the code bit was needed in the first place, so no guarantees that it won't break something else. Index: packethandler.cc =================================================================== --- packethandler.cc (revision 941) +++ packethandler.cc (working copy) @@ -404,8 +404,6 @@ r->addRecord(rr); } } - if(hits && !found && !rfound && shortcut ) // we found matching qnames but not a qtype - return 2; if(rfound) return 1; // ANY lookup found the right answer immediately @@ -640,20 +638,6 @@ } mret=makeCanonic(p, r, target); // traverse CNAME chain until we have a useful record (may actually give the correct answer!) - if(mret==2) { // there is some data, but not of the correct type - DLOG(L<<"There is some data, but not of the correct type"<<endl); - SOAData sd; - if(getAuth(p, &sd, target, 0)) { - rr.qname=sd.qname; - rr.qtype=QType::SOA; - rr.content=DNSPacket::serializeSOAData(sd); - rr.ttl=sd.ttl; - rr.domain_id=sd.domain_id; - rr.d_place=DNSResourceRecord::AUTHORITY; - r->addRecord(rr); - } - } - if(mret == 1) goto sendit; // this might be the end of it (client requested a CNAME, or we found the answer already) -- Augie Schwer - [EMAIL PROTECTED] - http://schwer.us Key fingerprint = 9815 AE19 AFD1 1FE7 5DEE 2AC3 CB99 2784 27B0 C072 _______________________________________________ Pdns-users mailing list [email protected] http://mailman.powerdns.com/mailman/listinfo/pdns-users
