talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit 61f7c3c5e76d53f4c7ab0a9113225ad17e9d9b8c
parent 37794f6a742ca2aeda561d75fc96cfa6088cacb1
Author: Andrej Kacian <ticho@claws-mail.org>
Date:   Mon,  2 May 2016 20:54:19 +0200

Ask GpgME for path to gpg executable for manual key import.

Diffstat:
Msrc/plugins/pgpcore/pgp_viewer.c | 21++++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/src/plugins/pgpcore/pgp_viewer.c b/src/plugins/pgpcore/pgp_viewer.c @@ -67,6 +67,23 @@ static GtkWidget *pgp_get_widget(MimeViewer *_viewer) return GTK_WIDGET(viewer->textview->vbox); } +static gchar *_get_gpg_executable_name() +{ + gpgme_engine_info_t e; + + if (!gpgme_get_engine_info(&e)) { + while (e != NULL) { + if (e->protocol == GPGME_PROTOCOL_OpenPGP + && e->file_name != NULL) { + debug_print("Found gpg executable: '%s'\n", e->file_name); + return e->file_name; + } + } + } + + return NULL; +} + static void pgpview_show_mime_part(TextView *textview, MimeInfo *partinfo) { GtkTextView *text; @@ -119,7 +136,9 @@ static void pgpview_show_mime_part(TextView *textview, MimeInfo *partinfo) } gpgme_get_key(ctx, sig->fpr, &key, 0); if (!key) { - gchar *cmd = g_strdup_printf("gpg --no-tty --recv-keys %s", sig->fpr); + gchar *gpgbin = _get_gpg_executable_name(); + gchar *cmd = g_strdup_printf("\"%s\" --no-tty --recv-keys %s", + (gpgbin ? gpgbin : "gpg"), sig->fpr); AlertValue val = G_ALERTDEFAULT; if (!prefs_common_get_prefs()->work_offline) { val = alertpanel(_("Key import"),