import evolution-data-server-3.28.5-11.el8

This commit is contained in:
CentOS Sources 2019-11-05 16:26:46 -05:00 committed by Andrew Lukoshko
parent c62d5d925c
commit 160904086e
3 changed files with 97 additions and 24 deletions

View File

@ -0,0 +1,18 @@
diff -up evolution-data-server-3.28.5/src/libedataserver/e-data-server-util.c.cve-2019-3890 evolution-data-server-3.28.5/src/libedataserver/e-data-server-util.c
--- evolution-data-server-3.28.5/src/libedataserver/e-data-server-util.c.cve-2019-3890 2019-04-15 09:25:49.273786456 +0200
+++ evolution-data-server-3.28.5/src/libedataserver/e-data-server-util.c 2019-04-15 09:35:00.784778830 +0200
@@ -3147,11 +3147,13 @@ e_util_can_use_collection_as_credential_
if (can_use_collection) {
gchar *method_source, *method_collection;
- /* Also check the method; if different, then rather not use the collection */
+ /* Also check the method; if different, then rather not use the collection.
+ Consider 'none' method on the child as the same as the collection method. */
method_source = e_source_authentication_dup_method (auth_source);
method_collection = e_source_authentication_dup_method (auth_collection);
can_use_collection = !method_source || !method_collection ||
+ g_ascii_strcasecmp (method_source, "none") == 0 ||
g_ascii_strcasecmp (method_source, method_collection) == 0;
g_free (method_source);

View File

@ -1,22 +1,55 @@
From 5eaebbe5c1fd81baf93c2f8d3aeafa49abc92af6 Mon Sep 17 00:00:00 2001
From: Milan Crha <mcrha@redhat.com>
Date: Tue, 13 Nov 2018 10:36:37 +0100
Subject: test-cal-client-get-revision could fail due to delayed D-Bus property
change notification
The test had been mostly working, except cases when the delivery
of a D-Bus property change signal had been delayed. Then the value
on the client side was not the same as the value on the server side.
There's a very similar test for EBookClient, which does slightly more
things, which gives D-Bus enough time to deliver the property change
to the client, thus this change adds the component removal to address it.
diff --git a/tests/libebook/client/test-book-client-get-revision.c b/tests/libebook/client/test-book-client-get-revision.c
index 601c5e8c5..8995f0659 100644
--- a/tests/libebook/client/test-book-client-get-revision.c
+++ b/tests/libebook/client/test-book-client-get-revision.c
@@ -50,7 +50,7 @@ get_revision_compare_cycle (EBookClient *client)
diff -up evolution-data-server-3.28.5/src/addressbook/libedata-book/e-data-book.c.test-cal-client-get-revision evolution-data-server-3.28.5/src/addressbook/libedata-book/e-data-book.c
--- evolution-data-server-3.28.5/src/addressbook/libedata-book/e-data-book.c.test-cal-client-get-revision 2018-07-30 15:17:06.000000000 +0200
+++ evolution-data-server-3.28.5/src/addressbook/libedata-book/e-data-book.c 2019-05-23 19:31:07.484064234 +0200
@@ -1856,6 +1856,12 @@ e_data_book_report_backend_property_chan
g_strfreev (strv);
}
+ /* Ensure the property change signal on the D-Bus is invoked immediately, not on idle */
+ g_dbus_interface_skeleton_flush (G_DBUS_INTERFACE_SKELETON (dbus_interface));
+
+ if (book->priv->connection && !g_dbus_connection_is_closed (book->priv->connection))
+ g_dbus_connection_flush_sync (book->priv->connection, NULL, NULL);
+
/* Disregard anything else. */
}
diff -up evolution-data-server-3.28.5/src/calendar/libedata-cal/e-data-cal.c.test-cal-client-get-revision evolution-data-server-3.28.5/src/calendar/libedata-cal/e-data-cal.c
--- evolution-data-server-3.28.5/src/calendar/libedata-cal/e-data-cal.c.test-cal-client-get-revision 2018-07-30 15:17:06.000000000 +0200
+++ evolution-data-server-3.28.5/src/calendar/libedata-cal/e-data-cal.c 2019-05-23 19:31:07.485064234 +0200
@@ -2470,6 +2470,12 @@ e_data_cal_report_backend_property_chang
if (g_str_equal (prop_name, CAL_BACKEND_PROPERTY_DEFAULT_OBJECT))
e_dbus_calendar_set_default_object (dbus_interface, prop_value);
+ /* Ensure the property change signal on the D-Bus is invoked immediately, not on idle */
+ g_dbus_interface_skeleton_flush (G_DBUS_INTERFACE_SKELETON (dbus_interface));
+
+ if (cal->priv->connection && !g_dbus_connection_is_closed (cal->priv->connection))
+ g_dbus_connection_flush_sync (cal->priv->connection, NULL, NULL);
+
/* Disregard anything else. */
}
diff -up evolution-data-server-3.28.5/tests/libebook/client/test-book-client-get-revision.c.test-cal-client-get-revision evolution-data-server-3.28.5/tests/libebook/client/test-book-client-get-revision.c
--- evolution-data-server-3.28.5/tests/libebook/client/test-book-client-get-revision.c.test-cal-client-get-revision 2018-07-30 15:17:06.000000000 +0200
+++ evolution-data-server-3.28.5/tests/libebook/client/test-book-client-get-revision.c 2019-05-23 19:31:07.485064234 +0200
@@ -48,9 +48,22 @@ get_revision_compare_cycle (EBookClient
if (!e_client_get_backend_property_sync (E_CLIENT (client), CLIENT_BACKEND_PROPERTY_REVISION, &revision_after, NULL, &error))
g_error ("Error getting book revision: %s", error->message);
+ /* Sometimes, kind of rarely, the D-Bus property change is not delivered on time,
+ thus give it some time to be received and processed. */
+ if (g_strcmp0 (revision_before, revision_after) == 0) {
+ g_message (" D-Bus property 'revision' change not received yet, trying to wait a bit");
+
+ g_usleep (G_USEC_PER_SEC / 2);
+
+ g_clear_pointer (&revision_after, g_free);
+
+ if (!e_client_get_backend_property_sync (E_CLIENT (client), CLIENT_BACKEND_PROPERTY_REVISION, &revision_after, NULL, &error))
+ g_error ("Error getting book revision: %s", error->message);
+ }
+
g_assert (revision_before);
g_assert (revision_after);
- g_assert (strcmp (revision_before, revision_after) != 0);
@ -24,11 +57,10 @@ index 601c5e8c5..8995f0659 100644
g_message (
"Passed cycle, revision before '%s' revision after '%s'",
diff --git a/tests/libecal/client/test-cal-client-get-revision.c b/tests/libecal/client/test-cal-client-get-revision.c
index 305f15f0b..96887a360 100644
--- a/tests/libecal/client/test-cal-client-get-revision.c
+++ b/tests/libecal/client/test-cal-client-get-revision.c
@@ -42,18 +42,21 @@ get_revision_compare_cycle (ECalClient *client)
diff -up evolution-data-server-3.28.5/tests/libecal/client/test-cal-client-get-revision.c.test-cal-client-get-revision evolution-data-server-3.28.5/tests/libecal/client/test-cal-client-get-revision.c
--- evolution-data-server-3.28.5/tests/libecal/client/test-cal-client-get-revision.c.test-cal-client-get-revision 2018-07-30 15:17:06.000000000 +0200
+++ evolution-data-server-3.28.5/tests/libecal/client/test-cal-client-get-revision.c 2019-05-23 19:31:07.485064234 +0200
@@ -42,18 +42,34 @@ get_revision_compare_cycle (ECalClient *
if (!e_client_get_backend_property_sync (E_CLIENT (client), CLIENT_BACKEND_PROPERTY_REVISION,
&revision_before, NULL, &error))
@ -45,6 +77,19 @@ index 305f15f0b..96887a360 100644
&revision_after, NULL, &error))
- g_error ("Error getting book revision: %s", error->message);
+ g_error ("Error getting calendar revision: %s", error->message);
+
+ /* Sometimes, kind of rarely, the D-Bus property change is not delivered on time,
+ thus give it some time to be received and processed. */
+ if (g_strcmp0 (revision_before, revision_after) == 0) {
+ g_message (" D-Bus property 'revision' change not received yet, trying to wait a bit");
+
+ g_usleep (G_USEC_PER_SEC / 2);
+
+ g_clear_pointer (&revision_after, g_free);
+
+ if (!e_client_get_backend_property_sync (E_CLIENT (client), CLIENT_BACKEND_PROPERTY_REVISION, &revision_after, NULL, &error))
+ g_error ("Error getting book revision: %s", error->message);
+ }
g_assert (revision_before);
g_assert (revision_after);

View File

@ -32,7 +32,7 @@
Name: evolution-data-server
Version: 3.28.5
Release: 9%{?dist}
Release: 11%{?dist}
Group: System Environment/Libraries
Summary: Backend data server for Evolution
License: LGPLv2+
@ -73,6 +73,9 @@ Patch06: evolution-data-server-3.28.5-tests-cal-client-get-revision.patch
# RH bug #1655030
Patch07: evolution-data-server-3.28.5-vcard-attr-param-struct-reff.patch
# RH bug #1696763
Patch08: evolution-data-server-3.28.5-cve-2019-3890.patch
### Dependencies ###
Requires: dconf
@ -199,6 +202,7 @@ the functionality of the installed %{name} package.
%patch05 -p1 -b .vcard-remove-param-value
%patch06 -p1 -b .tests-cal-client-get-revision
%patch07 -p1 -b .vcard-attr-param-struct-reff
%patch08 -p1 -b .cve-2019-3890
%build
@ -460,6 +464,12 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
%{_datadir}/installed-tests
%changelog
* Mon May 27 2019 Milan Crha <mcrha@redhat.com> - 3.28.5-11
- Update patch for RH bug #1713619 (test-cal-client-get-revision could fail due to delayed D-Bus property change notification)
* Mon Apr 15 2019 Milan Crha <mcrha@redhat.com> - 3.28.5-10
- Add patch related to evolution-ews' CVE-2019-3890 (RH bug #1696763)
* Tue Dec 04 2018 Milan Crha <mcrha@redhat.com> - 3.28.5-9
- Update patch for RH bug #1654203 (Make tests retry when factory doesn't know about added ESource yet)