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

Reply via email to