Hello community,

here is the log from the commit of package evolution-ews for openSUSE:Factory 
checked in at 2014-11-18 22:46:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/evolution-ews (Old)
 and      /work/SRC/openSUSE:Factory/.evolution-ews.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "evolution-ews"

Changes:
--------
--- /work/SRC/openSUSE:Factory/evolution-ews/evolution-ews.changes      
2014-10-14 07:13:29.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.evolution-ews.new/evolution-ews.changes 
2014-11-18 22:47:15.000000000 +0100
@@ -1,0 +2,8 @@
+Tue Nov 11 21:25:40 UTC 2014 - zai...@opensuse.org
+
+- Update to version 3.12.8:
+  + Use G_IO_ERROR_CANCELLED instead of
+    EWS_CONNECTION_ERROR_CANCELLED.
+  + Bugs fixed: bgo#738987, bgo#691293.
+
+-------------------------------------------------------------------

Old:
----
  evolution-ews-3.12.7.tar.xz

New:
----
  evolution-ews-3.12.8.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ evolution-ews.spec ++++++
--- /var/tmp/diff_new_pack.LErlhk/_old  2014-11-18 22:47:16.000000000 +0100
+++ /var/tmp/diff_new_pack.LErlhk/_new  2014-11-18 22:47:16.000000000 +0100
@@ -19,7 +19,7 @@
 Name:           evolution-ews
 # This should be updated upon major version changes; it should match 
BASE_VERSION as defined in configure.in.
 %define evolution_base_version 3.12
-Version:        3.12.7
+Version:        3.12.8
 Release:        0
 Summary:        Exchange Connector for Evolution, compatible with Exchange 
2007 and later
 License:        LGPL-2.1

++++++ evolution-ews-3.12.7.tar.xz -> evolution-ews-3.12.8.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.12.7/NEWS 
new/evolution-ews-3.12.8/NEWS
--- old/evolution-ews-3.12.7/NEWS       2014-10-13 09:18:22.000000000 +0200
+++ new/evolution-ews-3.12.8/NEWS       2014-11-10 08:19:24.000000000 +0100
@@ -1,3 +1,13 @@
+Evolution-EWS 3.12.8 2014-11-10
+-------------------------------
+
+Bug Fixes:
+       Bug 738987 - Crash under e_ews_notification_unsubscribe_folder_sync() 
(Milan Crha)
+       Bug 691293 - Claim old resources in offline mode (Milan Crha)
+
+Miscellaneous:
+       Use G_IO_ERROR_CANCELLED instead of EWS_CONNECTION_ERROR_CANCELLED 
(Milan Crha)
+
 Evolution-EWS 3.12.7 2014-10-13
 -------------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.12.7/configure 
new/evolution-ews-3.12.8/configure
--- old/evolution-ews-3.12.7/configure  2014-10-13 09:19:11.000000000 +0200
+++ new/evolution-ews-3.12.8/configure  2014-11-10 08:20:20.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for evolution-ews 3.12.7.
+# Generated by GNU Autoconf 2.69 for evolution-ews 3.12.8.
 #
 # Report bugs to <http://bugzilla.gnome.org/browse.cgi?product=evolution-ews>.
 #
@@ -591,8 +591,8 @@
 # Identity of this package.
 PACKAGE_NAME='evolution-ews'
 PACKAGE_TARNAME='evolution-ews'
-PACKAGE_VERSION='3.12.7'
-PACKAGE_STRING='evolution-ews 3.12.7'
+PACKAGE_VERSION='3.12.8'
+PACKAGE_STRING='evolution-ews 3.12.8'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/browse.cgi?product=evolution-ews'
 PACKAGE_URL=''
 
