pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/mail/evolution-data-server add a patch from gnome bugz...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/30f9d996838b
branches:  trunk
changeset: 554634:30f9d996838b
user:      drochner <drochner%pkgsrc.org@localhost>
date:      Tue Feb 17 11:01:43 2009 +0000

description:
add a patch from gnome bugzilla#564465 to fix possible signature
spoofing with s/mime mails (CVE-2009-0547)
ride on last night's PKGREVISION bump

diffstat:

 mail/evolution-data-server/distinfo         |   3 +-
 mail/evolution-data-server/patches/patch-bd |  44 +++++++++++++++++++++++++++++
 2 files changed, 46 insertions(+), 1 deletions(-)

diffs (62 lines):

diff -r fdbd25b0f0d1 -r 30f9d996838b mail/evolution-data-server/distinfo
--- a/mail/evolution-data-server/distinfo       Tue Feb 17 10:42:45 2009 +0000
+++ b/mail/evolution-data-server/distinfo       Tue Feb 17 11:01:43 2009 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.56 2009/02/16 23:31:38 drochner Exp $
+$NetBSD: distinfo,v 1.57 2009/02/17 11:01:43 drochner Exp $
 
 SHA1 (evolution-data-server-2.24.4.1.tar.bz2) = 95ec53d366d82d51aea8e253b4360cb0db9ba984
 RMD160 (evolution-data-server-2.24.4.1.tar.bz2) = d08d08e85a9da85f24fee845bc98de62bddfb717
@@ -14,3 +14,4 @@
 SHA1 (patch-ba) = d90f9aa715725780d01b71e3464d20c9575d2db4
 SHA1 (patch-bb) = 915106112ec4606dc6b7626c6d81ccce1cab0d57
 SHA1 (patch-bc) = 6a1f6a549325f1067e4ff85c845b81e024955411
+SHA1 (patch-bd) = b00c9886bded9775020dfba5bb8c3bd8d009341b
diff -r fdbd25b0f0d1 -r 30f9d996838b mail/evolution-data-server/patches/patch-bd
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/mail/evolution-data-server/patches/patch-bd       Tue Feb 17 11:01:43 2009 +0000
@@ -0,0 +1,44 @@
+$NetBSD: patch-bd,v 1.1 2009/02/17 11:01:43 drochner Exp $
+
+--- camel/camel-smime-context.c.orig   2008-10-13 10:07:53.000000000 +0200
++++ camel/camel-smime-context.c
+@@ -40,6 +40,7 @@
+ #include <smime.h>
+ #include <pkcs11t.h>
+ #include <pk11func.h>
++#include <secoid.h>
+ 
+ #include <errno.h>
+ 
+@@ -545,6 +546,11 @@ sm_verify_cmsg(CamelCipherContext *conte
+ 
+                       /* need to build digests of the content */
+                       if (!NSS_CMSSignedData_HasDigests(sigd)) {
++                              camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM, _("Cannot set message digests"));
++                              goto fail;
++                      } else {
++                              int which_digest;
++
+                               if (extstream == NULL) {
+                                       camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM, _("Digests missing from enveloped data"));
+                                       goto fail;
+@@ -573,9 +579,16 @@ sm_verify_cmsg(CamelCipherContext *conte
+                                       goto fail;
+                               }
+ 
+-                              if (NSS_CMSSignedData_SetDigests(sigd, digestalgs, digests) != SECSuccess) {
+-                                      camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM, _("Cannot set message digests"));
+-                                      goto fail;
++                              for (which_digest = 0; digests[which_digest] != NULL; which_digest++) {
++                                      SECOidData *digest_alg = SECOID_FindOID(&digestalgs[which_digest]->algorithm);
++                                      if (digest_alg == NULL) {
++                                              camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM, _("Cannot set message digests"));
++                                              goto fail;
++                                      }
++                                      if (NSS_CMSSignedData_SetDigestValue(sigd, digest_alg->offset, digests[which_digest]) != SECSuccess) {
++                                              camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM, _("Cannot set message digests"));
++                                              goto fail;
++                                      }
+                               }
+ 
+                               PORT_FreeArena(poolp, PR_FALSE);



Home | Main Index | Thread Index | Old Index