Skip Menu |

This queue is for tickets about the Net-DNS CPAN distribution.

Report information
The Basics
Id: 11805
Status: resolved
Priority: 0/
Queue: Net-DNS

People
Owner: Nobody in particular
Requestors: rob [...] clarke-family.org.uk
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.48_01
Fixed in: (no value)



Subject: Net::DNS make test fails on recurse
Hi, I'm trying to install Net::DNS while following the qmail rocks installtions. The `make test TEST_VERBOSE=1` fails with the following text. Details about environment as follows: 800mhz Athlon running FreeBSD5.3 uname -a gives: FreeBSD mailserver2.clarke-family.org.uk 5.3-RELEASE FreeBSD 5.3-RELEASE #0: Fri Nov 5 04:19:18 UTC 2004 root@harlow.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386 perl v5.8.5 built for i386-freebsd-64int (rebuilt with ENABLE_SUIDPERL=true) My DNS (192.168.3.1) is an ipcop box. I get the same with 48 and 48_01 thx, Rob t/10-recurse...............1..12 ok 1 - use Net::DNS::Resolver::Recurse; ok 2 - The object isa Net::DNS::Resolver::Recurse ok 3 - hints() set ok 4 - sanity check worked ok 5 - got a packet ok 6 - answer has RRs ok 7 - got a packet ok 8 - anwer section had RRs Server [192.168.3.1] did not give answers at /downloads/qmailrocks/perlmods/source/Net-DNS-0.48_01/blib/lib/Net/DNS/Resolver/Recurse.pm line 73. Server [192.168.3.1] did not give answers at /downloads/qmailrocks/perlmods/source/Net-DNS-0.48_01/blib/lib/Net/DNS/Resolver/Recurse.pm line 73. not ok 9 # Failed test (t/10-recurse.t at line 62) # got: undef # expected: '3' # Looks like you planned 12 tests but only ran 9. dubious Test returned status 4 (wstat 1024, 0x400) DIED. FAILED tests 9-12 Failed 4/12 tests, 66.67% okay Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/10-recurse.t 4 1024 12 7 58.33% 9-12 2 tests and 7 subtests skipped. Failed 1/20 test scripts, 95.00% okay. 4/834 subtests failed, 99.52% okay. *** Error code 2 Stop in /downloads/qmailrocks/perlmods/source/Net-DNS-0.48_01.
ok 8 - anwer section had RRs Server [192.168.3.1] did not give answers at /downloads/qmailrocks/perlmods/source/Net-DNS- 0.48_01/blib/lib/Net/DNS/Resolver/Recurse.pm line 73. Server [192.168.3.1] did not give answers at /downloads/qmailrocks/perlmods/source/Net-DNS- 0.48_01/blib/lib/Net/DNS/Resolver/Recurse.pm line 73. not ok 9 192.168.3.1 is RFC1918 space. That indicates to me that that server is not on the public internet and may not be able to recurse. if you do a 'dig @192.168.3.1 net-dns.org SOA' do you get an answer? --Olaf
From: rob [...] clarke-family.org.uk
You are correct in that 192.168.3.1 is my firewall, which also serves as my local DNS server. Heres the response... mailserver# dig @192.168.3.1 net-dns.org SOA ; <<>> DiG 9.3.0 <<>> @192.168.3.1 net-dns.org SOA ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31960 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;net-dns.org. IN SOA ;; ANSWER SECTION: net-dns.org. 3566 IN SOA ns1.net-dns.org. olaf.dacht.net. 2005021103 450 600 345600 300 ;; Query time: 35 msec ;; SERVER: 192.168.3.1#53(192.168.3.1) ;; WHEN: Tue Mar 8 16:56:59 2005 ;; MSG SIZE rcvd: 83
From: rob [...] clarke-family.org.uk
You are correct in that 192.168.3.1 is my firewall, which also serves as my local DNS server. Heres the response... mailserver# dig @192.168.3.1 net-dns.org SOA ; <<>> DiG 9.3.0 <<>> @192.168.3.1 net-dns.org SOA ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31960 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;net-dns.org. IN SOA ;; ANSWER SECTION: net-dns.org. 3566 IN SOA ns1.net-dns.org. olaf.dacht.net. 2005021103 450 600 345600 300 ;; Query time: 35 msec ;; SERVER: 192.168.3.1#53(192.168.3.1) ;; WHEN: Tue Mar 8 16:56:59 2005 ;; MSG SIZE rcvd: 83
[guest - Tue Mar 8 11:07:34 2005]: Show quoted text
> You are correct in that 192.168.3.1 is my firewall, which also serves as > my local DNS server. Heres the response... > >
I think that your firewall is not transparent to DNS queries. The test fails on queries directly to authoritative servers. So the question I should have asked was: Does dig @193.0.4.49 net-dns.org SOA give you an answer... and that is probably no. --Olaf
From: rob
Show quoted text
> > Does dig @193.0.4.49 net-dns.org SOA give you an answer... and that is > probably no. >
Well, it looks like I get something, see below. Rob mailserver2:/root# dig @193.0.4.49 net-dns.org SOA ; <<>> DiG 9.3.0 <<>> @193.0.4.49 net-dns.org SOA ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23770 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 2 ;; QUESTION SECTION: ;net-dns.org. IN SOA ;; ANSWER SECTION: net-dns.org. 3600 IN SOA ns1.net-dns.org. olaf.dacht.net. 2005021103 450 600 345600 300 ;; AUTHORITY SECTION: net-dns.org. 3600 IN NS ns.hactrn.net. net-dns.org. 3600 IN NS ns1.net-dns.org. net-dns.org. 3600 IN NS ns.ripe.net. ;; ADDITIONAL SECTION: ns1.net-dns.org. 3600 IN A 193.0.4.49 ns1.net-dns.org. 3600 IN AAAA 2001:610:240:3:0:1234:be21:e31e ;; Query time: 74 msec ;; SERVER: 193.0.4.49#53(193.0.4.49) ;; WHEN: Tue Mar 8 17:35:25 2005 ;; MSG SIZE rcvd: 187
Show quoted text
> Well, it looks like I get something, see below.
Show quoted text
> ;; ANSWER SECTION: > net-dns.org. 3600 IN SOA ns1.net-dns.org. > olaf.dacht.net. 2005021103 450 600 345600 300
Looks like an answer to me :-) Hmmm... in t/10-recurse.t can you change the following: # test the callback { my $res = Net::DNS::Resolver::Recurse->new ; my $count; into # test the callback { my $res = Net::DNS::Resolver::Recurse->new (debug=>1) ; my $count; do perl -Iblib/lib t/10-recurse.t and show the output? --Olaf
Show quoted text
> do perl -Iblib/lib t/10-recurse.t and show the output? >
Here you go.... Rob. mailserver2:/downloads/qmailrocks/perlmods/source/Net-DNS-0.48_01# perl -Iblib/lib t/10-recurse.t 1..12 ok 1 - use Net::DNS::Resolver::Recurse; ok 2 - The object isa Net::DNS::Resolver::Recurse ok 3 - hints() set ok 4 - sanity check worked ok 5 - got a packet ok 6 - answer has RRs ok 7 - got a packet ok 8 - anwer section had RRs ;; hints() ;; hints(192.168.3.1) ;; verifying (root) zone... ;; query(., NS, IN) ;; send_udp(192.168.3.1:53) ;; answer from 192.168.3.1:53 : 228 bytes ;; HEADER SECTION ;; id = 21950 ;; qr = 1 opcode = QUERY aa = 0 tc = 0 rd = 1 ;; ra = 1 ad = 0 cd = 0 rcode = NOERROR ;; qdcount = 1 ancount = 13 nscount = 0 arcount = 0 ;; QUESTION SECTION (1 record) ;; . IN NS ;; ANSWER SECTION (13 records) . 14244 IN NS B.ROOT-SERVERS.NET. . 14244 IN NS C.ROOT-SERVERS.NET. . 14244 IN NS D.ROOT-SERVERS.NET. . 14244 IN NS E.ROOT-SERVERS.NET. . 14244 IN NS F.ROOT-SERVERS.NET. . 14244 IN NS G.ROOT-SERVERS.NET. . 14244 IN NS H.ROOT-SERVERS.NET. . 14244 IN NS I.ROOT-SERVERS.NET. . 14244 IN NS J.ROOT-SERVERS.NET. . 14244 IN NS K.ROOT-SERVERS.NET. . 14244 IN NS L.ROOT-SERVERS.NET. . 14244 IN NS M.ROOT-SERVERS.NET. . 14244 IN NS A.ROOT-SERVERS.NET. ;; AUTHORITY SECTION (0 records) ;; ADDITIONAL SECTION (0 records) ;; FOUND HINT: b.root-servers.net ;; FOUND HINT: c.root-servers.net ;; FOUND HINT: d.root-servers.net ;; FOUND HINT: e.root-servers.net ;; FOUND HINT: f.root-servers.net ;; FOUND HINT: g.root-servers.net ;; FOUND HINT: h.root-servers.net ;; FOUND HINT: i.root-servers.net ;; FOUND HINT: j.root-servers.net ;; FOUND HINT: k.root-servers.net ;; FOUND HINT: l.root-servers.net ;; FOUND HINT: m.root-servers.net ;; FOUND HINT: a.root-servers.net Server [192.168.3.1] did not give answers at blib/lib/Net/DNS/Resolver/Recurse.pm line 73. ;; verifying (root) zone... ;; query(., NS, IN) ;; send_udp(192.168.3.1:53) ;; answer from 192.168.3.1:53 : 17 bytes ;; HEADER SECTION ;; id = 21951 ;; qr = 1 opcode = QUERY aa = 0 tc = 0 rd = 0 ;; ra = 1 ad = 0 cd = 0 rcode = REFUSED ;; qdcount = 1 ancount = 0 nscount = 0 arcount = 0 ;; QUESTION SECTION (1 record) ;; . IN NS ;; ANSWER SECTION (0 records) ;; AUTHORITY SECTION (0 records) ;; ADDITIONAL SECTION (0 records) RCODE: REFUSED; tying next nameserver Server [192.168.3.1] did not give answers at blib/lib/Net/DNS/Resolver/Recurse.pm line 73. ;; _dorecursion() depth=[0] known_zone=[.] ;; _dorecursion() Failed to extract nameserver IPs: $VAR1 = [ {}, {} ]; ;; _dorecursion() No authority information could be obtained. not ok 9 # Failed test (t/10-recurse.t at line 62) # got: undef # expected: '3' # Looks like you planned 12 tests but only ran 9. mailserver2:/downloads/qmailrocks/perlmods/source/Net-DNS-0.48_01#
[guest - Tue Mar 8 11:51:35 2005]: Show quoted text
> > ;; ADDITIONAL SECTION (0 records) > RCODE: REFUSED; tying next nameserver > Server [192.168.3.1] did not give answers at > blib/lib/Net/DNS/Resolver/Recurse.pm line 73. > ;; _dorecursion() depth=[0] known_zone=[.] > ;; _dorecursion() Failed to extract nameserver IPs: > $VAR1 = [ > {}, > {} > ]; > ;; _dorecursion() No authority information could be obtained. >
The "REFUSED" part is confusing. Your nameserver (192.168.3.1) did answer once, and REFUSED a second time, it seems. So I think this problem is really related to your setup. On the other hand I think that the test itself could be made somewhat more resilient for these situation. I will also review the do_recurse function. May take a while. --Olaf
The testsuite has been made more resilient for network failure as of next release. Closing ticket
The testsuite has been made more resilient for network failure as of next release. Closing ticket
The testsuite has been made more resilient for network failure as of next release. Closing ticket
The testsuite has been made more resilient for network failure as of next release. Closing ticket