7222860723
The latest gnupg2 release[1] included a commit[2] which broke gpgme handling of gnupg2 status updates (through `--status-fd`). This was fixed in gpgme git master[3]. This commit backports this patch to make gpgme work again. [1] https://bodhi.fedoraproject.org/updates/FEDORA-2018-3fc05e009d [2] https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commit;h=0336e5d1a7b9d46e06c838e6a98aecfcc9542882 [3] https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=commit;h=b99502274ae5efdf6df0d967900ec3d1e64373d7
48 lines
1.5 KiB
Diff
48 lines
1.5 KiB
Diff
From b99502274ae5efdf6df0d967900ec3d1e64373d7 Mon Sep 17 00:00:00 2001
|
|
From: Werner Koch <wk@gnupg.org>
|
|
Date: Thu, 12 Apr 2018 20:36:30 +0200
|
|
Subject: [PATCH] core: Tweak STATUS_FAILURE handling.
|
|
|
|
* src/op-support.c (_gpgme_parse_failure): Ignore failures with
|
|
location "gpg-exit".
|
|
* tests/gpg/t-verify.c (main): Adjust for the now working checking of
|
|
the second key.
|
|
|
|
Signed-off-by: Werner Koch <wk@gnupg.org>
|
|
---
|
|
src/op-support.c | 10 +++++++++-
|
|
tests/gpg/t-verify.c | 8 +++++---
|
|
2 files changed, 14 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/src/op-support.c b/src/op-support.c
|
|
index 43cb1c76..e55875f9 100644
|
|
--- a/src/op-support.c
|
|
+++ b/src/op-support.c
|
|
@@ -400,7 +400,13 @@ _gpgme_parse_plaintext (char *args, char **filenamep)
|
|
|
|
|
|
/* Parse a FAILURE status line and return the error code. ARGS is
|
|
- modified to contain the location part. */
|
|
+ * modified to contain the location part. Note that for now we ignore
|
|
+ * failure codes with a location of gpg-exit; they are too trouble
|
|
+ * some. Instead we should eventually record that error in the
|
|
+ * context and provide a function to return a fuller error
|
|
+ * description; this could then also show the location of the error
|
|
+ * (e.g. "option- parser") to make it easier for the user to detect
|
|
+ * the actual error. */
|
|
gpgme_error_t
|
|
_gpgme_parse_failure (char *args)
|
|
{
|
|
@@ -418,6 +424,8 @@ _gpgme_parse_failure (char *args)
|
|
*where = '\0';
|
|
|
|
where = args;
|
|
+ if (!strcmp (where, "gpg-exit"))
|
|
+ return 0;
|
|
|
|
return atoi (which);
|
|
}
|
|
--
|
|
2.14.3
|
|
|