aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gpgme/ChangeLog5
-rw-r--r--gpgme/decrypt-verify.c11
2 files changed, 15 insertions, 1 deletions
diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog
index d7fc1253..9213a0b9 100644
--- a/gpgme/ChangeLog
+++ b/gpgme/ChangeLog
@@ -1,3 +1,8 @@
+2004-04-07 Werner Koch <[email protected]>
+
+ * decrypt-verify.c (decrypt_verify_status_handler): Hack to cope
+ with meaningless error codes from the verify status function.
+
2004-04-05 Werner Koch <[email protected]>
* gpgme.h: Add GPGME_STATUS_NEWSIG.
diff --git a/gpgme/decrypt-verify.c b/gpgme/decrypt-verify.c
index 40818bfb..4ce72893 100644
--- a/gpgme/decrypt-verify.c
+++ b/gpgme/decrypt-verify.c
@@ -36,7 +36,16 @@ decrypt_verify_status_handler (void *priv, gpgme_status_code_t code,
if (!err)
err = _gpgme_decrypt_status_handler (priv, code, args);
if (!err)
- err = _gpgme_verify_status_handler (priv, code, args);
+ {
+ err = _gpgme_verify_status_handler (priv, code, args);
+ /* The verify status handler might not be in the state to verify
+ a signature, either because there is no signature or we are
+ currently processing the encrytion layer, and thus it will
+ likely return "invalid engine" - we have to ignore it
+ therefore. */
+ if (gpg_err_code (err) == GPG_ERR_INV_ENGINE)
+ err = 0;
+ }
return err;
}