diff options
Diffstat (limited to 'camel')
-rw-r--r-- | camel/ChangeLog | 8 | ||||
-rw-r--r-- | camel/camel-pgp-context.c | 3 |
2 files changed, 10 insertions, 1 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index 8de029bd0b..8865adad20 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 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); |