Sigh, if gpg returns '1' it means that the key is bad but it did succeede
authorJeffrey Stedfast <fejj@ximian.com>
Fri, 3 Aug 2001 18:02:12 +0000 (18:02 +0000)
committerJeffrey Stedfast <fejj@src.gnome.org>
Fri, 3 Aug 2001 18:02:12 +0000 (18:02 +0000)
2001-08-03  Jeffrey Stedfast  <fejj@ximian.com>

* camel-pgp-context.c (pgp_decrypt): Sigh, if gpg returns '1' it
means that the key is bad but it did succeede in decrypting the
block so to make users happy (even though I find this a
questionable action) we are going to ignore the error and show it
to the user anyway. This fixes bug #6136.

camel/ChangeLog
camel/camel-pgp-context.c

index 8de029b..8865ada 100644 (file)
@@ -1,3 +1,11 @@
+2001-08-03  Jeffrey Stedfast  <fejj@ximian.com>
+
+       * camel-pgp-context.c (pgp_decrypt): Sigh, if gpg returns '1' it
+       means that the key is bad but it did succeede in decrypting the
+       block so to make users happy (even though I find this a
+       questionable action) we are going to ignore the error and show it
+       to the user anyway. This fixes bug #6136.
+
 2001-08-03  Not Zed  <NotZed@Ximian.com>
 
        * providers/smtp/camel-smtp-transport.c (smtp_connect): special
index 3f37790..292279b 100644 (file)
@@ -1347,7 +1347,8 @@ pgp_decrypt (CamelCipherContext *ctx, CamelStream *istream,
        g_byte_array_free (ciphertext, TRUE);
        g_free (passphrase);
        
-       if (retval != 0 || !*plaintext) {
+       /* gpg returns '1' if it succeedes in decrypting but can't verify the signature */
+       if (!(retval == 0 || (context->priv->type == CAMEL_PGP_TYPE_GPG && retval == 1)) || !*plaintext) {
                camel_exception_setv (ex, CAMEL_EXCEPTION_SYSTEM,
                                      "%s", diagnostics);
                g_free (plaintext);