You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@spamassassin.apache.org by bu...@bugzilla.spamassassin.org on 2004/09/20 19:22:09 UTC

[Bug 3794] New: Dns.pm: Can't call method "qname" on an undefined value

http://bugzilla.spamassassin.org/show_bug.cgi?id=3794

           Summary: Dns.pm: Can't call method "qname" on an undefined value
           Product: Spamassassin
           Version: SVN Trunk (Latest Devel Version)
          Platform: All
        OS/Version: FreeBSD
            Status: NEW
          Severity: normal
          Priority: P3
         Component: Libraries
        AssignedTo: dev@spamassassin.apache.org
        ReportedBy: Mark.Martinec@ijs.si


Using 3.0.0-rc5, I came across a broken mail that causes SA 
to create an invalid DNS request, and on analyzing the DNS reply 
the Dns::do_rbl_lookup fails with: 
 
  Can't call method "qname" on an undefined value 
  at /usr/local/lib/perl5/site_perl/5.8.5/Mail/SpamAssassin/Dns.pm 
  line 194 
 
which blocks further mail processing (SA is being called from within 
amavisd-new, although I believe the problem is more general). 
 
Dumping the Net::DNS::Packet->string before and after the query 
(at bgsend and then at bgread) reveals the DNS format error: 
 
debug: rbl: launching DNS A query for 
guest.arnes.simaqcawaaagaaaaaaaaaaaaaaaaaaaaqahbaaa2aaaaaaaaaaaaaaaaaaaaaaaaqahbaaa.rhsbl.ahbl.org. 
in background 
 
before bgsend 
  (creating packet object by Net::DNS::Packet->new($host,$type) ): 
;; HEADER SECTION 
;; id = 51114 
;; qr = 0    opcode = QUERY    aa = 0    tc = 0    rd = 1 
;; ra = 0    ad = 0    cd = 0    rcode  = NOERROR 
;; qdcount = 1  ancount = 0  nscount = 0  arcount = 0 
;; QUESTION SECTION (1 record) 
;; 
guest.arnes.simaqcawaaagaaaaaaaaaaaaaaaaaaaaqahbaaa2aaaaaaaaaaaaaaaaaaaaaaaaqahbaaa.rhsbl.ahbl.org.  
IN      A 
;; ANSWER SECTION (0 records) 
;; AUTHORITY SECTION (0 records) 
;; ADDITIONAL SECTION (0 records) 
 
 
after bgread: 
;; HEADER SECTION 
;; id = 51114 
;; qr = 1    opcode = QUERY    aa = 0    tc = 0    rd = 1 
;; ra = 0    ad = 0    cd = 0    rcode  = FORMERR 
;; qdcount = 0  ancount = 0  nscount = 0  arcount = 0 
;; QUESTION SECTION (0 records) 
;; ANSWER SECTION (0 records) 
;; AUTHORITY SECTION (0 records) 
;; ADDITIONAL SECTION (0 records) 
 
Note the "rcode=FORMERR", and an empty (cleared) question section 
after the query. 
 
The bad data (sender address) comes directly from the "From:" 
header field of the broken mail message causing the problem. 
 
Regards 
   Mark



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.