diff options
author | Calle Dybedahl <calle@init.se> | 2015-04-14 10:56:50 +0200 |
---|---|---|
committer | Calle Dybedahl <calle@init.se> | 2015-04-14 10:56:50 +0200 |
commit | ae0b150752c0e025e2a5847f72758ae24ec70601 (patch) | |
tree | ba85f8080eaa21cd84cc0e7590a5477937cfbd77 /t | |
parent | 9c72cc66d1462e17d08843d67273bbc8503aa12c (diff) |
Add support to explicitly extract and look at OPT records.
Diffstat (limited to 't')
-rw-r--r-- | t/dnssec.t | 13 | ||||
-rw-r--r-- | t/optrr.t | 22 |
2 files changed, 30 insertions, 5 deletions
@@ -63,11 +63,14 @@ my $nsec3 = Net::LDNS::RR->new('NR2E513KM693MBTNVHH56ENF54F886T0.com. 86400 IN N isa_ok($nsec3, 'Net::LDNS::RR::NSEC3'); ok($nsec3->covers('xx-example.com'), 'Covers xx-example.com'); -$res = Net::LDNS->new( '194.146.106.22' ); +$res = Net::LDNS->new( '212.247.7.228' ); $res->dnssec( 1 ); -my $p1 = $res->query('www.iis.se', 'A'); -ok( $p1->needs_edns, 'Needs EDNS0'); -ok( $p1->has_edns, 'Alias is there'); -ok( ($p1->edns_size > 0), 'EDNS0 size larger than zero' ); +my $p1 = eval { $res->query('www.iis.se', 'A') }; +SKIP: { + skip 'Remote server not responding', 3 if not $p1; + ok( $p1->needs_edns, 'Needs EDNS0'); + ok( $p1->has_edns, 'Alias is there'); + ok( ($p1->edns_size > 0), 'EDNS0 size larger than zero' ); +} done_testing; diff --git a/t/optrr.t b/t/optrr.t new file mode 100644 index 0000000..fc38dd4 --- /dev/null +++ b/t/optrr.t @@ -0,0 +1,22 @@ +use Test::More; + +use_ok('Net::LDNS'); + +my $r = Net::LDNS->new('192.5.6.30'); +isa_ok($r, 'Net::LDNS'); +ok($r->dnssec(1), 'DO flag set.'); + +my $p = $r->query('net', 'SOA'); +SKIP: { + skip "Remote server not responding." if not $p; + isa_ok($p, 'Net::LDNS::Packet'); + + my $rr = $p->opt_rr; + isa_ok($rr, 'Net::LDNS::RR::OPT'); + is($rr->udp_size, 4096, 'UDP size is 4096.'); + is($rr->extended_rcode, 0, 'Extended RCODE is zero.'); + is($rr->edns_version, 0, 'EDNS version is 0.'); + ok(($rr->edns_z & 0x8000), 'DO bit is set in flags.'); +} + +done_testing;
\ No newline at end of file |