From 466e729e4fc7b4849f0d04f4e7667c35c4cf561f2387ac8899a496ff0fd419fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Lie?= Date: Tue, 16 Dec 2014 10:16:18 +0000 Subject: [PATCH] Accepting request 265328 from home:badshah400:branches:GNOME:Factory Update to 3.12.9 [copypac from home:Zaitor:boo906687 and then remove boo reference in .changes] OBS-URL: https://build.opensuse.org/request/show/265328 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/evolution-data-server?expand=0&rev=206 --- evolution-data-server-3.12.8.tar.xz | 3 - evolution-data-server-3.12.9.tar.xz | 3 + ...ution-data-server-fix-use-after-free.patch | 100 ++++++++++++++++++ evolution-data-server.changes | 19 ++++ evolution-data-server.spec | 5 +- 5 files changed, 126 insertions(+), 4 deletions(-) delete mode 100644 evolution-data-server-3.12.8.tar.xz create mode 100644 evolution-data-server-3.12.9.tar.xz create mode 100644 evolution-data-server-fix-use-after-free.patch diff --git a/evolution-data-server-3.12.8.tar.xz b/evolution-data-server-3.12.8.tar.xz deleted file mode 100644 index afd9ba4..0000000 --- a/evolution-data-server-3.12.8.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:06fb4b9a1137b77a53e94eb69e4aeedd8f92d1bd1cfa0175f607660dd3b30818 -size 5392696 diff --git a/evolution-data-server-3.12.9.tar.xz b/evolution-data-server-3.12.9.tar.xz new file mode 100644 index 0000000..852d2cb --- /dev/null +++ b/evolution-data-server-3.12.9.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f6cb7fe315cdc20938e08e2c724fe9364d9a72801a41b05f77367b6790aaee0 +size 5395276 diff --git a/evolution-data-server-fix-use-after-free.patch b/evolution-data-server-fix-use-after-free.patch new file mode 100644 index 0000000..ddb5bf1 --- /dev/null +++ b/evolution-data-server-fix-use-after-free.patch @@ -0,0 +1,100 @@ +From fe77982c952af27348f9c6d6d5a1952b8eeb3236 Mon Sep 17 00:00:00 2001 +From: Milan Crha +Date: Fri, 12 Dec 2014 11:30:08 +0100 +Subject: Bug 695754 - Use-after-free in + source_registry_source_notify_enabled_idle_cb() + + +diff --git a/libedataserver/e-source-registry.c b/libedataserver/e-source-registry.c +index 22b46a7..3b6f806 100644 +--- a/libedataserver/e-source-registry.c ++++ b/libedataserver/e-source-registry.c +@@ -445,24 +445,6 @@ source_registry_service_restart_table_steal_all (ESourceRegistry *registry) + return list; + } + +-static void +-source_registry_sources_insert (ESourceRegistry *registry, +- ESource *source) +-{ +- const gchar *uid; +- +- uid = e_source_get_uid (source); +- g_return_if_fail (uid != NULL); +- +- g_mutex_lock (®istry->priv->sources_lock); +- +- g_hash_table_insert ( +- registry->priv->sources, +- g_strdup (uid), g_object_ref (source)); +- +- g_mutex_unlock (®istry->priv->sources_lock); +-} +- + static gboolean + source_registry_sources_remove (ESourceRegistry *registry, + ESource *source) +@@ -746,9 +728,11 @@ source_registry_add_source (ESourceRegistry *registry, + G_CALLBACK (source_registry_source_notify_enabled_cb), + registry); + +- g_mutex_unlock (®istry->priv->sources_lock); ++ g_hash_table_insert ( ++ registry->priv->sources, ++ g_strdup (uid), g_object_ref (source)); + +- source_registry_sources_insert (registry, source); ++ g_mutex_unlock (®istry->priv->sources_lock); + } + + static gboolean +@@ -1263,11 +1247,6 @@ source_registry_dispose (GObject *object) + priv->thread_closure = NULL; + } + +- if (priv->main_context != NULL) { +- g_main_context_unref (priv->main_context); +- priv->main_context = NULL; +- } +- + if (priv->dbus_object_manager != NULL) { + g_object_unref (priv->dbus_object_manager); + priv->dbus_object_manager = NULL; +@@ -1282,6 +1261,14 @@ source_registry_dispose (GObject *object) + + g_hash_table_remove_all (priv->sources); + ++ if (priv->main_context != NULL) { ++ while (g_main_context_pending (priv->main_context)) { ++ g_main_context_iteration (priv->main_context, FALSE); ++ } ++ g_main_context_unref (priv->main_context); ++ priv->main_context = NULL; ++ } ++ + if (priv->settings != NULL) { + g_signal_handlers_disconnect_by_data (priv->settings, object); + g_object_unref (priv->settings); +-- +cgit v0.10.1 + +From 234791233b71ae24d020ec5379069f5dd8c1f15d Mon Sep 17 00:00:00 2001 +From: Milan Crha +Date: Fri, 12 Dec 2014 14:11:04 +0100 +Subject: Bug 741434 - Use-after-free after error in GPG signature verification + + +diff --git a/camel/camel-gpg-context.c b/camel/camel-gpg-context.c +index 8c3104b..ea2cb84 100644 +--- a/camel/camel-gpg-context.c ++++ b/camel/camel-gpg-context.c +@@ -1889,6 +1889,7 @@ gpg_verify_sync (CamelCipherContext *context, + + g_object_unref (filter); + g_object_unref (istream); ++ istream = NULL; + + g_seekable_seek (G_SEEKABLE (canon_stream), 0, G_SEEK_SET, NULL, NULL); + +-- +cgit v0.10.1 diff --git a/evolution-data-server.changes b/evolution-data-server.changes index aea8ce8..4ff0675 100644 --- a/evolution-data-server.changes +++ b/evolution-data-server.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Sun Dec 14 06:05:51 UTC 2014 - badshah400@gmail.com + +- Update to version 3.12.9: + + ECalBackendFile: Stops refresh thread too late + + ECalComponent: Recurrence ID not rescan properly + + Limit SQLite busy-wait for a lock + + IMAPx: Speed-up folder cache removal on folder sync + + IMAPx: Enhance and make work namespace override options + + IMAPx: Runtime warning on inactivity timeout with IDLE enabled + + SQLite VFS: Track pending sync requests + + Bugs fixed: bgo#739904, bgo#678398, bgo#739610, bgo#736011, + bgo#736947, bgo#732717, bgo#733518, bgo#732018, bgo#740627, + bgo#701138, bgo#740585, bgo#740843. + + Updated translations. +- Add post-release fix from upstream: + + evolution-data-server-fix-use-after-free.patch: Fix errors + resulting from use-after-free (bgo#695754, bgo#741434). + ------------------------------------------------------------------- Tue Nov 11 21:13:55 UTC 2014 - zaitor@opensuse.org diff --git a/evolution-data-server.spec b/evolution-data-server.spec index faa3246..dbe8f2a 100644 --- a/evolution-data-server.spec +++ b/evolution-data-server.spec @@ -32,7 +32,7 @@ Name: evolution-data-server %define _evo_version 3.12 -Version: 3.12.8 +Version: 3.12.9 Release: 0 Summary: Evolution Data Server License: LGPL-2.1+ @@ -40,6 +40,8 @@ Group: Development/Libraries/GNOME Url: http://www.gnome.org Source0: http://download.gnome.org/sources/evolution-data-server/3.12/%{name}-%{version}.tar.xz Source99: baselibs.conf +# PATCH-FIX-UPSTREAM evolution-data-server-fix-use-after-free.patch bgo#695754 bgo#741434 badshah400@gmail.com -- Fix errors resulting from use-after-free; patch taken from upstream git +Patch0: evolution-data-server-fix-use-after-free.patch BuildRequires: db-devel %if %USE_EVOLDAP BuildRequires: evoldap2-devel @@ -254,6 +256,7 @@ This package contains developer documentation. %lang_package %prep %setup -q +%patch0 -p1 translation-update-upstream %build