* verify.c (_gpgme_verify_status_handler): Ignore the error status
authorWerner Koch <wk@gnupg.org>
Thu, 8 Apr 2004 09:53:01 +0000 (09:53 +0000)
committerWerner Koch <wk@gnupg.org>
Thu, 8 Apr 2004 09:53:01 +0000 (09:53 +0000)
if we can't process it.
* decrypt-verify.c (decrypt_verify_status_handler): Backed out
yesterday's hack.  It is not any longer required.

trunk/gpgme/ChangeLog
trunk/gpgme/decrypt-verify.c
trunk/gpgme/decrypt.c
trunk/gpgme/gpgme.h
trunk/gpgme/verify.c

index 9213a0b9d2ef953a2f6d8ff99b4c0f0d131468c8..26c463084087682ad36e939743c8f00f573a390b 100644 (file)
@@ -1,3 +1,10 @@
+2004-04-08  Werner Koch  <wk@gnupg.org>
+
+       * verify.c (_gpgme_verify_status_handler): Ignore the error status
+       if we can't process it.
+       * decrypt-verify.c (decrypt_verify_status_handler): Backed out
+       yesterday's hack.  It is not any longer required.
+
 2004-04-07  Werner Koch  <wk@gnupg.org>
 
        * decrypt-verify.c (decrypt_verify_status_handler): Hack to cope
index 4ce728937d035c855be64f5d05c9bd01f1c83317..ef7f79b8c03b2b36fec59c0b03f5f2ea6d60934b 100644 (file)
@@ -36,16 +36,7 @@ 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);
-      /* 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;
 }
 
index 030073faa13459e4d6a10ffd94661e3bc374bb48..1d106c13a9ab4ce44928820be015c78cb83a5bbf 100644 (file)
@@ -104,6 +104,9 @@ _gpgme_decrypt_status_handler (void *priv, gpgme_status_code_t code,
       break;
 
     case GPGME_STATUS_ERROR:
+      /* Note that this is an informational status code which should
+         not lead to an erro retunr unless it is something not related
+         to the backend. */
       {
        const char d_alg[] = "decrypt.algorithm";
        const char u_alg[] = "Unsupported_Algorithm";
index 13884a6e49fbd5e3e8619a6c1743eb43448ca611..5fd6858a4bc71717f53d681e46be28963d550622 100644 (file)
@@ -74,7 +74,7 @@ extern "C" {
    AM_PATH_GPGME macro) check that this header matches the installed
    library.  Warning: Do not edit the next line.  configure will do
    that for you!  */
-#define GPGME_VERSION "0.4.6"
+#define GPGME_VERSION "0.4.7-cvs"
 
 \f
 /* Some opaque data types used by GPGME.  */
index afd5946f0076057b9a8e79a7d2a2d4f53d3ee6e2..a63a564f2eba27a88fdca7d2d10099bd427a3b1c 100644 (file)
@@ -1,6 +1,6 @@
 /* verify.c - Signature verification.
    Copyright (C) 2000 Werner Koch (dd9jn)
-   Copyright (C) 2001, 2002, 2003 g10 Code GmbH
+   Copyright (C) 2001, 2002, 2003, 2004 g10 Code GmbH
 
    This file is part of GPGME.
  
@@ -550,7 +550,9 @@ _gpgme_verify_status_handler (void *priv, gpgme_status_code_t code, char *args)
        : gpg_error (GPG_ERR_INV_ENGINE);
 
     case GPGME_STATUS_ERROR:
-      return sig ? parse_error (sig, args) : gpg_error (GPG_ERR_INV_ENGINE);
+      /* The error status is informational, so we don't return an
+         error code if we are not ready to process this status. */
+      return sig ? parse_error (sig, args) : 0;
 
     case GPGME_STATUS_EOF:
       if (sig && !opd->did_prepare_new_sig)