@@ -1499,7 +1499,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures evolution-ews 3.12.7 to adapt to many kinds of systems.
+\`configure' configures evolution-ews 3.12.8 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1569,7 +1569,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of evolution-ews 3.12.7:";;
+     short | recursive ) echo "Configuration of evolution-ews 3.12.8:";;
    esac
   cat <<\_ACEOF
 
@@ -1768,7 +1768,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-evolution-ews configure 3.12.7
+evolution-ews configure 3.12.8
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2137,7 +2137,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by evolution-ews $as_me 3.12.7, which was
+It was created by evolution-ews $as_me 3.12.8, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3000,7 +3000,7 @@
 
 # Define the identity of the package.
  PACKAGE='evolution-ews'
- VERSION='3.12.7'
+ VERSION='3.12.8'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3197,11 +3197,11 @@
 # precisely one minor behind [ews_version], then allow building against *that*
 # version of EDS and Evo.
 read x NEWSVER y < NEWS
-PREVVER=3.12.$(expr 7 - 1)
+PREVVER=3.12.$(expr 8 - 1)
 if test "$PREVVER" = "$NEWSVER"; then
    EVOREQVER=$PREVVER
 else
-   EVOREQVER=3.12.7
+   EVOREQVER=3.12.8
 fi
 
 
@@ -16705,7 +16705,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by evolution-ews $as_me 3.12.7, which was
+This file was extended by evolution-ews $as_me 3.12.8, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16771,7 +16771,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-evolution-ews config.status 3.12.7
+evolution-ews config.status 3.12.8
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.12.7/configure.ac 
new/evolution-ews-3.12.8/configure.ac
--- old/evolution-ews-3.12.7/configure.ac       2014-09-17 20:19:02.000000000 
+0200
+++ new/evolution-ews-3.12.8/configure.ac       2014-10-14 15:47:12.000000000 
+0200
@@ -1,7 +1,7 @@
 dnl Evolution-EWS version
 m4_define([ews_major_version], [3])
 m4_define([ews_minor_version], [12])
-m4_define([ews_micro_version], [7])
+m4_define([ews_micro_version], [8])
 
 m4_define([ews_version],
        [ews_major_version.ews_minor_version.ews_micro_version])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/evolution-ews-3.12.7/src/addressbook/e-book-backend-ews.c 
new/evolution-ews-3.12.8/src/addressbook/e-book-backend-ews.c
--- old/evolution-ews-3.12.7/src/addressbook/e-book-backend-ews.c       
2014-09-17 22:25:28.000000000 +0200
+++ new/evolution-ews-3.12.8/src/addressbook/e-book-backend-ews.c       
2014-11-06 14:30:58.000000000 +0100
@@ -184,8 +184,6 @@
                case EWS_CONNECTION_ERROR_AUTHENTICATION_FAILED:
                        error = EDB_ERROR_EX (AUTHENTICATION_FAILED, 
(*perror)->message);
                        break;
-               case EWS_CONNECTION_ERROR_CANCELLED:
-                       break;
                case EWS_CONNECTION_ERROR_FOLDERNOTFOUND:
                case EWS_CONNECTION_ERROR_MANAGEDFOLDERNOTFOUND:
                case EWS_CONNECTION_ERROR_PARENTFOLDERNOTFOUND:
@@ -3280,6 +3278,17 @@
                        E_BACKEND (backend),
                        E_SOURCE_AUTHENTICATOR (backend),
                        cancellable, &error);
+               if (g_error_matches (error, EWS_CONNECTION_ERROR, 
EWS_CONNECTION_ERROR_NORESPONSE)) {
+                       /* possibly server unreachable, try offline */
+                       if (priv->summary)
+                               e_book_sqlite_get_key_value_int (priv->summary, 
E_BOOK_SQL_IS_POPULATED_KEY, &is_populated, NULL);
+                       if (is_populated) {
+                               g_clear_error (&error);
+                               fetch_from_offline (ebews, book_view, query, 
cancellable, &error);
+                               goto out;
+                       }
+               }
+
                if (error != NULL)
                        goto out;
        }
@@ -3861,7 +3870,7 @@
        ews_settings = book_backend_ews_get_collection_settings (ebews);
 
        PRIV_LOCK (priv);
-       need_to_authenticate = priv->cnc == NULL && e_backend_get_online 
(E_BACKEND (backend));
+       need_to_authenticate = priv->cnc == NULL && 
e_backend_is_destination_reachable (E_BACKEND (backend), cancellable, NULL);
        PRIV_UNLOCK (priv);
 
        if (need_to_authenticate &&
@@ -3889,11 +3898,6 @@
        if (priv->listen_notifications)
                ebews_listen_notifications_cb (ebews, NULL, ews_settings);
 
-       g_signal_connect_swapped (
-               priv->cnc,
-               "server-notification",
-               G_CALLBACK (ebews_server_notification_cb),
-               ebews);
        PRIV_UNLOCK (priv);
 
        g_signal_connect_swapped (
@@ -4111,6 +4115,12 @@
                backend->priv->cnc = g_object_ref (connection);
                backend->priv->is_writable = !backend->priv->is_gal;
 
+               g_signal_connect_swapped (
+                       backend->priv->cnc,
+                       "server-notification",
+                       G_CALLBACK (ebews_server_notification_cb),
+                       backend);
+
                PRIV_UNLOCK (backend->priv);
 
                e_backend_set_online (E_BACKEND (backend), TRUE);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/evolution-ews-3.12.7/src/calendar/e-cal-backend-ews.c 
new/evolution-ews-3.12.8/src/calendar/e-cal-backend-ews.c
--- old/evolution-ews-3.12.7/src/calendar/e-cal-backend-ews.c   2014-09-01 
16:50:38.000000000 +0200
+++ new/evolution-ews-3.12.8/src/calendar/e-cal-backend-ews.c   2014-11-06 
14:28:31.000000000 +0100
@@ -190,8 +190,6 @@
                case EWS_CONNECTION_ERROR_AUTHENTICATION_FAILED:
                        error = EDC_ERROR_EX (AuthenticationFailed, 
(*perror)->message);
                        break;
-               case EWS_CONNECTION_ERROR_CANCELLED:
-                       break;
                case EWS_CONNECTION_ERROR_FOLDERNOTFOUND:
                case EWS_CONNECTION_ERROR_MANAGEDFOLDERNOTFOUND:
                case EWS_CONNECTION_ERROR_PARENTFOLDERNOTFOUND:
@@ -782,7 +780,7 @@
 
        need_to_authenticate =
                (priv->cnc == NULL) &&
-               (e_backend_get_online (E_BACKEND (backend)));
+               (e_backend_is_destination_reachable (E_BACKEND (backend), 
cancellable, NULL));
 
        PRIV_UNLOCK (priv);
 
@@ -801,12 +799,6 @@
 
                        if (priv->listen_notifications)
                                cbews_listen_notifications_cb (cbews, NULL, 
ews_settings);
-
-                       g_signal_connect_swapped (
-                               priv->cnc,
-                               "server-notification",
-                               G_CALLBACK (cbews_server_notification_cb),
-                               cbews);
                }
                PRIV_UNLOCK (priv);
        }
@@ -4249,6 +4241,12 @@
                        g_object_unref (backend->priv->cnc);
                backend->priv->cnc = g_object_ref (connection);
 
+               g_signal_connect_swapped (
+                       backend->priv->cnc,
+                       "server-notification",
+                       G_CALLBACK (cbews_server_notification_cb),
+                       backend);
+
                PRIV_UNLOCK (backend->priv);
 
                ews_start_sync (backend);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.12.7/src/collection/e-ews-backend.c 
new/evolution-ews-3.12.8/src/collection/e-ews-backend.c
--- old/evolution-ews-3.12.7/src/collection/e-ews-backend.c     2014-10-10 
14:14:55.000000000 +0200
+++ new/evolution-ews-3.12.8/src/collection/e-ews-backend.c     2014-11-06 
14:28:31.000000000 +0100
@@ -394,6 +394,7 @@
                g_object_unref (server);
 
                if (source != NULL) {
+                       e_source_set_enabled (source, TRUE);
                        g_object_unref (source);
                        return;
                }
@@ -430,6 +431,7 @@
 
        source = e_collection_backend_new_child (
                collection_backend, oal_id);
+       e_source_set_enabled (source, TRUE);
 
        e_source_set_display_name (source, display_name);
 
@@ -463,48 +465,21 @@
        g_object_unref (source);
 }
 
+static void ews_backend_populate (ECollectionBackend *backend);
+
 static void
 ews_backend_source_changed_cb (ESource *source,
                                EEwsBackend *backend)
 {
-       CamelEwsSettings *settings;
-       const gchar *oal_selected;
-       const gchar *gal_uid;
-
        if (!e_source_get_enabled (source)) {
                backend->priv->need_update_folders = TRUE;
                return;
        }
 
-       if (!e_backend_get_online (E_BACKEND (backend)) ||
-           !backend->priv->need_update_folders)
-               return;
-
-       settings = ews_backend_get_settings (backend);
-       gal_uid = camel_ews_settings_get_gal_uid (settings);
-       oal_selected = camel_ews_settings_get_oal_selected (settings);
-
-       if (g_strcmp0 (oal_selected, backend->priv->oal_selected) == 0)
+       if (!backend->priv->need_update_folders)
                return;
 
-       /* Remove the old Global Address List source if present. */
-       if (gal_uid != NULL) {
-               ECollectionBackend *collection_backend;
-               ESourceRegistryServer *server;
-
-               collection_backend = E_COLLECTION_BACKEND (backend);
-               server = e_collection_backend_ref_server (collection_backend);
-               source = e_source_registry_server_ref_source (server, gal_uid);
-
-               if (source != NULL) {
-                       e_source_registry_server_remove_source (server, source);
-                       g_object_unref (source);
-               }
-
-               camel_ews_settings_set_gal_uid (settings, NULL);
-       }
-
-       ews_backend_add_gal_source (backend);
+       ews_backend_populate (E_COLLECTION_BACKEND (backend));
 }
 
 static void
@@ -652,6 +627,43 @@
 }
 
 static void
+ews_backend_claim_old_resources (ECollectionBackend *backend)
+{
+       ESourceRegistryServer *registry;
+       GList *old_resources, *iter;
+
+       g_return_if_fail (E_IS_COLLECTION_BACKEND (backend));
+
+       registry = e_collection_backend_ref_server (backend);
+       old_resources = e_collection_backend_claim_all_resources (backend);
+
+       for (iter = old_resources; iter; iter = g_list_next (iter)) {
+               ESource *source = iter->data;
+
+               e_source_set_enabled (source, TRUE);
+               e_source_registry_server_add_source (registry, source);
+       }
+
+       g_list_free_full (old_resources, g_object_unref);
+       g_clear_object (&registry);
+}
+
+static void
+ews_backend_folders_synced_cb (GObject *source,
+                              GAsyncResult *result,
+                              gpointer user_data)
+{
+       EEwsBackend *ews_backend;
+
+       g_return_if_fail (E_IS_EWS_BACKEND (source));
+
+       ews_backend = E_EWS_BACKEND (source);
+
+       if (!e_ews_backend_sync_folders_finish (ews_backend, result, NULL))
+               ews_backend_claim_old_resources (E_COLLECTION_BACKEND 
(ews_backend));
+}
+
+static void
 ews_backend_populate (ECollectionBackend *backend)
 {
        ESource *source;
@@ -661,20 +673,21 @@
 
        ews_backend->priv->need_update_folders = TRUE;
 
-       /* do not do anything, if account is disabled */
-       if (!e_source_get_enabled (source))
-               return;
-
        if (!ews_backend->priv->notify_online_id)
                ews_backend->priv->notify_online_id = g_signal_connect (
                        backend, "notify::online",
                        G_CALLBACK (ews_backend_populate), NULL);
 
-       /* For now at least, we don't need to know the
-        * results, so no callback function is needed. */
-       e_ews_backend_sync_folders (ews_backend, NULL, NULL, NULL);
+       /* do not do anything, if account is disabled */
+       if (!e_source_get_enabled (source))
+               return;
 
        ews_backend_add_gal_source (ews_backend);
+
+       if (e_backend_get_online (E_BACKEND (backend)))
+               e_ews_backend_sync_folders (ews_backend, NULL, 
ews_backend_folders_synced_cb, NULL);
+       else
+               ews_backend_claim_old_resources (backend);
 }
 
 static gchar *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.12.7/src/server/e-ews-connection.c 
new/evolution-ews-3.12.8/src/server/e-ews-connection.c
--- old/evolution-ews-3.12.7/src/server/e-ews-connection.c      2014-08-11 
09:12:45.000000000 +0200
+++ new/evolution-ews-3.12.8/src/server/e-ews-connection.c      2014-10-30 
19:32:37.000000000 +0100
@@ -736,8 +736,8 @@
 
        g_simple_async_result_set_error (
                simple,
-               EWS_CONNECTION_ERROR,
-               EWS_CONNECTION_ERROR_CANCELLED,
+               G_IO_ERROR,
+               G_IO_ERROR_CANCELLED,
                _("Operation Cancelled"));
        if (found) {
                ews_connection_schedule_cancel_message (cnc, SOUP_MESSAGE 
(msg));
@@ -9403,14 +9403,15 @@
 
        e_ews_notification_stop_listening_sync (cnc->priv->notification);
 
-       g_clear_object (&cnc->priv->notification);
-
        g_slist_free_full (cnc->priv->subscribed_folders, g_free);
        cnc->priv->subscribed_folders = NULL;
 
        g_hash_table_foreach (cnc->priv->subscriptions, 
ews_connection_build_subscribed_folders_list, cnc);
-       if (cnc->priv->subscribed_folders != NULL)
+       if (cnc->priv->subscribed_folders != NULL) {
                e_ews_notification_start_listening_sync 
(cnc->priv->notification, cnc->priv->subscribed_folders);
+       } else {
+               g_clear_object (&cnc->priv->notification);
+       }
 
 exit:
        NOTIFICATION_UNLOCK (cnc);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.12.7/src/server/e-ews-notification.c 
new/evolution-ews-3.12.8/src/server/e-ews-notification.c
--- old/evolution-ews-3.12.7/src/server/e-ews-notification.c    2014-08-11 
09:12:45.000000000 +0200
+++ new/evolution-ews-3.12.8/src/server/e-ews-notification.c    2014-10-30 
19:32:37.000000000 +0100
@@ -202,6 +202,7 @@
                g_signal_handlers_disconnect_by_func (
                        priv->soup_session,
                        ews_notification_authenticate, object);
+               g_clear_object (&priv->soup_session);
        }
 
        if (priv->cancellable != NULL)
@@ -318,6 +319,10 @@
        g_return_val_if_fail (notification != NULL, FALSE);
        g_return_val_if_fail (notification->priv != NULL, FALSE);
 
+       /* Can happen during process shutdown */
+       if (!notification->priv->connection)
+               return FALSE;
+
        msg = e_ews_message_new_with_header (
                e_ews_connection_get_uri (notification->priv->connection),
                e_ews_connection_get_impersonate_user 
(notification->priv->connection),
@@ -435,6 +440,10 @@
        g_return_val_if_fail (notification != NULL, FALSE);
        g_return_val_if_fail (notification->priv != NULL, FALSE);
 
+       /* Can happen during process shutdown */
+       if (!notification->priv->connection)
+               return FALSE;
+
        msg = e_ews_message_new_with_header (
                e_ews_connection_get_uri (notification->priv->connection),
                e_ews_connection_get_impersonate_user 
(notification->priv->connection),
@@ -616,7 +625,8 @@
        }
 
        if (events != NULL) {
-               g_signal_emit_by_name (notification->priv->connection, 
"server-notification", events);
+               if (notification->priv->connection)
+                       g_signal_emit_by_name (notification->priv->connection, 
"server-notification", events);
                g_slist_free_full (events, (GDestroyNotify) 
e_ews_notification_event_free);
        }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.12.7/src/server/ews-errors.h 
new/evolution-ews-3.12.8/src/server/ews-errors.h
--- old/evolution-ews-3.12.7/src/server/ews-errors.h    2014-03-24 
10:28:36.000000000 +0100
+++ new/evolution-ews-3.12.8/src/server/ews-errors.h    2014-10-30 
12:32:39.000000000 +0100
@@ -299,7 +299,6 @@
        EWS_CONNECTION_ERROR_WIN32INTEROPERROR,
        /* Below this point are no longer direct translations of EWS errors */
        EWS_CONNECTION_ERROR_NORESPONSE,
-       EWS_CONNECTION_ERROR_CANCELLED,
        EWS_CONNECTION_ERROR_AUTHENTICATION_FAILED,
        EWS_CONNECTION_ERROR_UNKNOWN
 };

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to