/usr/share/perl5/Net/DNS/SEC.pm is in libnet-dns-sec-perl 0.21-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | package Net::DNS::SEC;
#
# $Id: SEC.pm 1280 2014-10-24 08:15:06Z willem $
#
use vars qw($VERSION $SVNVERSION);
$VERSION = '0.21';
$SVNVERSION = (qw$LastChangedRevision: 1280 $)[1];
=head1 NAME
Net::DNS::SEC - DNSSEC extensions to Net::DNS
=head1 SYNOPSIS
use Net::DNS::SEC;
=head1 DESCRIPTION
The Net::DNS::SEC suite provides the additional DNS resource records
required to support DNSSEC as described in RFC4033, 4034, 4035 and
subsequent related documents.
Net::DNS::SEC is installed as an extension to an existing Net::DNS
installation.
The extended package features are made visible by substituting
Net::DNS::SEC for Net::DNS in the use declaration.
=cut
use strict;
use base qw(Exporter);
use Net::DNS 0.69 qw(:DEFAULT);
use vars qw(@EXPORT);
@EXPORT = ( @Net::DNS::EXPORT, qw(algorithm digtype key_difference) );
use integer;
use warnings;
use Carp;
require Net::DNS::RR::DS;
new Net::DNS::RR( type => $_ ) for qw(SIG RRSIG DS CDS DLV); # pre-load RR with create() constructor
=head1 UTILITY FUNCTIONS
=head2 algorithm
$mnemonic = algorithm( 5 );
$numeric = algorithm( 'RSA-SHA1' );
print "algorithm mnemonic\t", $mnemonic, "\n";
print "algorithm number:\t", $numeric, "\n";
algorithm() provides conversions between an algorithm code number and
the corresponding mnemonic.
=cut
sub algorithm { &Net::DNS::RR::DS::algorithm; }
=head2 digtype
$mnemonic = digtype( 2 );
$numeric = digtype( 'SHA-256' );
print "digest type mnemonic\t", $mnemonic, "\n";
print "digest type number:\t", $numeric, "\n";
digtype() provides conversions between a digest type number and the
corresponding mnemonic.
=cut
sub digtype { &Net::DNS::RR::DS::digtype; }
=head2 key_difference
@result = key_difference( \@a, \@b );
Fills @result with all keys in array @a that are not in array @b.
=cut
my $errmsg = 'array argument contains unexpected %s object';
sub key_difference {
my $a = shift;
my $b = shift;
my $r = shift; ## 0.17 interface
my ($x) = grep !$_->isa('Net::DNS::RR::DNSKEY'), @$a, @$b;
if ($r) { ## 0.17 interface
return sprintf $errmsg, ref($x) if $x;
my %index = map { ( $_->privatekeyname, 1 ) } @$b;
@$r = grep { !$index{$_->privatekeyname} } @$a;
return (0);
}
croak sprintf $errmsg, ref($x) if $x;
my %index = map { ( $_->privatekeyname, 1 ) } @$b;
my @r = grep { !$index{$_->privatekeyname} } @$a;
return @r;
}
1;
__END__
=head1 COPYRIGHT
Copyright (c)2001-2005 RIPE NCC. Author Olaf M. Kolkman
All Rights Reserved
=head1 LICENSE
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the name of the author not be used
in advertising or publicity pertaining to distribution of the software
without specific prior written permission.
THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS; IN NO
EVENT SHALL AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
THIS SOFTWARE.
=head1 SEE ALSO
L<perl>, L<Net::DNS>, L<Net::DNS::RR::DNSKEY>, L<Net::DNS::RR::DS>,
L<Net::DNS::RR::NSEC>, L<Net::DNS::RR::NSEC3>, L<Net::DNS::RR::NSEC3PARAM>,
L<Net::DNS::RR::RRSIG>, L<Net::DNS::RR::KEY>, L<Net::DNS::RR::SIG>,
L<Net::DNS::RR::CDS>, L<Net::DNS::RR::CDNSKEY>, L<Net::DNS::RR::DLV>,
RFC4033, RFC4034, RFC4035
=cut
|