r2084 - in /unstable/evolution-ews/debian: changelog patches/10_none_server.patch patches/11_deleted_inbox.patch patches/12_prefill_host.patch patches/13_autodiscover.patch patches/14_exchange_bizarre.patch patches/15_contact_crash.patch patches/series
joss at users.alioth.debian.org
joss at users.alioth.debian.org
Fri Dec 16 19:51:59 UTC 2011
Author: joss
Date: Fri Dec 16 19:51:59 2011
New Revision: 2084
URL: http://svn.debian.org/wsvn/pkg-evolution/?sc=1&rev=2084
Log:
* New upstream release.
* 10_none_server.patch, 11_deleted_inbox.patch, 12_prefill_host.patch,
13_autodiscover.patch, 14_exchange_bizarre.patch,
15_contact_crash.patch: bug fixes from 3.2 upstream git.
Added:
unstable/evolution-ews/debian/patches/10_none_server.patch
unstable/evolution-ews/debian/patches/11_deleted_inbox.patch
unstable/evolution-ews/debian/patches/12_prefill_host.patch
unstable/evolution-ews/debian/patches/13_autodiscover.patch
unstable/evolution-ews/debian/patches/14_exchange_bizarre.patch
unstable/evolution-ews/debian/patches/15_contact_crash.patch
Modified:
unstable/evolution-ews/debian/changelog
unstable/evolution-ews/debian/patches/series
Modified: unstable/evolution-ews/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-evolution/unstable/evolution-ews/debian/changelog?rev=2084&op=diff
==============================================================================
--- unstable/evolution-ews/debian/changelog (original)
+++ unstable/evolution-ews/debian/changelog Fri Dec 16 19:51:59 2011
@@ -1,3 +1,12 @@
+evolution-ews (3.2.2-1) unstable; urgency=low
+
+ * New upstream release.
+ * 10_none_server.patch, 11_deleted_inbox.patch, 12_prefill_host.patch,
+ 13_autodiscover.patch, 14_exchange_bizarre.patch,
+ 15_contact_crash.patch: bug fixes from 3.2 upstream git.
+
+ -- Josselin Mouette <joss at debian.org> Fri, 16 Dec 2011 20:51:53 +0100
+
evolution-ews (3.2.1-1) experimental; urgency=low
* Initial release. Closes: #648435.
Added: unstable/evolution-ews/debian/patches/10_none_server.patch
URL: http://svn.debian.org/wsvn/pkg-evolution/unstable/evolution-ews/debian/patches/10_none_server.patch?rev=2084&op=file
==============================================================================
--- unstable/evolution-ews/debian/patches/10_none_server.patch (added)
+++ unstable/evolution-ews/debian/patches/10_none_server.patch Fri Dec 16 19:51:59 2011
@@ -1,0 +1,21 @@
+From e3da26f7280ed057f0a0d3f9296a3c488e842f87 Mon Sep 17 00:00:00 2001
+From: Milan Crha <mcrha at redhat.com>
+Date: Thu, 01 Dec 2011 09:52:17 +0000
+Subject: Bug #665229 - Blocks creation of a None receiving account
+
+---
+diff --git a/src/account-setup-eplugin/exchange-ews-account-setup.c b/src/account-setup-eplugin/exchange-ews-account-setup.c
+index 8f48014..e542e39 100644
+--- a/src/account-setup-eplugin/exchange-ews-account-setup.c
++++ b/src/account-setup-eplugin/exchange-ews-account-setup.c
+@@ -309,7 +309,7 @@ org_gnome_exchange_ews_check_options(EPlugin *epl, EConfigHookPageCheckData *dat
+
+ url = camel_url_new (e_account_get_string(get_modified_account (target), E_ACCOUNT_SOURCE_URL), NULL);
+
+- if (url && url->protocol && g_ascii_strcasecmp (url->protocol, "ews") != 0)
++ if (!url || !url->protocol || g_ascii_strcasecmp (url->protocol, "ews") != 0)
+ goto exit;
+
+ /* FIXME pageid is not set while editing an account */
+--
+cgit v0.9.0.2
Added: unstable/evolution-ews/debian/patches/11_deleted_inbox.patch
URL: http://svn.debian.org/wsvn/pkg-evolution/unstable/evolution-ews/debian/patches/11_deleted_inbox.patch?rev=2084&op=file
==============================================================================
--- unstable/evolution-ews/debian/patches/11_deleted_inbox.patch (added)
+++ unstable/evolution-ews/debian/patches/11_deleted_inbox.patch Fri Dec 16 19:51:59 2011
@@ -1,0 +1,23 @@
+From 2c13d08fb88a68261c7b2a8b38d5c1004d70c09b Mon Sep 17 00:00:00 2001
+From: David Woodhouse <David.Woodhouse at intel.com>
+Date: Fri, 02 Dec 2011 13:00:56 +0000
+Subject: Bug 664637 - Deleted messages appear in Inbox
+
+This is a *partial* fix. We still have a potential bug if we crash at the
+wrong time, but at least this stops us from hitting it systematically.
+(cherry picked from commit 326e7b4760017dc9dce8a9ace7b0c23db46a479e)
+---
+diff --git a/src/camel/camel-ews-folder.c b/src/camel/camel-ews-folder.c
+index 8da7801..c889556 100644
+--- a/src/camel/camel-ews-folder.c
++++ b/src/camel/camel-ews-folder.c
+@@ -1124,6 +1124,7 @@ ews_refresh_info_sync (CamelFolder *folder, GCancellable *cancellable, GError **
+ g_free (((CamelEwsSummary *) folder->summary)->sync_state);
+ ((CamelEwsSummary *) folder->summary)->sync_state = sync_state;
+
++ camel_folder_summary_touch (folder->summary);
+ camel_folder_summary_save_to_db (folder->summary, NULL);
+
+ } while (!rerror && !includes_last_item);
+--
+cgit v0.9.0.2
Added: unstable/evolution-ews/debian/patches/12_prefill_host.patch
URL: http://svn.debian.org/wsvn/pkg-evolution/unstable/evolution-ews/debian/patches/12_prefill_host.patch?rev=2084&op=file
==============================================================================
--- unstable/evolution-ews/debian/patches/12_prefill_host.patch (added)
+++ unstable/evolution-ews/debian/patches/12_prefill_host.patch Fri Dec 16 19:51:59 2011
@@ -1,0 +1,57 @@
+From 9283b0877938bed6a5d88f23405a2ab3a838cba0 Mon Sep 17 00:00:00 2001
+From: Milan Crha <mcrha at redhat.com>
+Date: Thu, 20 Oct 2011 12:46:28 +0000
+Subject: Prefill Host URL when creating new account
+
+(cherry picked from commit 5fb55ca5378d25fd39bdcc078b70d1a1bbbee069)
+---
+diff --git a/src/account-setup-eplugin/exchange-ews-account-setup.c b/src/account-setup-eplugin/exchange-ews-account-setup.c
+index e542e39..7a981e6 100644
+--- a/src/account-setup-eplugin/exchange-ews-account-setup.c
++++ b/src/account-setup-eplugin/exchange-ews-account-setup.c
+@@ -233,6 +233,7 @@ org_gnome_exchange_ews_account_setup (EPlugin *epl, EConfigHookItemFactoryData *
+ const gchar *host_url_val = camel_url_get_param (url, "hosturl");
+ const gchar *oab_url_val = camel_url_get_param (url, "oaburl");
+ const gchar *temp, *email_id;
++ gchar *temp_host_url_val = NULL;
+ gchar *url_string;
+ struct _AutoDiscCallBackData *cbdata = g_new0 (struct _AutoDiscCallBackData, 1);
+ EAccount *account;
+@@ -246,8 +247,15 @@ org_gnome_exchange_ews_account_setup (EPlugin *epl, EConfigHookItemFactoryData *
+ camel_url_set_param (url, "email", email_id);
+ temp = g_strstr_len (email_id, -1, "@");
+ /* Don't overwrite the URL if it's already been set */
+- if (!url->host || !url->host[0])
+- camel_url_set_host (url, g_strdup (temp + 1));
++ if (temp && (!url->host || !url->host[0])) {
++ camel_url_set_host (url, temp + 1);
++ }
++
++ if (temp && (!host_url_val || !*host_url_val)) {
++ temp_host_url_val = g_strdup_printf ("https://exchange.%s/EWS/Exchange.asmx", temp + 1);
++ host_url_val = temp_host_url_val;
++ camel_url_set_param (url, "hosturl", host_url_val);
++ }
+
+ url_string = camel_url_to_string (url, 0);
+ e_account_set_string (account, E_ACCOUNT_SOURCE_URL, url_string);
+@@ -274,6 +282,8 @@ org_gnome_exchange_ews_account_setup (EPlugin *epl, EConfigHookItemFactoryData *
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), host_url);
+ if (host_url_val && *host_url_val)
+ gtk_entry_set_text (GTK_ENTRY (host_url), host_url_val);
++ else
++ gtk_entry_set_text (GTK_ENTRY (host_url), "https://exchange.server.com/EWS/Exchange.asmx");
+ gtk_box_pack_start (GTK_BOX (hbox), host_url, TRUE, TRUE, 0);
+ g_signal_connect (host_url, "changed", G_CALLBACK(host_url_changed), data->config);
+
+@@ -294,6 +304,8 @@ org_gnome_exchange_ews_account_setup (EPlugin *epl, EConfigHookItemFactoryData *
+ gtk_table_attach (GTK_TABLE (data->parent), oab_label, 0, 1, row, row+1, 0, 0, 0, 0);
+ gtk_table_attach (GTK_TABLE (data->parent), oab_url, 1, 2, row, row+1, GTK_FILL|GTK_EXPAND, GTK_FILL, 0, 0);
+ row++;
++
++ g_free (temp_host_url_val);
+ }
+
+ camel_url_free (url);
+--
+cgit v0.9.0.2
Added: unstable/evolution-ews/debian/patches/13_autodiscover.patch
URL: http://svn.debian.org/wsvn/pkg-evolution/unstable/evolution-ews/debian/patches/13_autodiscover.patch?rev=2084&op=file
==============================================================================
--- unstable/evolution-ews/debian/patches/13_autodiscover.patch (added)
+++ unstable/evolution-ews/debian/patches/13_autodiscover.patch Fri Dec 16 19:51:59 2011
@@ -1,0 +1,244 @@
+From 67f9efdd709423b543b9d62c6013ca8b27af2922 Mon Sep 17 00:00:00 2001
+From: Milan Crha <mcrha at redhat.com>
+Date: Thu, 01 Dec 2011 09:54:38 +0000
+Subject: Bug #664116 - "Fetch URL" doesn't always work
+
+(cherry picked from commit 68a53eb80710ae3941f331362438cfa6af082ff5)
+
+Conflicts:
+
+ src/account-setup-eplugin/exchange-ews-account-setup.c
+---
+diff --git a/src/account-setup-eplugin/exchange-ews-account-setup.c b/src/account-setup-eplugin/exchange-ews-account-setup.c
+index 7a981e6..3163979 100644
+--- a/src/account-setup-eplugin/exchange-ews-account-setup.c
++++ b/src/account-setup-eplugin/exchange-ews-account-setup.c
+@@ -165,14 +165,23 @@ validate_credentials (GtkWidget *widget, struct _AutoDiscCallBackData *cbdata)
+ {
+ EConfig *config = cbdata->config;
+ EMConfigTargetAccount *target_account = (EMConfigTargetAccount *)(config->target);
+- gchar *password = NULL;
+-
+- password = get_password (target_account);
++ EAccount *account = get_modified_account (target_account);
++ gchar *password = get_password (target_account);
+ /*Can there be a account without password ?*/
+ if (password && *password) {
++ const gchar *hosturl = NULL;
++ const gchar *user = NULL;
++ CamelURL *url = camel_url_new (e_account_get_string (account, E_ACCOUNT_SOURCE_URL), NULL);
++
++ if (url) {
++ hosturl = camel_url_get_param (url, "hosturl");
++ user = url->user;
++ }
++
+ e_ews_autodiscover_ws_url (autodiscover_callback, cbdata,
+- (get_modified_account (target_account))->id->address,
+- password);
++ account->id->address,
++ password, hosturl, user);
++ camel_url_free (url);
+ }
+ g_free (password);
+ }
+diff --git a/src/server/e-ews-connection.c b/src/server/e-ews-connection.c
+index 8e02db3..06932ae 100644
+--- a/src/server/e-ews-connection.c
++++ b/src/server/e-ews-connection.c
+@@ -1000,7 +1000,7 @@ struct _autodiscover_data {
+ EEwsConnection *cnc;
+ xmlOutputBuffer *buf;
+ GSimpleAsyncResult *simple;
+- SoupMessage *msgs[2];
++ SoupMessage *msgs[4];
+ EEwsAutoDiscoverCallback cb;
+ gpointer cbdata;
+ };
+@@ -1054,11 +1054,11 @@ autodiscover_response_cb (SoupSession *session, SoupMessage *msg, gpointer data)
+ int idx;
+ gboolean success = FALSE;
+
+- for (idx = 0; idx < 2; idx++) {
++ for (idx = 0; idx < 4; idx++) {
+ if (ad->msgs[idx] == msg)
+ break;
+ }
+- if (idx == 2) {
++ if (idx == 4) {
+ /* We already got removed (cancelled). Do nothing */
+ return;
+ }
+@@ -1137,7 +1137,7 @@ autodiscover_response_cb (SoupSession *session, SoupMessage *msg, gpointer data)
+ }
+
+ /* We have a good response; cancel all the others */
+- for (idx = 0; idx < 2; idx++) {
++ for (idx = 0; idx < 4; idx++) {
+ if (ad->msgs[idx]) {
+ SoupMessage *m = ad->msgs[idx];
+ ad->msgs[idx] = NULL;
+@@ -1152,7 +1152,7 @@ autodiscover_response_cb (SoupSession *session, SoupMessage *msg, gpointer data)
+ return;
+
+ failed:
+- for (idx = 0; idx < 2; idx++) {
++ for (idx = 0; idx < 4; idx++) {
+ if (ad->msgs[idx]) {
+ /* There's another request outstanding.
+ Hope that it has better luck. */
+@@ -1216,15 +1216,17 @@ e_ews_get_msg_for_url (const gchar *url, xmlOutputBuffer *buf)
+
+ void
+ e_ews_autodiscover_ws_url (EEwsAutoDiscoverCallback cb, gpointer cbdata,
+- const gchar *email, const gchar *password)
++ const gchar *email, const gchar *password,
++ const gchar *ews_url, const gchar *username)
+ {
+ struct _autodiscover_data *ad;
+ xmlOutputBuffer *buf;
+ GError *error = NULL;
+- gchar *url;
++ gchar *url1, *url2, *url3, *url4;
+ gchar *domain;
+ xmlDoc *doc;
+ EEwsConnection *cnc;
++ gboolean use_secure = TRUE;
+
+ if (!password || !email) {
+ g_set_error (&error, EWS_CONNECTION_ERROR,
+@@ -1245,11 +1247,33 @@ e_ews_autodiscover_ws_url (EEwsAutoDiscoverCallback cb, gpointer cbdata,
+ xmlNodeDumpOutput(buf, doc, xmlDocGetRootElement(doc), 0, 1, NULL);
+ xmlOutputBufferFlush(buf);
+
+- url = g_strdup_printf("https://%s/autodiscover/autodiscover.xml", domain);
++ url1 = NULL;
++ url2 = NULL;
++ url3 = NULL;
++ url4 = NULL;
++ if (ews_url) {
++ SoupURI *uri = soup_uri_new (ews_url);
+
+- /* FIXME: Get username from config; don't assume same as email */
+- cnc = e_ews_connection_new (url, email, password, NULL, NULL, &error);
++ if (uri) {
++ use_secure = g_strcmp0 (soup_uri_get_scheme (uri), "https") == 0;
++
++ url1 = g_strdup_printf ("http%s://%s/autodiscover/autodiscover.xml", use_secure ? "s" : "", soup_uri_get_host (uri));
++ url2 = g_strdup_printf ("http%s://autodiscover.%s/autodiscover/autodiscover.xml", use_secure ? "s" : "", soup_uri_get_host (uri));
++ soup_uri_free (uri);
++ }
++ }
++
++ url3 = g_strdup_printf ("http%s://%s/autodiscover/autodiscover.xml", use_secure ? "s" : "", domain);
++ url4 = g_strdup_printf ("http%s://autodiscover.%s/autodiscover/autodiscover.xml", use_secure ? "s" : "", domain);
++
++ cnc = e_ews_connection_new (url3, (username && *username) ? username : email, password, NULL, NULL, &error);
+ if (!cnc) {
++ g_free (url1);
++ g_free (url2);
++ g_free (url3);
++ g_free (url4);
++ xmlOutputBufferClose (buf);
++ xmlFreeDoc (doc);
+ err:
+ cb (NULL, cbdata, error);
+ return;
+@@ -1270,12 +1294,10 @@ e_ews_autodiscover_ws_url (EEwsAutoDiscoverCallback cb, gpointer cbdata,
+ ad->buf = buf;
+ ad->simple = g_simple_async_result_new (G_OBJECT (cnc), autodiscover_done_cb,
+ ad, e_ews_autodiscover_ws_url);
+- ad->msgs[0] = e_ews_get_msg_for_url (url, buf);
+- g_free (url);
+-
+- url = g_strdup_printf("https://autodiscover.%s/autodiscover/autodiscover.xml", domain);
+- ad->msgs[1] = e_ews_get_msg_for_url (url, buf);
+- g_free (url);
++ ad->msgs[0] = url1 ? e_ews_get_msg_for_url (url1, buf) : NULL;
++ ad->msgs[1] = url2 ? e_ews_get_msg_for_url (url2, buf) : NULL;
++ ad->msgs[2] = url3 ? e_ews_get_msg_for_url (url3, buf) : NULL;
++ ad->msgs[3] = url4 ? e_ews_get_msg_for_url (url4, buf) : NULL;
+
+ /* These have to be submitted only after they're both set in ad->msgs[]
+ or there will be races with fast completion */
+@@ -1283,13 +1305,20 @@ e_ews_autodiscover_ws_url (EEwsAutoDiscoverCallback cb, gpointer cbdata,
+ autodiscover_response_cb, ad);
+ soup_session_queue_message (cnc->priv->soup_session, ad->msgs[1],
+ autodiscover_response_cb, ad);
++ soup_session_queue_message (cnc->priv->soup_session, ad->msgs[2],
++ autodiscover_response_cb, ad);
++ soup_session_queue_message (cnc->priv->soup_session, ad->msgs[3],
++ autodiscover_response_cb, ad);
+
+ g_object_unref (cnc); /* the GSimpleAsyncResult holds it now */
+
+ xmlFreeDoc (doc);
++ g_free (url1);
++ g_free (url2);
++ g_free (url3);
++ g_free (url4);
+ }
+
+-
+ struct _oal_req_data {
+ EEwsConnection *cnc;
+ GSimpleAsyncResult *simple;
+diff --git a/src/server/e-ews-connection.h b/src/server/e-ews-connection.h
+index 03d4860..3c2a26f 100644
+--- a/src/server/e-ews-connection.h
++++ b/src/server/e-ews-connection.h
+@@ -134,7 +134,9 @@ typedef void (*EEwsAutoDiscoverCallback) (EwsUrls *urls, gpointer user_data, GEr
+ void e_ews_autodiscover_ws_url (EEwsAutoDiscoverCallback cb,
+ gpointer cbdata,
+ const gchar *email,
+- const gchar *password);
++ const gchar *password,
++ const gchar *ews_url,
++ const gchar *username);
+ void e_ews_connection_set_mailbox (EEwsConnection *cnc,
+ const gchar *email);
+ /* Sync folder items */
+diff --git a/src/server/tests/test-connection.c b/src/server/tests/test-connection.c
+index db543fa..811d9c7 100644
+--- a/src/server/tests/test-connection.c
++++ b/src/server/tests/test-connection.c
+@@ -120,24 +120,24 @@ con_test_autodiscover()
+ user_data->test_case = g_strdup ("postive case... \n");
+ g_print ("Testing %s \n", user_data->test_case);
+ user_data->positive_case = TRUE;
+- e_ews_autodiscover_ws_url (autodiscover_cb, user_data, email, password);
++ e_ews_autodiscover_ws_url (autodiscover_cb, user_data, email, password, NULL, NULL);
+
+ user_data = g_new0 (struct _cb_data, 1);
+ user_data->test_case = g_strdup ("wrong password... \n");
+ /* It does respond properly with the url, Check it out */
+ user_data->positive_case = TRUE;
+ g_print ("Testing %s \n", user_data->test_case);
+- e_ews_autodiscover_ws_url (autodiscover_cb, user_data, email, "wrongpassword");
++ e_ews_autodiscover_ws_url (autodiscover_cb, user_data, email, "wrongpassword", NULL, NULL);
+
+ user_data = g_new0 (struct _cb_data, 1);
+ user_data->test_case = g_strdup ("email without domain ... \n");
+ g_print ("Testing %s \n", user_data->test_case);
+- e_ews_autodiscover_ws_url (autodiscover_cb, user_data, "wronguseremail", password);
++ e_ews_autodiscover_ws_url (autodiscover_cb, user_data, "wronguseremail", password, NULL, NULL);
+
+ user_data = g_new0 (struct _cb_data, 1);
+ user_data->test_case = g_strdup ("wrong email address and password... \n");
+ g_print ("Testing %s \n", user_data->test_case);
+- e_ews_autodiscover_ws_url (autodiscover_cb, user_data, "godknows at donknow.com", "wrongpassword");
++ e_ews_autodiscover_ws_url (autodiscover_cb, user_data, "godknows at donknow.com", "wrongpassword", NULL, NULL);
+
+ user_data->test_case = g_strdup ("wrong user name ... \n");
+ g_print ("Testing %s \n", user_data->test_case);
+@@ -147,7 +147,7 @@ con_test_autodiscover()
+ user_data->test_case = g_strdup ("wrong user name ... \n");
+ g_print ("Testing %s \n", user_data->test_case);
+ user_data->quit = TRUE;
+- e_ews_autodiscover_ws_url (autodiscover_cb, user_data, wrong_username, password);
++ e_ews_autodiscover_ws_url (autodiscover_cb, user_data, wrong_username, password, NULL, NULL);
+ g_free (wrong_username);
+ }
+
+--
+cgit v0.9.0.2
Added: unstable/evolution-ews/debian/patches/14_exchange_bizarre.patch
URL: http://svn.debian.org/wsvn/pkg-evolution/unstable/evolution-ews/debian/patches/14_exchange_bizarre.patch?rev=2084&op=file
==============================================================================
--- unstable/evolution-ews/debian/patches/14_exchange_bizarre.patch (added)
+++ unstable/evolution-ews/debian/patches/14_exchange_bizarre.patch Fri Dec 16 19:51:59 2011
@@ -1,0 +1,52 @@
+From c0fb8bfcd4f2a4fad87d17c7acc6ddb0f4988dd4 Mon Sep 17 00:00:00 2001
+From: Milan Crha <mcrha at redhat.com>
+Date: Wed, 07 Dec 2011 09:30:32 +0000
+Subject: Bug #665065 - Updates changed items forever
+
+(cherry picked from commit cfe922992fcc4b30b0cc138a8a4a6c84f198c743)
+---
+diff --git a/src/camel/camel-ews-folder.c b/src/camel/camel-ews-folder.c
+index c889556..23f10ef 100644
+--- a/src/camel/camel-ews-folder.c
++++ b/src/camel/camel-ews-folder.c
+@@ -734,6 +734,11 @@ msg_update_flags (ESoapMessage *msg, gpointer user_data)
+
+ e_ews_message_end_item_change (msg);
+
++ mi->info.flags = mi->info.flags & (~CAMEL_MESSAGE_FOLDER_FLAGGED);
++ mi->info.dirty = TRUE;
++
++ camel_folder_summary_touch (mi->info.summary);
++
+ camel_message_info_free (mi);
+ }
+ /* Don't think we need to free the list; we already freed every element */
+@@ -795,7 +800,7 @@ ews_synchronize_sync (CamelFolder *folder, gboolean expunge, GCancellable *cance
+ /* OK, the change must have been the labels */
+ mi_list = g_slist_append (mi_list, mi);
+ mi_list_len++;
+- }
++ }
+
+ if (mi_list_len == EWS_MAX_FETCH_COUNT) {
+ success = ews_sync_mi_flags (folder, mi_list, cancellable, error);
+@@ -803,14 +808,16 @@ ews_synchronize_sync (CamelFolder *folder, gboolean expunge, GCancellable *cance
+ mi_list_len = 0;
+ }
+ }
+-
++
+ if (mi_list_len)
+ success = ews_sync_mi_flags (folder, mi_list, cancellable, error);
+
+ if (deleted_uids)
+ success = ews_delete_messages (folder, deleted_uids, FALSE, cancellable, error);
+
++ camel_folder_summary_save_to_db (folder->summary, NULL);
+ camel_folder_free_uids (folder, uids);
++
+ return success;
+ }
+
+--
+cgit v0.9.0.2
Added: unstable/evolution-ews/debian/patches/15_contact_crash.patch
URL: http://svn.debian.org/wsvn/pkg-evolution/unstable/evolution-ews/debian/patches/15_contact_crash.patch?rev=2084&op=file
==============================================================================
--- unstable/evolution-ews/debian/patches/15_contact_crash.patch (added)
+++ unstable/evolution-ews/debian/patches/15_contact_crash.patch Fri Dec 16 19:51:59 2011
@@ -1,0 +1,45 @@
+From f719409b369c97690e30c249f93e7c685f46489e Mon Sep 17 00:00:00 2001
+From: Milan Crha <mcrha at redhat.com>
+Date: Thu, 08 Dec 2011 08:32:52 +0000
+Subject: Avoid crash on contact parsing (part of bug #648877)
+
+---
+diff --git a/src/addressbook/e-book-backend-ews.c b/src/addressbook/e-book-backend-ews.c
+index 1c63155..405492b 100644
+--- a/src/addressbook/e-book-backend-ews.c
++++ b/src/addressbook/e-book-backend-ews.c
+@@ -183,8 +183,10 @@ ebews_populate_uid (EContact *contact, EEwsItem *item)
+ const EwsId *id;
+
+ id = e_ews_item_get_id (item);
+- e_contact_set (contact, E_CONTACT_UID, id->id);
+- e_contact_set (contact, E_CONTACT_REV, id->change_key);
++ if (id) {
++ e_contact_set (contact, E_CONTACT_UID, id->id);
++ e_contact_set (contact, E_CONTACT_REV, id->change_key);
++ }
+ }
+
+ static void
+@@ -193,7 +195,8 @@ ebews_populate_full_name (EContact *contact, EEwsItem *item)
+ const EwsCompleteName *cn;
+
+ cn = e_ews_item_get_complete_name (item);
+- e_contact_set (contact, E_CONTACT_FULL_NAME, cn->full_name);
++ if (cn)
++ e_contact_set (contact, E_CONTACT_FULL_NAME, cn->full_name);
+ }
+
+ static void
+@@ -202,7 +205,8 @@ ebews_populate_nick_name (EContact *contact, EEwsItem *item)
+ const EwsCompleteName *cn;
+
+ cn = e_ews_item_get_complete_name (item);
+- e_contact_set (contact, E_CONTACT_NICKNAME, cn->nick_name);
++ if (cn)
++ e_contact_set (contact, E_CONTACT_NICKNAME, cn->nick_name);
+ }
+
+ static void
+--
+cgit v0.9.0.2
Modified: unstable/evolution-ews/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-evolution/unstable/evolution-ews/debian/patches/series?rev=2084&op=diff
==============================================================================
--- unstable/evolution-ews/debian/patches/series (original)
+++ unstable/evolution-ews/debian/patches/series Fri Dec 16 19:51:59 2011
@@ -1,2 +1,9 @@
01_deprecated.patch
02_liblzx_noinst.patch
+10_none_server.patch
+11_deleted_inbox.patch
+12_prefill_host.patch
+13_autodiscover.patch
+14_exchange_bizarre.patch
+15_contact_crash.patch
+
More information about the pkg-evolution-commits
mailing list