Net-DNS
view release on metacpan or search on metacpan
t/33-NSEC3-hash.t view on Meta::CPAN
my $iteration = $nsec3param->iterations;
my $salt = $nsec3param->salt;
ok( Net::DNS::RR::NSEC3::name2hash( 1, 'example' ), "defaulted arguments" );
ok( Net::DNS::RR::NSEC3::name2hash( 1, 'example', $iteration, $salt ), "explicit arguments" );
my %testcase = ( ## test vectors from RFC5155
'example' => '0p9mhaveqvm6t7vbl5lop2u3t2rp3tom',
'a.example' => '35mthgpgcu1qg68fab165klnsnk3dpvl',
'ai.example' => 'gjeqe526plbf1g8mklp59enfd789njgi',
'ns1.example' => '2t7b4g4vsa5smi47k61mv5bv1a22bojr',
'ns2.example' => 'q04jkcevqvmu85r014c7dkba38o0ji5r',
'w.example' => 'k8udemvp1j2f7eg6jebps17vp3n8i58h',
'*.w.example' => 'r53bq7cc2uvmubfu5ocmm6pers9tk9en',
'x.w.example' => 'b4um86eghhds6nea196smvmlo4ors995',
'y.w.example' => 'ji6neoaepv8b5o6k4ev33abha8ht9fgc',
'x.y.w.example' => '2vptu5timamqttgl4luu9kg21e0aor3s',
);
t/36-NSEC3-covered.t view on Meta::CPAN
plan tests => 16;
## Tests based on example zone from RFC5155, Appendix A
my %H = (
'example' => '0p9mhaveqvm6t7vbl5lop2u3t2rp3tom',
'ns1.example' => '2t7b4g4vsa5smi47k61mv5bv1a22bojr',
'x.y.w.example' => '2vptu5timamqttgl4luu9kg21e0aor3s',
'a.example' => '35mthgpgcu1qg68fab165klnsnk3dpvl',
'x.w.example' => 'b4um86eghhds6nea196smvmlo4ors995',
'ai.example' => 'gjeqe526plbf1g8mklp59enfd789njgi',
'y.w.example' => 'ji6neoaepv8b5o6k4ev33abha8ht9fgc',
'w.example' => 'k8udemvp1j2f7eg6jebps17vp3n8i58h',
'ns2.example' => 'q04jkcevqvmu85r014c7dkba38o0ji5r',
'*.w.example' => 'r53bq7cc2uvmubfu5ocmm6pers9tk9en',
'xx.example' => 't644ebqk9bibcna874givr6joj62mlhv',
);
my %name = reverse %H;
t/36-NSEC3-covered.t view on Meta::CPAN
);
ok( $rr1->covers('a.c.x.w.example'), 'B.1(1): NSEC3 covers "next closer" name (c.x.w.example.)' ); # Name Error
my $rr2 = Net::DNS::RR->new(
"b4um86eghhds6nea196smvmlo4ors995.example. NSEC3 1 1 12 aabbccdd (
gjeqe526plbf1g8mklp59enfd789njgi MX RRSIG )"
);
ok( !$rr2->covers('a.c.x.w.example'), 'B.1(2): NSEC3 matches closest encloser (x.w.example.)' );
my $rr3 = Net::DNS::RR->new(
"35mthgpgcu1qg68fab165klnsnk3dpvl.example. NSEC3 1 1 12 aabbccdd (
b4um86eghhds6nea196smvmlo4ors995 NS DS RRSIG )"
);
ok( $rr3->covers('*.x.w.example'), 'B.1(3): NSEC3 covers wildcard at closest encloser (*.x.w.example.)' );
my $rr4 = Net::DNS::RR->new(
"2t7b4g4vsa5smi47k61mv5bv1a22bojr.example. NSEC3 1 1 12 aabbccdd (
2vptu5timamqttgl4luu9kg21e0aor3s A RRSIG )"
);
ok( !$rr4->covers('ns1.example'), 'B.2: NSEC3 matches QNAME (ns1.example.) proving MX and CNAME absent' )
t/36-NSEC3-covered.t view on Meta::CPAN
my $rr5 = Net::DNS::RR->new(
"ji6neoaepv8b5o6k4ev33abha8ht9fgc.example. NSEC3 1 1 12 aabbccdd (
k8udemvp1j2f7eg6jebps17vp3n8i58h )"
);
ok( !$rr5->covers('y.w.example'), 'B.2.1: NSEC3 matches QNAME (y.w.example.) proving A absent' )
; # No Data, Empty Non-Terminal
my $rr6 = Net::DNS::RR->new(
"35mthgpgcu1qg68fab165klnsnk3dpvl.example. NSEC3 1 1 12 aabbccdd (
b4um86eghhds6nea196smvmlo4ors995 NS DS RRSIG )"
);
ok( $rr6->covers('mc.c.example'), 'B.3(1): NSEC3 covers "next closer" name (c.example.)' )
; # Referral to an Opt_Out Unsigned Zone
my $rr7 = Net::DNS::RR->new(
"0p9mhaveqvm6t7vbl5lop2u3t2rp3tom.example. NSEC3 1 1 12 aabbccdd (
2t7b4g4vsa5smi47k61mv5bv1a22bojr MX DNSKEY NS SOA NSEC3PARAM RRSIG )"
);
ok( !$rr7->covers('mc.c.example'), 'B.3(2): NSEC3 matches closest provable encloser (example.)' );
t/37-NSEC3-encloser.t view on Meta::CPAN
## Based on examples from RFC5155, Appendix B
my @nsec3 = Net::DNS::ZoneFile->parse( <<'END' );
0p9mhaveqvm6t7vbl5lop2u3t2rp3tom.example. IN NSEC3 ( 1 1 12 aabbccdd
2t7b4g4vsa5smi47k61mv5bv1a22bojr NS SOA MX RRSIG DNSKEY NSEC3PARAM )
b4um86eghhds6nea196smvmlo4ors995.example. IN NSEC3 ( 1 1 12 aabbccdd
gjeqe526plbf1g8mklp59enfd789njgi MX RRSIG )
35mthgpgcu1qg68fab165klnsnk3dpvl.example. IN NSEC3 ( 1 1 12 aabbccdd
b4um86eghhds6nea196smvmlo4ors995 NS DS RRSIG )
END
my $encloser;
my $nextcloser;
my $wildcard;
foreach my $nsec3 (@nsec3) {
for ( $nsec3->encloser('a.c.x.w.example') ) {
next unless $nsec3->match($_);
( run in 1.254 second using v1.01-cache-2.11-cpan-df04353d9ac )