summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Loeser <halcy0n@gentoo.org>2010-02-25 15:57:38 +0000
committerMark Loeser <halcy0n@gentoo.org>2010-02-25 15:57:38 +0000
commit38b81d80ad7b548dfc4c24928411ba421a001f12 (patch)
treeaedfb0dfcc399a35c5ebe7735bf3a6fb18a4748e /gnome-extra
parentx86 stable, bug #302480 (diff)
downloadhistorical-38b81d80ad7b548dfc4c24928411ba421a001f12.tar.gz
historical-38b81d80ad7b548dfc4c24928411ba421a001f12.tar.bz2
historical-38b81d80ad7b548dfc4c24928411ba421a001f12.zip
Restoring due to dev-dotnet/evolution-sharp-0.18.1 requiring it
Package-Manager: portage-2.2_rc62/cvs/Linux i686 RepoMan-Options: --force
Diffstat (limited to 'gnome-extra')
-rw-r--r--gnome-extra/evolution-data-server/ChangeLog11
-rw-r--r--gnome-extra/evolution-data-server/Manifest17
-rw-r--r--gnome-extra/evolution-data-server/evolution-data-server-2.24.5-r3.ebuild128
-rw-r--r--gnome-extra/evolution-data-server/files/evolution-data-server-1.11.3-no-libdb.patch13
-rw-r--r--gnome-extra/evolution-data-server/files/evolution-data-server-2.23.6-as-needed.patch54
-rw-r--r--gnome-extra/evolution-data-server/files/evolution-data-server-2.24.5-CVE-2009-0547.patch105
-rw-r--r--gnome-extra/evolution-data-server/files/evolution-data-server-2.24.5-fix-body.patch34
-rw-r--r--gnome-extra/evolution-data-server/files/evolution-data-server-CVE-2009-0582.patch144
8 files changed, 500 insertions, 6 deletions
diff --git a/gnome-extra/evolution-data-server/ChangeLog b/gnome-extra/evolution-data-server/ChangeLog
index b1dbd30df7a3..6840e47821e8 100644
--- a/gnome-extra/evolution-data-server/ChangeLog
+++ b/gnome-extra/evolution-data-server/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for gnome-extra/evolution-data-server
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/gnome-extra/evolution-data-server/ChangeLog,v 1.254 2010/02/24 22:46:00 eva Exp $
+# $Header: /var/cvsroot/gentoo-x86/gnome-extra/evolution-data-server/ChangeLog,v 1.255 2010/02/25 15:57:37 halcy0n Exp $
+
+ 25 Feb 2010; Mark Loeser <halcy0n@gentoo.org>
+ +files/evolution-data-server-1.11.3-no-libdb.patch,
+ +files/evolution-data-server-2.23.6-as-needed.patch,
+ +evolution-data-server-2.24.5-r3.ebuild,
+ +files/evolution-data-server-2.24.5-CVE-2009-0547.patch,
+ +files/evolution-data-server-2.24.5-fix-body.patch,
+ +files/evolution-data-server-CVE-2009-0582.patch:
+ Restoring due to dev-dotnet/evolution-sharp-0.18.1 requiring it
24 Feb 2010; Gilles Dartiguelongue <eva@gentoo.org>
-files/evolution-data-server-1.11.3-no-libdb.patch,
diff --git a/gnome-extra/evolution-data-server/Manifest b/gnome-extra/evolution-data-server/Manifest
index 8e0da8d4a2cf..6987ba10b0fe 100644
--- a/gnome-extra/evolution-data-server/Manifest
+++ b/gnome-extra/evolution-data-server/Manifest
@@ -2,22 +2,29 @@
Hash: SHA1
AUX calentry.schema 3661 RMD160 68dfc3a8bbf08a1cf2713727c6617b2de613cb7c SHA1 06ddcc64c3b2b3230fbbef21a7e2a682bd95788c SHA256 107d60463833d5ceb5f752335dd07fef303093c58a51fb03405fed5837999431
+AUX evolution-data-server-1.11.3-no-libdb.patch 570 RMD160 404dfda7aac4e9ff6504ecd9ee5b7af6efafc969 SHA1 411f311317439bf20643491d2b7d1cbee99c561e SHA256 992602fd04cfa8afba084238f62f765b1d5caf29cc10ad739c7e63ea78291905
AUX evolution-data-server-1.2.0-gentoo_etc_services.patch 815 RMD160 d48ad5a34bfdf9f814b9ae22ba188f2f0c7f0304 SHA1 9248c74b334534f74e027fc119509673bff4542f SHA256 a64e0e4d74ac91f69c4b7a011b6325e27af6fa28a58e20f48ff09ec2a1538c5a
AUX evolution-data-server-1.8.0-camel-rewind.patch 499 RMD160 90b94f0b20a52a4fdf476bcfa5fe0ad2a064d488 SHA1 db7d42df20ab50d81835b9c1b9ebed84d1e0d8cb SHA256 1323e9dc957e3cc02fd1628fa21d448c8c985028e5b57d03596b6bde9ad66e0e
+AUX evolution-data-server-2.23.6-as-needed.patch 3469 RMD160 43c48a35d0480a82db6cf131c0fdd0062353efc4 SHA1 96ef4dd901730ab2f77716646517a5ef40a5f982 SHA256 4899ffd8773229ecb43afbffdb91faa1fd433630395792998973f62aa54afb37
+AUX evolution-data-server-2.24.5-CVE-2009-0547.patch 3977 RMD160 24bd47ad13994f712bf4976fed06997e93130bf1 SHA1 624a3072eed233542829a557c1434a63ac9e64be SHA256 7aefaa4cf040efa4aca3fbf49910003a5368eb44d5e5b46f53f044495de7ff8d
+AUX evolution-data-server-2.24.5-fix-body.patch 1133 RMD160 91a17a437f6102172b094e77b89296eacb037faf SHA1 9d60f8406af3ed56ea15704a1ee0cae6bf044d91 SHA256 c5af4e15b50b91ee276c3959a7049a8171a4d9f962fbf878d3135620106c2c02
AUX evolution-data-server-2.25.5-as-needed.patch 3489 RMD160 3594d79fe2fb53fdb0a970d07821cea07a0e9b11 SHA1 35af25a7f156ec80924448cc6207f251ce876ef6 SHA256 5a8f35873fe5f9d11bccc3868351be3fbe27620d5546283db83c94a300631d6a
AUX evolution-data-server-2.25.90-no-libdb.patch 355 RMD160 fcf879d6b7997f5731812bb76d05a05a777fbc56 SHA1 6ad4bff173c83c96573cf78ecd8131b2c08b76b0 SHA256 3b66f8d59c58bb2f3b5e8025892b9fabf6841cefe105e97e1070dda2d82d2088
AUX evolution-data-server-2.26.3-camel-vee-folder.patch 1072 RMD160 5ea77f129629744e8b147cf707b6dee16b21d7dc SHA1 f8a3383c841edb5f345dced8a99fc38c9d6d28e9 SHA256 4bd7b35d7ba55e5a452aeeef1d96e2372d6312f533489259f7b777b0a6963ff4
AUX evolution-data-server-2.28.0-gentoo_etc_services.patch 1294 RMD160 058a86636b5b544c312f086f31902b38001484f1 SHA1 2e7fb34243ed00efdcec2fda3fc109856ca451ff SHA256 14a3954871868cbae15891cfcb87135fd82077628f7ad49290fb955aeb4f192a
+AUX evolution-data-server-CVE-2009-0582.patch 4651 RMD160 348f25abea3f513f170ca159923fc836ebafae42 SHA1 2d6b8ff93c43cf9e107de93c64be9df4d9b9a6d4 SHA256 b320f3efdbb19ddbf618be77cc4b52e5f422209b48273b5f62c7158b6efe618a
+DIST evolution-data-server-2.24.5.tar.bz2 7857405 RMD160 d5f32f35a51e32885f96d4f92d7a0c6fae249a92 SHA1 b1df1f3580e3566d08faf2c093a685ee977d648c SHA256 c2240b96437f36f3656da538df7631510785664a6e7723cbf75ec0f88c3d38d1
DIST evolution-data-server-2.26.3.tar.bz2 7167764 RMD160 83f68a464a0cfb50511f33e662d8a24ede42b9e6 SHA1 a9406b748d5a002df9570d17c91066575f2ba408 SHA256 ed2698d64dc663900b50f7a461d79c25e310462b7d41b1073257cbf950e75071
DIST evolution-data-server-2.28.2.tar.bz2 22319961 RMD160 5041260ffa3430104c812ec5495bf6cba40c347f SHA1 dd2f35ed6765651c9daf0e709e0e9d65604d1eed SHA256 12e3ba23e4021a70be9cb6d418d1966883ee940bfa1a298294b036bde90faf2c
+EBUILD evolution-data-server-2.24.5-r3.ebuild 3529 RMD160 2ff418a16a9b8a688edfbcd2f040084ad244b09a SHA1 6adb48feb16c8092bf1ca3591f435c11aede52b2 SHA256 d8bc2df8b4de8c67dc4251f8f7209bec93c513381f669d314cc389b40c0755a4
EBUILD evolution-data-server-2.26.3.ebuild 3528 RMD160 6cf1472c699e9c60bc4a4d2266946c5b487fdfd1 SHA1 48e90958f963d2fdfcecb71af026b7cd613831ea SHA256 08725da4208365da62c149a1ccf1ca62660d68f92556e63a899c110bffa0f6e9
EBUILD evolution-data-server-2.28.2.ebuild 3299 RMD160 e0231e682e4d2b664e0ad51ccfc7d61ac7d6a42e SHA1 daf8280801cf1a105b79bb116ea6440c7822a489 SHA256 37e4ccb8bbf1d2658dbc246d5c761221fa83d04b43f6dbc4c17a4149bdc0cb05
-MISC ChangeLog 48242 RMD160 05458758e9cbaa4dce447ef34971cd84a45d57bf SHA1 928f35ec22bdd014cf6f3d7494ab7a2b2ea98334 SHA256 15e993992f0b30792e93df745d4b3b4fce7d0d7ca4cec6921c404a7d8f262cf3
+MISC ChangeLog 48678 RMD160 39df480a4020f19a42d35ccbc1e1bcfd7ddaed65 SHA1 d5d3f8e64e3dad47b1b30bb7c682759f875964c1 SHA256 394fa970a84a8d3ec61c03cdfed6162ac122d960494fcc15144f9b606468a8bd
MISC metadata.xml 158 RMD160 c0e2bae8e91bb6be8922bac5e4f597302e06587e SHA1 38f78e9790bcd4382b4a49aa226aa6dda1d3a3d7 SHA256 3a7dbca0fdc557de69783e0663e2d76ddab129ea8a19b2d0ef6d3e5d1b947ce1
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.14 (GNU/Linux)
+Version: GnuPG v2.0.13 (GNU/Linux)
-iEYEARECAAYFAkuFrDIACgkQ1fmVwcYIWAa1IQCfWdV+V5M2K0UHhjUzSs5LhlqG
-tU8AnRhZ+VUXJOSjFrr7raA+UTELq/2u
-=J6yx
+iEYEARECAAYFAkuGngAACgkQCRZPokWLroSLsQCfeDRus1H0QJzWhcK49Isu1ODK
+n+YAoMH9BswIhYAZNlfdyY57gLhUUln4
+=biTq
-----END PGP SIGNATURE-----
diff --git a/gnome-extra/evolution-data-server/evolution-data-server-2.24.5-r3.ebuild b/gnome-extra/evolution-data-server/evolution-data-server-2.24.5-r3.ebuild
new file mode 100644
index 000000000000..d5314d9134b3
--- /dev/null
+++ b/gnome-extra/evolution-data-server/evolution-data-server-2.24.5-r3.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/gnome-extra/evolution-data-server/evolution-data-server-2.24.5-r3.ebuild,v 1.10 2010/02/25 15:57:38 halcy0n Exp $
+
+EAPI="2"
+
+inherit db-use eutils flag-o-matic gnome2 autotools versionator
+
+DESCRIPTION="Evolution groupware backend"
+HOMEPAGE="http://www.gnome.org/projects/evolution/"
+
+LICENSE="LGPL-2 BSD DB"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE="doc ipv6 kerberos gnome-keyring krb4 ldap ssl"
+
+RDEPEND=">=dev-libs/glib-2.16.1
+ >=x11-libs/gtk+-2.10
+ >=gnome-base/orbit-2.9.8
+ >=gnome-base/libbonobo-2.20.3
+ >=gnome-base/gconf-2
+ >=gnome-base/libglade-2
+ >=gnome-base/libgnome-2
+ >=dev-libs/libxml2-2
+ >=net-libs/libsoup-2.4
+ gnome-keyring? ( >=gnome-base/gnome-keyring-2.20.1 )
+ >=dev-db/sqlite-3.5
+ ssl? (
+ >=dev-libs/nspr-4.4
+ >=dev-libs/nss-3.9 )
+ >=gnome-base/libgnomeui-2
+ sys-libs/zlib
+ =sys-libs/db-4*
+ ldap? ( >=net-nds/openldap-2.0 )
+ kerberos? ( virtual/krb5 )
+ krb4? ( app-crypt/mit-krb5[krb4] )"
+
+DEPEND="${RDEPEND}
+ >=dev-util/pkgconfig-0.9
+ >=dev-util/intltool-0.35.5
+ >=gnome-base/gnome-common-2
+ >=dev-util/gtk-doc-am-1.9
+ doc? ( >=dev-util/gtk-doc-1.9 )"
+
+DOCS="ChangeLog MAINTAINERS NEWS TODO"
+
+pkg_setup() {
+ G2CONF="${G2CONF}
+ $(use_with ldap openldap)
+ $(use_with krb4 krb4 /usr)
+ $(use_with kerberos krb5 /usr)
+ $(use_enable ssl nss)
+ $(use_enable ssl smime)
+ $(use_enable ipv6)
+ $(use_enable gnome-keyring)
+ --with-libdb=/usr/$(get_libdir)"
+}
+
+src_prepare() {
+ gnome2_src_prepare
+
+ # Adjust to gentoo's /etc/service
+ epatch "${FILESDIR}"/${PN}-1.2.0-gentoo_etc_services.patch
+
+ # Fix broken libdb build
+ epatch "${FILESDIR}"/${PN}-1.11.3-no-libdb.patch
+
+ # Rewind in camel-disco-diary to fix a crash
+ epatch "${FILESDIR}"/${PN}-1.8.0-camel-rewind.patch
+
+ # Fix building evo-exchange with --as-needed, upstream bug #342830
+ epatch "${FILESDIR}"/${PN}-2.23.6-as-needed.patch
+
+ # Fix S/MIME verification. Bug #258867
+ epatch "${FILESDIR}"/${P}-CVE-2009-0547.patch
+
+ # Fix S/MIME message display, bug #258867
+ epatch "${FILESDIR}"/${P}-fix-body.patch
+
+ # Fix NTLM SASL authentication. Bug #261203
+ epatch "${FILESDIR}"/${PN}-CVE-2009-0582.patch
+
+ if use doc; then
+ sed "/^TARGET_DIR/i \GTKDOC_REBASE=/usr/bin/gtkdoc-rebase" \
+ -i gtk-doc.make || die "sed 1 failed"
+ else
+ sed "/^TARGET_DIR/i \GTKDOC_REBASE=$(type -P true)" \
+ -i gtk-doc.make || die "sed 2 failed"
+ fi
+
+ # gtk-doc-am and gnome-common needed for this
+ intltoolize --force --copy --automake || die "intltoolize failed"
+ eautoreconf
+
+ # Use NSS/NSPR only if 'ssl' is enabled.
+ if use ssl ; then
+ sed -i -e "s|mozilla-nss|nss|
+ s|mozilla-nspr|nspr|" "${S}"/configure || die "sed failed"
+ G2CONF="${G2CONF} --enable-nss=yes"
+ else
+ G2CONF="${G2CONF} --without-nspr-libs --without-nspr-includes \
+ --without-nss-libs --without-nss-includes"
+ fi
+
+ # /usr/include/db.h is always db-1 on FreeBSD
+ # so include the right dir in CPPFLAGS
+ append-cppflags "-I$(db_includedir)"
+}
+
+src_install() {
+ gnome2_src_install
+
+ if use ldap; then
+ MY_MAJORV=$(get_version_component_range 1-2)
+ insinto /etc/openldap/schema
+ doins "${FILESDIR}"/calentry.schema || die "doins failed"
+ dosym "${D}"/usr/share/${PN}-${MY_MAJORV}/evolutionperson.schema /etc/openldap/schema/evolutionperson.schema
+ fi
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+
+ if use ldap; then
+ elog ""
+ elog "LDAP schemas needed by evolution are installed in /etc/openldap/schema"
+ fi
+}
diff --git a/gnome-extra/evolution-data-server/files/evolution-data-server-1.11.3-no-libdb.patch b/gnome-extra/evolution-data-server/files/evolution-data-server-1.11.3-no-libdb.patch
new file mode 100644
index 000000000000..b2b7769289e8
--- /dev/null
+++ b/gnome-extra/evolution-data-server/files/evolution-data-server-1.11.3-no-libdb.patch
@@ -0,0 +1,13 @@
+diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN evolution-data-server-1.11.3.orig/configure.in evolution-data-server-1.11.3/configure.in
+--- evolution-data-server-1.11.3.orig/configure.in 2007-06-04 06:50:47.000000000 -0400
++++ evolution-data-server-1.11.3/configure.in 2007-06-07 10:58:22.000000000 -0400
+@@ -1431,9 +1431,6 @@ export privdatadir
+ if test $enable_calendar = yes; then
+ AC_CONFIG_SUBDIRS(calendar/libical)
+ fi
+-if test $dynamic_libdb = no; then
+- AC_CONFIG_SUBDIRS(libdb/dist)
+-fi
+ AC_OUTPUT([
+ Makefile
+ evolution-data-server-zip
diff --git a/gnome-extra/evolution-data-server/files/evolution-data-server-2.23.6-as-needed.patch b/gnome-extra/evolution-data-server/files/evolution-data-server-2.23.6-as-needed.patch
new file mode 100644
index 000000000000..57d10c82b2e4
--- /dev/null
+++ b/gnome-extra/evolution-data-server/files/evolution-data-server-2.23.6-as-needed.patch
@@ -0,0 +1,54 @@
+diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN evolution-data-server-2.23.6.orig/addressbook/backends/Makefile.am evolution-data-server-2.23.6/addressbook/backends/Makefile.am
+--- evolution-data-server-2.23.6.orig/addressbook/backends/Makefile.am 2008-08-04 00:28:27.000000000 -0400
++++ evolution-data-server-2.23.6/addressbook/backends/Makefile.am 2008-08-05 12:26:15.000000000 -0400
+@@ -4,4 +4,4 @@ else
+ LDAP_SUBDIR =
+ endif
+
+-SUBDIRS = file vcf $(LDAP_SUBDIR) google groupwise webdav
++SUBDIRS = file vcf $(LDAP_SUBDIR)
+diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN evolution-data-server-2.23.6.orig/calendar/backends/Makefile.am evolution-data-server-2.23.6/calendar/backends/Makefile.am
+--- evolution-data-server-2.23.6.orig/calendar/backends/Makefile.am 2008-04-11 07:10:31.000000000 -0400
++++ evolution-data-server-2.23.6/calendar/backends/Makefile.am 2008-08-05 12:25:51.000000000 -0400
+@@ -1 +1 @@
+-SUBDIRS = file groupwise http contacts weather caldav google
++SUBDIRS = file http contacts weather caldav
+diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN evolution-data-server-2.23.6.orig/camel/providers/Makefile.am evolution-data-server-2.23.6/camel/providers/Makefile.am
+--- evolution-data-server-2.23.6.orig/camel/providers/Makefile.am 2008-08-01 02:34:59.000000000 -0400
++++ evolution-data-server-2.23.6/camel/providers/Makefile.am 2008-08-05 12:26:59.000000000 -0400
+@@ -21,6 +21,6 @@ else
+ SENDMAIL_DIR=sendmail
+ endif
+
+-SUBDIRS = pop3 $(SENDMAIL_DIR) smtp imap $(IMAP4_DIR) $(NNTP_DIR) local $(IMAPP_DIR) groupwise $(HULA_DIR)
++SUBDIRS = pop3 $(SENDMAIL_DIR) smtp imap $(IMAP4_DIR) $(NNTP_DIR) local $(IMAPP_DIR) $(HULA_DIR)
+
+
+diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN evolution-data-server-2.23.6.orig/Makefile.am evolution-data-server-2.23.6/Makefile.am
+--- evolution-data-server-2.23.6.orig/Makefile.am 2008-08-01 02:35:37.000000000 -0400
++++ evolution-data-server-2.23.6/Makefile.am 2008-08-05 12:28:22.000000000 -0400
+@@ -7,9 +7,12 @@ endif
+
+ if ENABLE_CALENDAR
+ CALENDAR_DIR = calendar
++CALENDAR_LATER = calendar/backends/groupwise calendar/backends/google
+ endif
+
+-SUBDIRS = $(LIBDB) win32 libedataserver libebackend servers camel addressbook $(CALENDAR_DIR) libedataserverui src docs art po
++LATER = camel/providers/groupwise addressbook/backends/groupwise addressbook/backends/google addressbook/backends/webdav $(CALENDAR_LATER)
++
++SUBDIRS = $(LIBDB) win32 libedataserver libebackend camel addressbook $(CALENDAR_DIR) libedataserverui servers $(LATER) src docs art po
+ DIST_SUBDIRS= win32 libedataserver libebackend servers camel addressbook calendar libedataserverui src docs art po
+ changelogs = \
+ ChangeLog
+diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN evolution-data-server-2.23.6.orig/servers/exchange/storage/Makefile.am evolution-data-server-2.23.6/servers/exchange/storage/Makefile.am
+--- evolution-data-server-2.23.6.orig/servers/exchange/storage/Makefile.am 2008-04-11 07:10:16.000000000 -0400
++++ evolution-data-server-2.23.6/servers/exchange/storage/Makefile.am 2008-08-05 12:25:51.000000000 -0400
+@@ -64,6 +64,7 @@ libexchange_storage_1_2_la_LIBADD = \
+ $(top_builddir)/servers/exchange/lib/libexchange.la \
+ $(top_builddir)/servers/exchange/xntlm/libxntlm.la \
+ $(top_builddir)/libedataserver/libedataserver-1.2.la \
++ $(top_builddir)/libedataserverui/libedataserverui-1.2.la \
+ $(E_DATA_SERVER_LIBS) \
+ $(E_DATA_SERVER_UI_LIBS) \
+ $(LDAP_LIBS) \
diff --git a/gnome-extra/evolution-data-server/files/evolution-data-server-2.24.5-CVE-2009-0547.patch b/gnome-extra/evolution-data-server/files/evolution-data-server-2.24.5-CVE-2009-0547.patch
new file mode 100644
index 000000000000..b527c8021ba1
--- /dev/null
+++ b/gnome-extra/evolution-data-server/files/evolution-data-server-2.24.5-CVE-2009-0547.patch
@@ -0,0 +1,105 @@
+diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN evolution-data-server-2.24.5.orig/camel/camel-smime-context.c evolution-data-server-2.24.5/camel/camel-smime-context.c
+--- evolution-data-server-2.24.5.orig/camel/camel-smime-context.c 2008-09-22 06:53:58.000000000 -0400
++++ evolution-data-server-2.24.5/camel/camel-smime-context.c 2009-03-07 14:52:57.000000000 -0500
+@@ -40,6 +40,7 @@
+ #include <smime.h>
+ #include <pkcs11t.h>
+ #include <pk11func.h>
++#include <secoid.h>
+
+ #include <errno.h>
+
+@@ -534,6 +535,7 @@ sm_verify_cmsg(CamelCipherContext *conte
+ for (i = 0; i < count; i++) {
+ NSSCMSContentInfo *cinfo = NSS_CMSMessage_ContentLevel(cmsg, i);
+ SECOidTag typetag = NSS_CMSContentInfo_GetContentTypeTag(cinfo);
++ int which_digest;
+
+ switch (typetag) {
+ case SEC_OID_PKCS7_SIGNED_DATA:
+@@ -543,44 +545,49 @@ sm_verify_cmsg(CamelCipherContext *conte
+ goto fail;
+ }
+
+- /* need to build digests of the content */
+- if (!NSS_CMSSignedData_HasDigests(sigd)) {
+- if (extstream == NULL) {
+- camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM, _("Digests missing from enveloped data"));
+- goto fail;
+- }
+-
+- if ((poolp = PORT_NewArena(1024)) == NULL) {
+- camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM, g_strerror (ENOMEM));
+- goto fail;
+- }
+-
+- digestalgs = NSS_CMSSignedData_GetDigestAlgs(sigd);
+-
+- digcx = NSS_CMSDigestContext_StartMultiple(digestalgs);
+- if (digcx == NULL) {
+- camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM, _("Cannot calculate digests"));
+- goto fail;
+- }
+-
+- mem = (CamelStreamMem *)camel_stream_mem_new();
+- camel_stream_write_to_stream(extstream, (CamelStream *)mem);
+- NSS_CMSDigestContext_Update(digcx, mem->buffer->data, mem->buffer->len);
+- camel_object_unref(mem);
+-
+- if (NSS_CMSDigestContext_FinishMultiple(digcx, poolp, &digests) != SECSuccess) {
+- camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM, _("Cannot calculate digests"));
+- goto fail;
+- }
+-
+- if (NSS_CMSSignedData_SetDigests(sigd, digestalgs, digests) != SECSuccess) {
+- camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM, _("Cannot set message digests"));
+- goto fail;
+- }
+
+- PORT_FreeArena(poolp, PR_FALSE);
+- poolp = NULL;
++ if (extstream == NULL) {
++ camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM, _("Digests missing from enveloped data"));
++ goto fail;
++ }
++
++ if ((poolp = PORT_NewArena(1024)) == NULL) {
++ camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM, g_strerror (ENOMEM));
++ goto fail;
+ }
++
++ digestalgs = NSS_CMSSignedData_GetDigestAlgs(sigd);
++
++ digcx = NSS_CMSDigestContext_StartMultiple(digestalgs);
++ if (digcx == NULL) {
++ camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM, _("Cannot calculate digests"));
++ goto fail;
++ }
++
++ mem = (CamelStreamMem *)camel_stream_mem_new();
++ camel_stream_write_to_stream(extstream, (CamelStream *)mem);
++ NSS_CMSDigestContext_Update(digcx, mem->buffer->data, mem->buffer->len);
++ camel_object_unref(mem);
++
++ if (NSS_CMSDigestContext_FinishMultiple(digcx, poolp, &digests) != SECSuccess) {
++ camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM, _("Cannot calculate 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);
++ poolp = NULL;
+
+ /* import all certificates present */
+ if (NSS_CMSSignedData_ImportCerts(sigd, p->certdb, certUsageEmailSigner, PR_TRUE) != SECSuccess) {
diff --git a/gnome-extra/evolution-data-server/files/evolution-data-server-2.24.5-fix-body.patch b/gnome-extra/evolution-data-server/files/evolution-data-server-2.24.5-fix-body.patch
new file mode 100644
index 000000000000..2671d0de0000
--- /dev/null
+++ b/gnome-extra/evolution-data-server/files/evolution-data-server-2.24.5-fix-body.patch
@@ -0,0 +1,34 @@
+From dcd2f9ebc6c66ab1c068764da3b528f8fbfeb8b5 Mon Sep 17 00:00:00 2001
+From: Milan Crha <mcrha@redhat.com>
+Date: Tue, 31 Mar 2009 11:54:36 +0000
+Subject: [PATCH] ** Fix for bug #564465
+
+2009-03-31 Milan Crha <mcrha@redhat.com>
+
+ ** Fix for bug #564465
+
+ * camel-smime-context.c: (sm_decrypt):
+ Pass correct body for signature verification.
+
+svn path=/trunk/; revision=10194
+---
+ camel/camel-smime-context.c | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/camel/camel-smime-context.c b/camel/camel-smime-context.c
+index 7470953..1913d6a 100644
+--- a/camel/camel-smime-context.c
++++ b/camel/camel-smime-context.c
+@@ -963,7 +963,8 @@ sm_decrypt(CamelCipherContext *context, CamelMimePart *ipart, CamelMimePart *opa
+ camel_data_wrapper_construct_from_stream((CamelDataWrapper *)opart, ostream);
+
+ if (NSS_CMSMessage_IsSigned(cmsg)) {
+- valid = sm_verify_cmsg(context, cmsg, NULL, ex);
++ camel_stream_reset (ostream);
++ valid = sm_verify_cmsg (context, cmsg, ostream, ex);
+ } else {
+ valid = camel_cipher_validity_new();
+ valid->encrypt.description = g_strdup(_("Encrypted content"));
+--
+1.6.3.3
+
diff --git a/gnome-extra/evolution-data-server/files/evolution-data-server-CVE-2009-0582.patch b/gnome-extra/evolution-data-server/files/evolution-data-server-CVE-2009-0582.patch
new file mode 100644
index 000000000000..46231c0c0c39
--- /dev/null
+++ b/gnome-extra/evolution-data-server/files/evolution-data-server-CVE-2009-0582.patch
@@ -0,0 +1,144 @@
+Index: camel/camel-sasl-ntlm.c
+===================================================================
+--- camel/camel-sasl-ntlm.c (revision 10105)
++++ camel/camel-sasl-ntlm.c (working copy)
+@@ -74,9 +74,8 @@ camel_sasl_ntlm_get_type (void)
+
+ #define NTLM_REQUEST "NTLMSSP\x00\x01\x00\x00\x00\x06\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00"
+
+-#define NTLM_CHALLENGE_NONCE_OFFSET 24
+-#define NTLM_CHALLENGE_DOMAIN_OFFSET 48
+-#define NTLM_CHALLENGE_DOMAIN_LEN_OFFSET 44
++#define NTLM_CHALLENGE_DOMAIN_OFFSET 12
++#define NTLM_CHALLENGE_NONCE_OFFSET 24
+
+ #define NTLM_RESPONSE_HEADER "NTLMSSP\x00\x03\x00\x00\x00"
+ #define NTLM_RESPONSE_FLAGS "\x82\x01"
+@@ -93,22 +92,60 @@ static void ntlm_calc_response (const
+ guchar results[24]);
+ static void ntlm_lanmanager_hash (const char *password, char hash[21]);
+ static void ntlm_nt_hash (const char *password, char hash[21]);
+-static void ntlm_set_string (GByteArray *ba, int offset,
+- const char *data, int len);
++
++typedef struct {
++ guint16 length;
++ guint16 allocated;
++ guint32 offset;
++} SecurityBuffer;
++
++static GString *
++ntlm_get_string (GByteArray *ba, int offset)
++{
++ SecurityBuffer *secbuf;
++ GString *string;
++ gchar *buf_string;
++ guint16 buf_length;
++ guint32 buf_offset;
++
++ secbuf = (SecurityBuffer *) &ba->data[offset];
++ buf_length = GUINT16_FROM_LE (secbuf->length);
++ buf_offset = GUINT32_FROM_LE (secbuf->offset);
++
++ if (ba->len < buf_offset + buf_length)
++ return NULL;
++
++ string = g_string_sized_new (buf_length);
++ buf_string = (gchar *) &ba->data[buf_offset];
++ g_string_append_len (string, buf_string, buf_length);
++
++ return string;
++}
++
++static void
++ntlm_set_string (GByteArray *ba, int offset, const char *data, int len)
++{
++ SecurityBuffer *secbuf;
++
++ secbuf = (SecurityBuffer *) &ba->data[offset];
++ secbuf->length = GUINT16_TO_LE (len);
++ secbuf->offset = GUINT32_TO_LE (ba->len);
++ secbuf->allocated = secbuf->length;
++
++ g_byte_array_append (ba, (guint8 *) data, len);
++}
+
+ static GByteArray *
+ ntlm_challenge (CamelSasl *sasl, GByteArray *token, CamelException *ex)
+ {
+ GByteArray *ret;
+ guchar nonce[8], hash[21], lm_resp[24], nt_resp[24];
++ GString *domain;
+
+ ret = g_byte_array_new ();
+
+- if (!token || !token->len) {
+- g_byte_array_append (ret, (guint8 *) NTLM_REQUEST,
+- sizeof (NTLM_REQUEST) - 1);
+- return ret;
+- }
++ if (!token || token->len < NTLM_CHALLENGE_NONCE_OFFSET + 8)
++ goto fail;
+
+ memcpy (nonce, token->data + NTLM_CHALLENGE_NONCE_OFFSET, 8);
+ ntlm_lanmanager_hash (sasl->service->url->passwd, (char *) hash);
+@@ -116,7 +153,11 @@ ntlm_challenge (CamelSasl *sasl, GByteAr
+ ntlm_nt_hash (sasl->service->url->passwd, (char *) hash);
+ ntlm_calc_response (hash, nonce, nt_resp);
+
+- ret = g_byte_array_new ();
++ domain = ntlm_get_string (token, NTLM_CHALLENGE_DOMAIN_OFFSET);
++ if (domain == NULL)
++ goto fail;
++
++ /* Don't jump to 'fail' label after this point. */
+ g_byte_array_set_size (ret, NTLM_RESPONSE_BASE_SIZE);
+ memset (ret->data, 0, NTLM_RESPONSE_BASE_SIZE);
+ memcpy (ret->data, NTLM_RESPONSE_HEADER,
+@@ -125,8 +166,7 @@ ntlm_challenge (CamelSasl *sasl, GByteAr
+ NTLM_RESPONSE_FLAGS, sizeof (NTLM_RESPONSE_FLAGS) - 1);
+
+ ntlm_set_string (ret, NTLM_RESPONSE_DOMAIN_OFFSET,
+- (const char *) token->data + NTLM_CHALLENGE_DOMAIN_OFFSET,
+- atoi ((char *) token->data + NTLM_CHALLENGE_DOMAIN_LEN_OFFSET));
++ domain->str, domain->len);
+ ntlm_set_string (ret, NTLM_RESPONSE_USER_OFFSET,
+ sasl->service->url->user,
+ strlen (sasl->service->url->user));
+@@ -138,6 +178,18 @@ ntlm_challenge (CamelSasl *sasl, GByteAr
+ (const char *) nt_resp, sizeof (nt_resp));
+
+ sasl->authenticated = TRUE;
++
++ g_string_free (domain, TRUE);
++
++ goto exit;
++
++fail:
++ /* If the challenge is malformed, restart authentication.
++ * XXX A malicious server could make this loop indefinitely. */
++ g_byte_array_append (ret, (guint8 *) NTLM_REQUEST,
++ sizeof (NTLM_REQUEST) - 1);
++
++exit:
+ return ret;
+ }
+
+@@ -201,17 +253,6 @@ ntlm_nt_hash (const char *password, char
+ g_free (buf);
+ }
+
+-static void
+-ntlm_set_string (GByteArray *ba, int offset, const char *data, int len)
+-{
+- ba->data[offset ] = ba->data[offset + 2] = len & 0xFF;
+- ba->data[offset + 1] = ba->data[offset + 3] = (len >> 8) & 0xFF;
+- ba->data[offset + 4] = ba->len & 0xFF;
+- ba->data[offset + 5] = (ba->len >> 8) & 0xFF;
+- g_byte_array_append (ba, (guint8 *) data, len);
+-}
+-
+-
+ #define KEYBITS(k,s) \
+ (((k[(s)/8] << ((s)%8)) & 0xFF) | (k[(s)/8+1] >> (8-(s)%8)))
+