| line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
|
1
|
|
|
|
|
|
|
package CPANPLUS::Module::Signature; |
|
2
|
|
|
|
|
|
|
|
|
3
|
20
|
|
|
20
|
|
149
|
use strict; |
|
|
20
|
|
|
|
|
53
|
|
|
|
20
|
|
|
|
|
757
|
|
|
4
|
|
|
|
|
|
|
|
|
5
|
20
|
|
|
20
|
|
131
|
use Cwd; |
|
|
20
|
|
|
|
|
71
|
|
|
|
20
|
|
|
|
|
1463
|
|
|
6
|
20
|
|
|
20
|
|
146
|
use CPANPLUS::Error; |
|
|
20
|
|
|
|
|
52
|
|
|
|
20
|
|
|
|
|
1404
|
|
|
7
|
20
|
|
|
20
|
|
149
|
use Params::Check qw[check]; |
|
|
20
|
|
|
|
|
42
|
|
|
|
20
|
|
|
|
|
1031
|
|
|
8
|
20
|
|
|
20
|
|
160
|
use Module::Load::Conditional qw[can_load]; |
|
|
20
|
|
|
|
|
43
|
|
|
|
20
|
|
|
|
|
1074
|
|
|
9
|
20
|
|
|
20
|
|
138
|
use vars qw[$VERSION]; |
|
|
20
|
|
|
|
|
39
|
|
|
|
20
|
|
|
|
|
7258
|
|
|
10
|
|
|
|
|
|
|
$VERSION = "0.9914"; |
|
11
|
|
|
|
|
|
|
|
|
12
|
|
|
|
|
|
|
### detached sig, not actually used afaik --kane ### |
|
13
|
|
|
|
|
|
|
#sub get_signature { |
|
14
|
|
|
|
|
|
|
# my $self = shift; |
|
15
|
|
|
|
|
|
|
# |
|
16
|
|
|
|
|
|
|
# my $clone = $self->clone; |
|
17
|
|
|
|
|
|
|
# $clone->package( $self->package . '.sig' ); |
|
18
|
|
|
|
|
|
|
# |
|
19
|
|
|
|
|
|
|
# return $clone->fetch; |
|
20
|
|
|
|
|
|
|
#} |
|
21
|
|
|
|
|
|
|
|
|
22
|
|
|
|
|
|
|
sub check_signature { |
|
23
|
0
|
|
|
0
|
0
|
|
my $self = shift; |
|
24
|
0
|
|
|
|
|
|
my $cb = $self->parent; |
|
25
|
0
|
|
|
|
|
|
my $conf = $cb->configure_object; |
|
26
|
0
|
|
|
|
|
|
my %hash = @_; |
|
27
|
|
|
|
|
|
|
|
|
28
|
0
|
|
|
|
|
|
my $verbose; |
|
29
|
0
|
|
|
|
|
|
my $tmpl = { |
|
30
|
|
|
|
|
|
|
verbose => {default => $conf->get_conf('verbose'), store => \$verbose}, |
|
31
|
|
|
|
|
|
|
}; |
|
32
|
|
|
|
|
|
|
|
|
33
|
0
|
0
|
|
|
|
|
check( $tmpl, \%hash ) or return; |
|
34
|
|
|
|
|
|
|
|
|
35
|
0
|
0
|
|
|
|
|
my $dir = $self->status->extract or ( |
|
36
|
|
|
|
|
|
|
error( loc( "Do not know what dir '%1' was extracted to; ". |
|
37
|
|
|
|
|
|
|
"Cannot check signature", $self->module ) ), |
|
38
|
|
|
|
|
|
|
return ); |
|
39
|
|
|
|
|
|
|
|
|
40
|
0
|
|
|
|
|
|
my $cwd = cwd(); |
|
41
|
0
|
0
|
|
|
|
|
unless( $cb->_chdir( dir => $dir ) ) { |
|
42
|
0
|
|
|
|
|
|
error(loc( "Could not chdir to '%1', cannot verify distribution '%2'", |
|
43
|
|
|
|
|
|
|
$dir, $self->module )); |
|
44
|
0
|
|
|
|
|
|
return; |
|
45
|
|
|
|
|
|
|
} |
|
46
|
|
|
|
|
|
|
|
|
47
|
|
|
|
|
|
|
|
|
48
|
|
|
|
|
|
|
### check prerequisites |
|
49
|
0
|
|
|
|
|
|
my $flag; |
|
50
|
0
|
|
|
|
|
|
my $use_list = { 'Module::Signature' => '0.06' }; |
|
51
|
0
|
0
|
|
|
|
|
if( can_load( modules => $use_list, verbose => 1 ) ) { |
|
52
|
0
|
|
|
|
|
|
my $rv = Module::Signature::verify(); |
|
53
|
|
|
|
|
|
|
|
|
54
|
0
|
0
|
0
|
|
|
|
unless ($rv eq Module::Signature::SIGNATURE_OK() or |
|
55
|
|
|
|
|
|
|
$rv eq Module::Signature::SIGNATURE_MISSING() |
|
56
|
|
|
|
|
|
|
) { |
|
57
|
0
|
|
|
|
|
|
$flag++; # whoops, bad sig |
|
58
|
|
|
|
|
|
|
} |
|
59
|
|
|
|
|
|
|
} |
|
60
|
|
|
|
|
|
|
|
|
61
|
0
|
|
|
|
|
|
$cb->_chdir( dir => $cwd ); |
|
62
|
0
|
0
|
|
|
|
|
return $flag ? 0 : 1; |
|
63
|
|
|
|
|
|
|
} |
|
64
|
|
|
|
|
|
|
|
|
65
|
|
|
|
|
|
|
1; |