aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-pgp-context.c
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2001-08-04 02:02:12 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2001-08-04 02:02:12 +0800
commit7d143c9c442f2c30f4a47c173cb48829ebe847b8 (patch)
tree89139d999d17b6dcfa8e75175e604988ba8bcb02 /camel/camel-pgp-context.c
parent3d42df437ae86f543639ff56c633634ec03f5222 (diff)
downloadgsoc2013-evolution-7d143c9c442f2c30f4a47c173cb48829ebe847b8.tar
gsoc2013-evolution-7d143c9c442f2c30f4a47c173cb48829ebe847b8.tar.gz
gsoc2013-evolution-7d143c9c442f2c30f4a47c173cb48829ebe847b8.tar.bz2
gsoc2013-evolution-7d143c9c442f2c30f4a47c173cb48829ebe847b8.tar.lz
gsoc2013-evolution-7d143c9c442f2c30f4a47c173cb48829ebe847b8.tar.xz
gsoc2013-evolution-7d143c9c442f2c30f4a47c173cb48829ebe847b8.tar.zst
gsoc2013-evolution-7d143c9c442f2c30f4a47c173cb48829ebe847b8.zip
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. svn path=/trunk/; revision=11617
Diffstat (limited to 'camel/camel-pgp-context.c')
-rw-r--r--camel/camel-pgp-context.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/camel/camel-pgp-context.c b/camel/camel-pgp-context.c
index 3f377909f7..292279b229 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);