sub target_directory;
sub auth_keyrings;
+ sub auth_signature_fingerprints;
sub parse;
sub auth_check;
::check_replay($self->{oplist}, $dsig_info->{sig_creation});
}
+ sub auth_signature_fingerprints {
+ my $self = shift;
+
+ return ()
+ unless $self->{auth_directive_signature_info}
+ && $self->{auth_directive_signature_info}{key_fingerprint};
+ return $self->{auth_directive_signature_info}{key_fingerprint};
+ }
+
sub upload_check { }
sub install {
::check_signature_timestamp(file => $fsig_info->{sig_creation});
}
+ sub auth_signature_fingerprints {
+ my $self = shift;
+
+ my @fprs = $self->SUPER::auth_signature_fingerprints;
+
+ push @fprs, $self->{auth_file_signature_info}{key_fingerprint}
+ if $self->{auth_file_signature_info}
+ && $self->{auth_file_signature_info}{key_fingerprint};
+
+ return @fprs;
+ }
+
sub upload_check {
my $self = shift;
# variables preserved for the report if an exception is thrown
my $directive_text; # full text of directive
my $dsig_info; # directive signature information
- my $fsig_info; # file signature information
my $complete = 0; # direct flag to indicate successful processing
eval { # trap exceptions encountered while processing a packet
# scaffolding to be cleaned up later
$dsig_info = $packet->{auth_directive_signature_info};
- $fsig_info = $packet->{auth_file_signature_info};
$Phase = 'VL';
$packet->upload_check;
my @email_addresses = directory_email_addresses($packet->target_directory);
# Successfully verifying a signature also yields a key fingerprint.
- push @email_addresses, keyidx_email($dsig_info->{key_fingerprint});
- push @email_addresses, keyidx_email($fsig_info->{key_fingerprint})
- if $fsig_info;
+ push @email_addresses, keyidx_email $packet->auth_signature_fingerprints;
# report success
if (not $packet->has_uploaded_file) {