summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2001-08-03 18:02:12 +0000
committerJeffrey Stedfast <fejj@src.gnome.org>2001-08-03 18:02:12 +0000
commitb50607892bb2f3238545d2808c64e6245e706305 (patch)
tree7361835fec4495f5946452c89543dbe2c116ed8a
parent04eb96bf57a408289840f4a00a98fad188d12aa2 (diff)
downloadevolution-data-server-b50607892bb2f3238545d2808c64e6245e706305.tar.gz
Sigh, if gpg returns '1' it means that the key is bad but it did succeede
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.
-rw-r--r--camel/ChangeLog8
-rw-r--r--camel/camel-pgp-context.c3
2 files changed, 10 insertions, 1 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index 8de029bd0..8865adad2 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -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
diff --git a/camel/camel-pgp-context.c b/camel/camel-pgp-context.c
index 3f377909f..292279b22 100644
--- a/camel/camel-pgp-context.c
+++ b/camel/camel-pgp-context.c
@@ -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);