|
Packit |
e6c8bb |
# $Id: 35-NSEC3-match.t 1561 2017-04-19 13:08:13Z willem $ -*-perl-*-
|
|
Packit |
e6c8bb |
#
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
use strict;
|
|
Packit |
e6c8bb |
use Test::More;
|
|
Packit |
e6c8bb |
use Net::DNS;
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
my @prerequisite = qw(
|
|
Packit |
e6c8bb |
Digest::SHA
|
|
Packit |
e6c8bb |
Net::DNS::RR::NSEC3
|
|
Packit |
e6c8bb |
);
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
foreach my $package (@prerequisite) {
|
|
Packit |
e6c8bb |
next if eval "use $package; 1;";
|
|
Packit |
e6c8bb |
plan skip_all => "$package not installed";
|
|
Packit |
e6c8bb |
exit;
|
|
Packit |
e6c8bb |
}
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
plan tests => 10;
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
my $algorithm = 1; ## test vectors from RFC5155
|
|
Packit |
e6c8bb |
my $flags = 0;
|
|
Packit |
e6c8bb |
my $iteration = 12;
|
|
Packit |
e6c8bb |
my $salt = 'aabbccdd';
|
|
Packit |
e6c8bb |
my $hnxtname = 'irrelevant';
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
my @name = qw(example a.example ai.example ns1.example ns2.example
|
|
Packit |
e6c8bb |
w.example *.w.example x.w.example y.w.example x.y.w.example);
|
|
Packit |
e6c8bb |
my %testcase = (
|
|
Packit |
e6c8bb |
'example' => '0p9mhaveqvm6t7vbl5lop2u3t2rp3tom',
|
|
Packit |
e6c8bb |
'a.example' => '35mthgpgcu1qg68fab165klnsnk3dpvl',
|
|
Packit |
e6c8bb |
'ai.example' => 'gjeqe526plbf1g8mklp59enfd789njgi',
|
|
Packit |
e6c8bb |
'ns1.example' => '2t7b4g4vsa5smi47k61mv5bv1a22bojr',
|
|
Packit |
e6c8bb |
'ns2.example' => 'q04jkcevqvmu85r014c7dkba38o0ji5r',
|
|
Packit |
e6c8bb |
'w.example' => 'k8udemvp1j2f7eg6jebps17vp3n8i58h',
|
|
Packit |
e6c8bb |
'*.w.example' => 'r53bq7cc2uvmubfu5ocmm6pers9tk9en',
|
|
Packit |
e6c8bb |
'x.w.example' => 'b4um86eghhds6nea196smvmlo4ors995',
|
|
Packit |
e6c8bb |
'y.w.example' => 'ji6neoaepv8b5o6k4ev33abha8ht9fgc',
|
|
Packit |
e6c8bb |
'x.y.w.example' => '2vptu5timamqttgl4luu9kg21e0aor3s',
|
|
Packit |
e6c8bb |
);
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
foreach my $name (@name) {
|
|
Packit |
e6c8bb |
my $hash = $testcase{$name};
|
|
Packit |
e6c8bb |
my @args = ( $algorithm, $flags, $iteration, $salt, $hnxtname );
|
|
Packit |
e6c8bb |
my $nsec3 = new Net::DNS::RR("$hash.example. NSEC3 @args");
|
|
Packit |
e6c8bb |
ok( $nsec3->match($name), "nsec3->match($name)" );
|
|
Packit |
e6c8bb |
}
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
exit;
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
__END__
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
|