Blame t/35-NSEC3-match.t

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