diff options
Diffstat (limited to 'camel')
-rw-r--r-- | camel/ChangeLog | 7 | ||||
-rw-r--r-- | camel/camel-smime-context.c | 7 |
2 files changed, 12 insertions, 2 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index 2b143cf31a..51d0f80d52 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,5 +1,12 @@ 2003-12-10 Not Zed <NotZed@Ximian.com> + * camel-smime-context.c (sm_verify): also check + application/pkcs7-signature (bloody applemail). + (camel_smime_context_describe_part): as above, and fix the logic. + dont think its used anyway. Bug #51750. + +2003-12-10 Not Zed <NotZed@Ximian.com> + * Makefile.am (libcamel_la_SOURCES): put the camel-smime-context.[ch] back in here, remove it from EXTRA_DIST, and make it compile optinally the same way camel-tcp-stream-ssl.c diff --git a/camel/camel-smime-context.c b/camel/camel-smime-context.c index 64bf07d74c..5b29d47681 100644 --- a/camel/camel-smime-context.c +++ b/camel/camel-smime-context.c @@ -159,7 +159,9 @@ camel_smime_context_describe_part(CamelSMIMEContext *context, CamelMimePart *par if (camel_content_type_is(ct, "multipart", "signed")) { tmp = camel_content_type_param(ct, "protocol"); - if (tmp && g_ascii_strcasecmp(tmp, ((CamelCipherContext *)context)->sign_protocol)) + if (tmp && + (g_ascii_strcasecmp(tmp, ((CamelCipherContext *)context)->sign_protocol) == 0 + || g_ascii_strcasecmp(tmp, "application/pkcs7-signature") == 0)) flags = CAMEL_SMIME_SIGNED; } else if (camel_content_type_is(ct, "application", "x-pkcs7-mime")) { CamelStreamMem *istream; @@ -700,7 +702,8 @@ sm_verify(CamelCipherContext *context, CamelMimePart *ipart, CamelException *ex) tmp = camel_content_type_param(ct, "protocol"); if (!CAMEL_IS_MULTIPART_SIGNED(mps) || tmp == NULL - || g_ascii_strcasecmp(tmp, context->sign_protocol) != 0) { + || (g_ascii_strcasecmp(tmp, context->sign_protocol) != 0 + && g_ascii_strcasecmp(tmp, "application/pkcs7-signature") != 0)) { camel_exception_setv (ex, CAMEL_EXCEPTION_SYSTEM, _("Cannot verify message signature: Incorrect message format")); goto fail; |