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 + + * decrypt-verify.c (decrypt_verify_status_handler): Hack to cope + with meaningless error codes from the verify status function. + 2004-04-05 Werner Koch * 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; }