r1727 - in /unstable/evolution-data-server/debian: ./ patches/
corsac at users.alioth.debian.org
corsac at users.alioth.debian.org
Mon Sep 20 22:02:08 UTC 2010
Author: corsac
Date: Mon Sep 20 22:02:06 2010
New Revision: 1727
URL: http://svn.debian.org/wsvn/pkg-evolution/?sc=1&rev=1727
Log:
* debian/patches:
- 101-Bug-629714-endless-loop-in-imapx_parse_status,
102-Bug-630135-No-UI-feedback-when-imapx-connection-fail,
103-Bug-630150-imapx-attempts-to-connect-to-server-when-,
104-Bug-630152-imapx_parser_thread-registers-wrong-opera,
105-Bug-629916-imapx-fails-to-handle-errors-in-imapx_com and
106-Bug-630149-imapx_sync-never-returns-error added, fix various issues
with IMAP+ backend leading to endless loops.
Added:
unstable/evolution-data-server/debian/patches/102-Bug-630135-No-UI-feedback-when-imapx-connection-fail.patch
unstable/evolution-data-server/debian/patches/103-Bug-630150-imapx-attempts-to-connect-to-server-when-.patch
unstable/evolution-data-server/debian/patches/104-Bug-630152-imapx_parser_thread-registers-wrong-opera.patch
unstable/evolution-data-server/debian/patches/105-Bug-629916-imapx-fails-to-handle-errors-in-imapx_com.patch
unstable/evolution-data-server/debian/patches/106-Bug-630149-imapx_sync-never-returns-error.patch
Modified:
unstable/evolution-data-server/debian/changelog
unstable/evolution-data-server/debian/patches/series
Modified: unstable/evolution-data-server/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-evolution/unstable/evolution-data-server/debian/changelog?rev=1727&op=diff
==============================================================================
--- unstable/evolution-data-server/debian/changelog (original)
+++ unstable/evolution-data-server/debian/changelog Mon Sep 20 22:02:06 2010
@@ -1,9 +1,20 @@
evolution-data-server (2.30.3-2) UNRELEASED; urgency=low
+ [ Josselin Mouette ]
* 01_imapx_lockup.patch: stolen upstream. Avoid evolution lockups when
logging out with IDLE enabled.
- -- Josselin Mouette <joss at debian.org> Sat, 18 Sep 2010 12:34:22 +0200
+ [ Yves-Alexis Perez ]
+ * debian/patches:
+ - 101-Bug-629714-endless-loop-in-imapx_parse_status,
+ 102-Bug-630135-No-UI-feedback-when-imapx-connection-fail,
+ 103-Bug-630150-imapx-attempts-to-connect-to-server-when-,
+ 104-Bug-630152-imapx_parser_thread-registers-wrong-opera,
+ 105-Bug-629916-imapx-fails-to-handle-errors-in-imapx_com and
+ 106-Bug-630149-imapx_sync-never-returns-error added, fix various issues
+ with IMAP+ backend leading to endless loops.
+
+ -- Yves-Alexis Perez <corsac at debian.org> Mon, 20 Sep 2010 18:09:51 +0200
evolution-data-server (2.30.3-1) unstable; urgency=low
Added: unstable/evolution-data-server/debian/patches/102-Bug-630135-No-UI-feedback-when-imapx-connection-fail.patch
URL: http://svn.debian.org/wsvn/pkg-evolution/unstable/evolution-data-server/debian/patches/102-Bug-630135-No-UI-feedback-when-imapx-connection-fail.patch?rev=1727&op=file
==============================================================================
--- unstable/evolution-data-server/debian/patches/102-Bug-630135-No-UI-feedback-when-imapx-connection-fail.patch (added)
+++ unstable/evolution-data-server/debian/patches/102-Bug-630135-No-UI-feedback-when-imapx-connection-fail.patch Mon Sep 20 22:02:06 2010
@@ -1,0 +1,30 @@
+From 8e49861c224a141685d79a8723387a4af5acdd19 Mon Sep 17 00:00:00 2001
+From: David Woodhouse <David.Woodhouse at intel.com>
+Date: Mon, 20 Sep 2010 11:25:10 +0100
+Subject: [PATCH 2/6] Bug 630135 - No UI feedback when imapx connection fails
+
+Don't call camel_operation_cancel(NULL). That has undesired effects.
+
+Only call camel_operation_cancel(server->op) if it's non-NULL -- i.e. if the
+parser thread had actually started up and set it.
+---
+ camel/providers/imapx/camel-imapx-server.c | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/camel/providers/imapx/camel-imapx-server.c b/camel/providers/imapx/camel-imapx-server.c
+index a9e9eb8..1df8126 100644
+--- a/camel/providers/imapx/camel-imapx-server.c
++++ b/camel/providers/imapx/camel-imapx-server.c
+@@ -4629,7 +4629,8 @@ imapx_server_finalise(CamelIMAPXServer *is, CamelIMAPXServerClass *isclass)
+ QUEUE_UNLOCK(is);
+
+ is->parser_quit = TRUE;
+- camel_operation_cancel (is->op);
++ if (is->op)
++ camel_operation_cancel (is->op);
+
+ if (is->parser_thread)
+ g_thread_join (is->parser_thread);
+--
+1.7.1
+
Added: unstable/evolution-data-server/debian/patches/103-Bug-630150-imapx-attempts-to-connect-to-server-when-.patch
URL: http://svn.debian.org/wsvn/pkg-evolution/unstable/evolution-data-server/debian/patches/103-Bug-630150-imapx-attempts-to-connect-to-server-when-.patch?rev=1727&op=file
==============================================================================
--- unstable/evolution-data-server/debian/patches/103-Bug-630150-imapx-attempts-to-connect-to-server-when-.patch (added)
+++ unstable/evolution-data-server/debian/patches/103-Bug-630150-imapx-attempts-to-connect-to-server-when-.patch Mon Sep 20 22:02:06 2010
@@ -1,0 +1,28 @@
+From 00b3267433a27002b794617fabbedd26db7e7b07 Mon Sep 17 00:00:00 2001
+From: David Woodhouse <David.Woodhouse at intel.com>
+Date: Mon, 20 Sep 2010 13:30:13 +0100
+Subject: [PATCH 3/6] Bug 630150 - imapx attempts to connect to server when already cancelled
+
+---
+ camel/providers/imapx/camel-imapx-store.c | 5 +++++
+ 1 files changed, 5 insertions(+), 0 deletions(-)
+
+diff --git a/camel/providers/imapx/camel-imapx-store.c b/camel/providers/imapx/camel-imapx-store.c
+index be30538..6e05e89 100644
+--- a/camel/providers/imapx/camel-imapx-store.c
++++ b/camel/providers/imapx/camel-imapx-store.c
+@@ -212,6 +212,11 @@ camel_imapx_store_get_server(CamelIMAPXStore *store, CamelException *ex)
+ {
+ CamelIMAPXServer *server = NULL;
+
++ if (camel_operation_cancel_check(NULL)) {
++ camel_exception_set (ex, CAMEL_EXCEPTION_USER_CANCEL,
++ _("Cancelled"));
++ return NULL;
++ }
+ CAMEL_SERVICE_REC_LOCK (store, connect_lock);
+
+ if (store->server && camel_imapx_server_connect(store->server, ex)) {
+--
+1.7.1
+
Added: unstable/evolution-data-server/debian/patches/104-Bug-630152-imapx_parser_thread-registers-wrong-opera.patch
URL: http://svn.debian.org/wsvn/pkg-evolution/unstable/evolution-data-server/debian/patches/104-Bug-630152-imapx_parser_thread-registers-wrong-opera.patch?rev=1727&op=file
==============================================================================
--- unstable/evolution-data-server/debian/patches/104-Bug-630152-imapx_parser_thread-registers-wrong-opera.patch (added)
+++ unstable/evolution-data-server/debian/patches/104-Bug-630152-imapx_parser_thread-registers-wrong-opera.patch Mon Sep 20 22:02:06 2010
@@ -1,0 +1,25 @@
+From 086758fd47f33f7725f0642cb3affc499fd47640 Mon Sep 17 00:00:00 2001
+From: David Woodhouse <David.Woodhouse at intel.com>
+Date: Mon, 20 Sep 2010 13:47:48 +0100
+Subject: [PATCH 4/6] Bug 630152 - imapx_parser_thread registers wrong operation
+
+---
+ camel/providers/imapx/camel-imapx-server.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/camel/providers/imapx/camel-imapx-server.c b/camel/providers/imapx/camel-imapx-server.c
+index 1df8126..89a9f74 100644
+--- a/camel/providers/imapx/camel-imapx-server.c
++++ b/camel/providers/imapx/camel-imapx-server.c
+@@ -4476,7 +4476,7 @@ imapx_parser_thread (gpointer d)
+ CamelOperation *op;
+
+ op = camel_operation_new (NULL, NULL);
+- op = camel_operation_register (op);
++ camel_operation_register (op);
+ is->op = op;
+
+ while (!camel_exception_is_set (&ex) && is->stream) {
+--
+1.7.1
+
Added: unstable/evolution-data-server/debian/patches/105-Bug-629916-imapx-fails-to-handle-errors-in-imapx_com.patch
URL: http://svn.debian.org/wsvn/pkg-evolution/unstable/evolution-data-server/debian/patches/105-Bug-629916-imapx-fails-to-handle-errors-in-imapx_com.patch?rev=1727&op=file
==============================================================================
--- unstable/evolution-data-server/debian/patches/105-Bug-629916-imapx-fails-to-handle-errors-in-imapx_com.patch (added)
+++ unstable/evolution-data-server/debian/patches/105-Bug-629916-imapx-fails-to-handle-errors-in-imapx_com.patch Mon Sep 20 22:02:06 2010
@@ -1,0 +1,67 @@
+From a7657a1bb6950ec78311d45eec42d4c57fef9a82 Mon Sep 17 00:00:00 2001
+From: David Woodhouse <David.Woodhouse at intel.com>
+Date: Mon, 20 Sep 2010 15:18:03 +0100
+Subject: [PATCH 5/6] Bug 629916 - imapx fails to handle errors in imapx_command_idle_stop()
+
+---
+ camel/providers/imapx/camel-imapx-server.c | 22 ++++++++++++++++++----
+ 1 files changed, 18 insertions(+), 4 deletions(-)
+
+diff --git a/camel/providers/imapx/camel-imapx-server.c b/camel/providers/imapx/camel-imapx-server.c
+index 89a9f74..31a571f 100644
+--- a/camel/providers/imapx/camel-imapx-server.c
++++ b/camel/providers/imapx/camel-imapx-server.c
+@@ -924,7 +924,9 @@ imapx_command_start_next(CamelIMAPXServer *is, CamelException *ex)
+ if (imapx_in_idle (is) && !camel_dlist_empty (&is->queue)) {
+ /* if imapx_stop_idle() returns FALSE, it was only
+ pending and we can go ahead and send a new command
+- immediately. If it returns TRUE, we must wait. */
++ immediately. If it returns TRUE, either it sent the
++ DONE to exit IDLE mode, or there was an error.
++ Either way, we do nothing more right now. */
+ if (imapx_stop_idle (is, ex)) {
+ c(printf ("waiting for idle to stop \n"));
+ return;
+@@ -1707,7 +1709,10 @@ imapx_continuation(CamelIMAPXServer *imap, CamelException *ex, gboolean litplus)
+ /* IDLE got cancelled after we sent the command, while
+ we were waiting for this continuation. Send DONE
+ immediately. */
+- imapx_command_idle_stop(imap, ex);
++ if (!imapx_command_idle_stop (imap, ex)) {
++ IDLE_UNLOCK(imap->idle);
++ return -1;
++ }
+ imap->idle->state = IMAPX_IDLE_OFF;
+ } else {
+ c(printf("idle starts in wrong state %d\n",
+@@ -2034,6 +2039,11 @@ imapx_command_idle_stop (CamelIMAPXServer *is, CamelException *ex)
+ {
+ if (!is->stream || camel_stream_printf((CamelStream *)is->stream, "%s", "DONE\r\n") == -1) {
+ camel_exception_set (ex, 1, "Unable to issue DONE");
++ c(printf("Failed to issue DONE to terminate IDLE\n"));
++ is->state = IMAPX_SHUTDOWN;
++ if (is->op)
++ camel_operation_cancel(is->op);
++ is->parser_quit = TRUE;
+ return FALSE;
+ }
+
+@@ -2200,9 +2210,13 @@ imapx_stop_idle (CamelIMAPXServer *is, CamelException *ex)
+ break;
+
+ case IMAPX_IDLE_STARTED:
+- imapx_command_idle_stop (is, ex);
+- idle->state = IMAPX_IDLE_OFF;
++ /* We set 'stopped' even if sending DONE fails, to ensure that
++ our caller doesn't try to submit its own command. */
+ stopped = TRUE;
++ if (!imapx_command_idle_stop (is, ex))
++ break;
++
++ idle->state = IMAPX_IDLE_OFF;
+ c(printf("Stopping idle after %ld seconds\n",
+ (long)(now - idle->started)));
+ case IMAPX_IDLE_PENDING:
+--
+1.7.1
+
Added: unstable/evolution-data-server/debian/patches/106-Bug-630149-imapx_sync-never-returns-error.patch
URL: http://svn.debian.org/wsvn/pkg-evolution/unstable/evolution-data-server/debian/patches/106-Bug-630149-imapx_sync-never-returns-error.patch?rev=1727&op=file
==============================================================================
--- unstable/evolution-data-server/debian/patches/106-Bug-630149-imapx_sync-never-returns-error.patch (added)
+++ unstable/evolution-data-server/debian/patches/106-Bug-630149-imapx_sync-never-returns-error.patch Mon Sep 20 22:02:06 2010
@@ -1,0 +1,42 @@
+From b32377db3459e257b9b9ea83399619c42feebe9b Mon Sep 17 00:00:00 2001
+From: David Woodhouse <David.Woodhouse at intel.com>
+Date: Mon, 20 Sep 2010 13:29:20 +0100
+Subject: [PATCH 6/6] Bug 630149 - imapx_sync() never returns error
+
+---
+ camel/providers/imapx/camel-imapx-folder.c | 11 ++++++-----
+ 1 files changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/camel/providers/imapx/camel-imapx-folder.c b/camel/providers/imapx/camel-imapx-folder.c
+index bdd398d..e558949 100644
+--- a/camel/providers/imapx/camel-imapx-folder.c
++++ b/camel/providers/imapx/camel-imapx-folder.c
+@@ -173,19 +173,20 @@ imapx_sync (CamelFolder *folder, gboolean expunge, CamelException *ex)
+ ex = &eex;
+
+ server = camel_imapx_store_get_server(is, ex);
+- if (server)
+- camel_imapx_server_sync_changes (server, folder, ex);
++ if (!server)
++ return;
++
++ camel_imapx_server_sync_changes (server, folder, ex);
+
+ /* Sync twice - make sure deleted flags are written out,
+ then sync again incase expunge changed anything */
+ camel_exception_clear(ex);
+
+- if (server && expunge) {
++ if (expunge) {
+ camel_imapx_server_expunge(server, folder, ex);
+ camel_exception_clear(ex);
+ }
+- if (server)
+- camel_object_unref(server);
++ camel_object_unref(server);
+ }
+
+ static CamelMimeMessage *
+--
+1.7.1
+
Modified: unstable/evolution-data-server/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-evolution/unstable/evolution-data-server/debian/patches/series?rev=1727&op=diff
==============================================================================
--- unstable/evolution-data-server/debian/patches/series (original)
+++ unstable/evolution-data-server/debian/patches/series Mon Sep 20 22:02:06 2010
@@ -2,3 +2,8 @@
25_mute-debug-messages.patch
45_libcamel_providers_version.patch
65_evolution-color.patch
+102-Bug-630135-No-UI-feedback-when-imapx-connection-fail.patch
+103-Bug-630150-imapx-attempts-to-connect-to-server-when-.patch
+104-Bug-630152-imapx_parser_thread-registers-wrong-opera.patch
+105-Bug-629916-imapx-fails-to-handle-errors-in-imapx_com.patch
+106-Bug-630149-imapx_sync-never-returns-error.patch
More information about the pkg-evolution-commits
mailing list