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

Reply via email to