This is an automated email from the git hooks/post-receive script. guillem pushed a commit to branch main in repository dpkg.
View the commit online: https://git.dpkg.org/cgit/dpkg/dpkg.git/commit/?id=c62aabc77638517b732873b280820f454b376b43 commit c62aabc77638517b732873b280820f454b376b43 Author: Guillem Jover <[email protected]> AuthorDate: Sat Jul 30 12:46:47 2022 +0200 Dpkg::OpenPGP: Refactor _gpg_verify() out from verify_signature() --- scripts/Dpkg/OpenPGP.pm | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/scripts/Dpkg/OpenPGP.pm b/scripts/Dpkg/OpenPGP.pm index 857323a7f..018793565 100644 --- a/scripts/Dpkg/OpenPGP.pm +++ b/scripts/Dpkg/OpenPGP.pm @@ -161,33 +161,40 @@ sub import_key { return; } +sub _gpg_verify { + my ($opts, $sig) = @_; + + my $gpghome = File::Temp->newdir('dpkg-gpg-verify.XXXXXXXX', TMPDIR => 1); + + my @exec = qw(gpgv); + push @exec, _gpg_options_weak_digests(); + push @exec, '--homedir', $gpghome; + foreach my $keyring (@{$opts->{keyrings}}) { + push @exec, '--keyring', $keyring; + } + push @exec, $sig; + push @exec, $opts->{datafile} if exists $opts->{datafile}; + + my $errmsg = sprintf g_('cannot verify signature %s'), $sig; + _exec_openpgp($opts, \@exec, $errmsg); +} + sub verify_signature { my ($opts, $sig) = @_; $opts->{require_valid_signature} //= 1; - my @exec; if (find_command('gpgv')) { - push @exec, 'gpgv', _gpg_options_weak_digests(); + _gpg_verify($opts, $sig); } elsif ($opts->{require_valid_signature}) { error(g_('cannot verify signature on %s since GnuPG is not installed'), $sig); } else { warning(g_('cannot verify signature on %s since GnuPG is not installed'), $sig); - return; - } - - my $gpghome = File::Temp->newdir('dpkg-verify-sig.XXXXXXXX', TMPDIR => 1); - push @exec, '--homedir', $gpghome; - foreach my $keyring (@{$opts->{keyrings}}) { - push @exec, '--keyring', $keyring; } - push @exec, $sig; - push @exec, $opts->{datafile} if exists $opts->{datafile}; - my $errmsg = sprintf g_('cannot verify signature %s'), $sig; - _exec_openpgp($opts, \@exec, $errmsg); + return; } 1; -- Dpkg.Org's dpkg

