Hello community,

here is the log from the commit of package evolution-data-server for 
openSUSE:Factory checked in at 2018-02-07 18:38:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/evolution-data-server (Old)
 and      /work/SRC/openSUSE:Factory/.evolution-data-server.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "evolution-data-server"

Wed Feb  7 18:38:34 2018 rev:183 rq:573056 version:3.26.5

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/evolution-data-server/evolution-data-server.changes  
    2018-01-16 09:28:45.475910425 +0100
+++ 
/work/SRC/openSUSE:Factory/.evolution-data-server.new/evolution-data-server.changes
 2018-02-07 18:38:35.676104962 +0100
@@ -1,0 +2,13 @@
+Mon Feb  5 13:17:05 UTC 2018 - [email protected]
+
+- Update to version 3.26.5:
+  + Prevent early free of an ESource when it has pending
+    operations.
+  + IMAPx:
+    - Select destination mailbox only when permanentflags not known
+      yet.
+    - Sort array of UIDs before syncing changes to the server.
+  + Prevent passing NULL ldap handle into LDAP functions ][.
+  + Bugs fixed: bgo#792513, bgo#789522.
+
+-------------------------------------------------------------------

Old:
----
  evolution-data-server-3.26.4.tar.xz

New:
----
  evolution-data-server-3.26.5.tar.xz

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

Other differences:
------------------
++++++ evolution-data-server.spec ++++++
--- /var/tmp/diff_new_pack.PZTy2g/_old  2018-02-07 18:38:36.452068610 +0100
+++ /var/tmp/diff_new_pack.PZTy2g/_new  2018-02-07 18:38:36.452068610 +0100
@@ -32,7 +32,7 @@
 
 Name:           evolution-data-server
 %define _evo_version 3.26
-Version:        3.26.4
+Version:        3.26.5
 Release:        0
 Summary:        Evolution Data Server
 License:        LGPL-2.1+

++++++ evolution-data-server-3.26.4.tar.xz -> 
evolution-data-server-3.26.5.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-data-server-3.26.4/CMakeLists.txt 
new/evolution-data-server-3.26.5/CMakeLists.txt
--- old/evolution-data-server-3.26.4/CMakeLists.txt     2018-01-08 
11:05:37.000000000 +0100
+++ new/evolution-data-server-3.26.5/CMakeLists.txt     2018-02-05 
11:57:20.000000000 +0100
@@ -4,7 +4,7 @@
 cmake_policy(VERSION 3.1)
 
 project(evolution-data-server
-       VERSION 3.26.4
+       VERSION 3.26.5
        LANGUAGES C CXX)
 set(PROJECT_BUGREPORT 
"http://bugzilla.gnome.org/enter_bug.cgi?product=Evolution-Data-Server";)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-data-server-3.26.4/NEWS 
new/evolution-data-server-3.26.5/NEWS
--- old/evolution-data-server-3.26.4/NEWS       2018-01-08 11:05:37.000000000 
+0100
+++ new/evolution-data-server-3.26.5/NEWS       2018-02-05 11:57:20.000000000 
+0100
@@ -1,3 +1,16 @@
+Evolution-Data-Server 3.26.5 2018-02-05
+---------------------------------------
+
+Bug Fixes:
+       Bug 792513 - [IMAPx] Deadlock after deleting messages (with real Trash) 
(Milan Crha)
+       Bug 789522 - Decode of empty base64 encoded part causes runtime 
warnings (Milan Crha)
+
+Miscellaneous:
+       Prevent early free of an ESource when it has pending operations (Milan 
Crha)
+       [IMAPx] Select destination mailbox only when permanentflags not known 
yet (Milan Crha)
+       Prevent passing NULL ldap handle into LDAP functions ][ (Milan Crha)
+       [IMAPx] Sort array of UIDs before syncing changes to the server (Milan 
Crha)
+
 Evolution-Data-Server 3.26.4 2018-01-08
 ---------------------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/evolution-data-server-3.26.4/src/addressbook/backends/ldap/e-book-backend-ldap.c
 
new/evolution-data-server-3.26.5/src/addressbook/backends/ldap/e-book-backend-ldap.c
--- 
old/evolution-data-server-3.26.4/src/addressbook/backends/ldap/e-book-backend-ldap.c
        2018-01-08 11:05:37.000000000 +0100
+++ 
new/evolution-data-server-3.26.5/src/addressbook/backends/ldap/e-book-backend-ldap.c
        2018-02-05 11:57:20.000000000 +0100
@@ -3989,8 +3989,8 @@
        ldap_memfree (dn);
        if (ldap_uid) *ldap_uid = NULL;
 
-       for (attr = ldap_first_attribute (bl->priv->ldap, e, &ber); attr;
-            attr = ldap_next_attribute (bl->priv->ldap, e, ber)) {
+       for (attr = ldap_first_attribute (bl->priv->ldap, e, &ber); attr && 
bl->priv->ldap;
+            attr = bl->priv->ldap ? ldap_next_attribute (bl->priv->ldap, e, 
ber) : NULL) {
                gint i;
                struct prop_info *info = NULL;
                gchar **values;
@@ -4032,7 +4032,6 @@
 
                        if (info) {
                                if (info->prop_type & PROP_WRITE_ONLY) {
-                                       g_rec_mutex_lock 
(&eds_ldap_handler_lock);
                                        continue;
                                }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/evolution-data-server-3.26.4/src/camel/camel-mime-filter-basic.c 
new/evolution-data-server-3.26.5/src/camel/camel-mime-filter-basic.c
--- old/evolution-data-server-3.26.4/src/camel/camel-mime-filter-basic.c        
2018-01-08 11:05:37.000000000 +0100
+++ new/evolution-data-server-3.26.5/src/camel/camel-mime-filter-basic.c        
2018-02-05 11:57:20.000000000 +0100
@@ -229,8 +229,10 @@
                g_return_if_fail (newlen <= (len + 2) * 2 + 62);
                break;
        case CAMEL_MIME_FILTER_BASIC_BASE64_DEC:
-               /* output can't possibly exceed the input size */
-               camel_mime_filter_set_size (mime_filter, len, FALSE);
+               /* Output can't possibly exceed the input size, but add 1,
+                  to make sure the mime_filter->outbuf will not be NULL,
+                  in case the input stream is empty. */
+               camel_mime_filter_set_size (mime_filter, len + 1, FALSE);
                newlen = g_base64_decode_step (
                        in, len,
                        (guchar *) mime_filter->outbuf,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/evolution-data-server-3.26.4/src/camel/providers/imapx/camel-imapx-server.c 
new/evolution-data-server-3.26.5/src/camel/providers/imapx/camel-imapx-server.c
--- 
old/evolution-data-server-3.26.4/src/camel/providers/imapx/camel-imapx-server.c 
    2018-01-08 11:05:37.000000000 +0100
+++ 
new/evolution-data-server-3.26.5/src/camel/providers/imapx/camel-imapx-server.c 
    2018-02-05 11:57:20.000000000 +0100
@@ -4306,9 +4306,11 @@
        g_return_val_if_fail (CAMEL_IS_IMAPX_MAILBOX (destination), FALSE);
        g_return_val_if_fail (uids != NULL, FALSE);
 
-       /* To get permanent flags. That's okay if the "SELECT" fails here, as 
it can be
-          due to the folder being write-only; just ignore the error and 
continue. */
-       camel_imapx_server_ensure_selected_sync (is, destination, cancellable, 
NULL);
+       if (camel_imapx_mailbox_get_permanentflags (destination) == ~0) {
+               /* To get permanent flags. That's okay if the "SELECT" fails 
here, as it can be
+                  due to the folder being write-only; just ignore the error 
and continue. */
+               camel_imapx_server_ensure_selected_sync (is, destination, 
cancellable, NULL);
+       }
 
        if (g_cancellable_set_error_if_cancelled (cancellable, error))
                return FALSE;
@@ -5419,6 +5421,7 @@
                return TRUE;
        }
 
+       camel_folder_sort_uids (folder, changed_uids);
        stamps = g_hash_table_new_full (g_str_hash, g_str_equal, 
(GDestroyNotify) camel_pstring_free, NULL);
 
        if (can_influence_flags) {
@@ -5451,6 +5454,8 @@
        if (changed_uids->len > 20)
                camel_folder_summary_prepare_fetch_all 
(camel_folder_get_folder_summary (folder), NULL);
 
+       camel_folder_summary_lock (camel_folder_get_folder_summary (folder));
+
        off_orset = on_orset = 0;
        for (i = 0; i < changed_uids->len; i++) {
                CamelIMAPXMessageInfo *xinfo;
@@ -5580,6 +5585,8 @@
                g_clear_object (&info);
        }
 
+       camel_folder_summary_unlock (camel_folder_get_folder_summary (folder));
+
        nothing_to_do =
                (on_orset == 0) &&
                (off_orset == 0) &&
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/evolution-data-server-3.26.4/src/libedataserver/e-source.c 
new/evolution-data-server-3.26.5/src/libedataserver/e-source.c
--- old/evolution-data-server-3.26.4/src/libedataserver/e-source.c      
2018-01-08 11:05:37.000000000 +0100
+++ new/evolution-data-server-3.26.5/src/libedataserver/e-source.c      
2018-02-05 11:57:20.000000000 +0100
@@ -137,9 +137,6 @@
        GMutex connection_status_change_lock;
        ESourceConnectionStatus connection_status;
 
-       GSource *credentials_required_call;
-       GMutex credentials_required_call_lock;
-
        GMutex property_lock;
 
        gchar *display_name;
@@ -913,7 +910,7 @@
                g_source_set_callback (
                        source->priv->connection_status_change,
                        source_idle_connection_status_change_cb,
-                       source, NULL);
+                       g_object_ref (source), g_object_unref);
                g_source_attach (
                        source->priv->connection_status_change,
                        source->priv->main_context);
@@ -1227,6 +1224,13 @@
 
        priv = E_SOURCE_GET_PRIVATE (object);
 
+       /* Lock & unlock to make sure any pending operations in other threads
+          which use this lock are already done */
+       g_rec_mutex_lock (&priv->lock);
+       g_rec_mutex_unlock (&priv->lock);
+
+       g_mutex_lock (&priv->property_lock);
+
        if (priv->dbus_object != NULL) {
                EDBusObject *dbus_object;
                EDBusSource *dbus_source;
@@ -1245,6 +1249,8 @@
                priv->dbus_object = NULL;
        }
 
+       g_mutex_unlock (&priv->property_lock);
+
        if (priv->main_context != NULL) {
                g_main_context_unref (priv->main_context);
                priv->main_context = NULL;
@@ -1267,14 +1273,6 @@
        }
        g_mutex_unlock (&priv->connection_status_change_lock);
 
-       g_mutex_lock (&priv->credentials_required_call_lock);
-       if (priv->credentials_required_call != NULL) {
-               g_source_destroy (priv->credentials_required_call);
-               g_source_unref (priv->credentials_required_call);
-               priv->credentials_required_call = NULL;
-       }
-       g_mutex_unlock (&priv->credentials_required_call_lock);
-
        g_hash_table_remove_all (priv->extensions);
 
        /* Chain up to parent's dispose() method. */
@@ -1290,7 +1288,6 @@
 
        g_mutex_clear (&priv->changed_lock);
        g_mutex_clear (&priv->connection_status_change_lock);
-       g_mutex_clear (&priv->credentials_required_call_lock);
        g_mutex_clear (&priv->property_lock);
 
        g_free (priv->display_name);
@@ -2436,7 +2433,6 @@
        source->priv = E_SOURCE_GET_PRIVATE (source);
        g_mutex_init (&source->priv->changed_lock);
        g_mutex_init (&source->priv->connection_status_change_lock);
-       g_mutex_init (&source->priv->credentials_required_call_lock);
        g_mutex_init (&source->priv->property_lock);
        source->priv->key_file = g_key_file_new ();
        source->priv->extensions = extensions;
@@ -2617,7 +2613,7 @@
                g_source_set_callback (
                        source->priv->changed,
                        source_idle_changed_cb,
-                       source, (GDestroyNotify) NULL);
+                       g_object_ref (source), g_object_unref);
                g_source_attach (
                        source->priv->changed,
                        source->priv->main_context);


Reply via email to