From 8ebc67580370b41faa18a8ce37a6ddbe1be89cd6 Mon Sep 17 00:00:00 2001 From: Jacob Bachmeyer Date: Mon, 26 Jun 2023 21:30:37 -0500 Subject: [PATCH] Replace last top-level use of operation list header with accessor method --- gatekeeper.pl | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/gatekeeper.pl b/gatekeeper.pl index 22abc11..3c54a7c 100755 --- a/gatekeeper.pl +++ b/gatekeeper.pl @@ -1653,6 +1653,7 @@ sub find_package { sub has_uploaded_file { return 0 } sub allow_overwrite { return 0 } + sub target_package; sub target_directory; sub target_filename; sub target_filepair; # always FILE, FILE.sig, in that order @@ -1696,6 +1697,7 @@ sub find_package { sub allow_overwrite { (shift)->{oplist}->[0][1]->{options}{replace} } sub target_directory { (shift)->{oplist}->[0][1]->{directory} } sub target_filename { (shift)->{oplist}->[0][1]->{filename} } + sub target_package { (shift)->{oplist}->[0][1]->{package} } sub target_filepair { my $filename = (shift)->target_filename; @@ -3257,7 +3259,7 @@ my @packets; foreach my $packet (@packets) { # each list element is an array reference # variables preserved for the report if an exception is thrown - my $directive_text; my $directive; my $oplist; my $op_header; + my $directive_text; my $directive; my $oplist; my $dsig_info; # directive signature information my $fsig_info; # file signature information my $complete = 0; # direct flag to indicate successful processing @@ -3282,7 +3284,6 @@ foreach my $packet (@packets) { # each list element is an array reference $directive_text = $packet->{directive_text}; $directive = $packet->{directive}; $oplist = $packet->{oplist}; - $op_header = $oplist->[0][1]; $Phase = 'AA'; @@ -3364,8 +3365,8 @@ foreach my $packet (@packets) { # each list element is an array reference # Phone home. E-mail the contents of the directive file to the public # archive list. report_upload_to_archive($directive_text, - defined $op_header->{package} - ? $op_header->{package} : ''); + defined $packet->target_package + ? $packet->target_package : ''); my @email_addresses = directory_email_addresses($packet->target_directory); @@ -3377,7 +3378,7 @@ foreach my $packet (@packets) { # each list element is an array reference # report success if ($directive_only) { mail "processing of $directive_file complete", - to => \@email_addresses, subject => $op_header->{package}; + to => \@email_addresses, subject => $packet->target_package; } else { my @messages = ("upload of $upload_file and $sig_file complete"); # add notices stored in the packet object... @@ -3386,7 +3387,7 @@ foreach my $packet (@packets) { # each list element is an array reference shift @messages while $messages[0] eq ''; # ...before sending the report mail join("\n", @messages), - to => \@email_addresses, subject => $op_header->{package}; + to => \@email_addresses, subject => $packet->target_package; } # unlink the directive file @@ -3463,8 +3464,8 @@ foreach my $packet (@packets) { # each list element is an array reference # The directive was signed with a known key. # Send it to the public archive list. report_upload_to_archive($directive_text, - defined $op_header->{package} - ? $op_header->{package} : ''); + defined $packet->target_package + ? $packet->target_package : ''); } else { # The directive was not signed with any known key. To reduce abuse, # send it only to the internal inbox. @@ -3476,17 +3477,17 @@ foreach my $packet (@packets) { # each list element is an array reference # Processing explicitly threw an exception if ($E->type_p('directive_syntax')) { mail join("\n",$E->summary,'',$E->trace_msg), - to => \@email_addresses, subject => $op_header->{package}; + to => \@email_addresses, subject => $packet->target_package; } elsif ($E->type_p('package_configuration')) { mail $E->summary; } elsif ($E->type_p('signature_error') || $E->type_p('processing_error')) { mail $E->summary, - to => \@email_addresses, subject => $op_header->{package}; + to => \@email_addresses, subject => $packet->target_package; } elsif (UNIVERSAL::can($E, 'message')) { # catch-all for exceptions carrying long-form messages mail $E->message, - to => \@email_addresses, subject => $op_header->{package}; + to => \@email_addresses, subject => $packet->target_package; } } else { # Exceptions thrown by perl itself come out as strings, as do simple -- 2.25.1