import evolution-data-server-3.28.5-11.el8
This commit is contained in:
parent
c62d5d925c
commit
160904086e
18
SOURCES/evolution-data-server-3.28.5-cve-2019-3890.patch
Normal file
18
SOURCES/evolution-data-server-3.28.5-cve-2019-3890.patch
Normal 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);
|
@ -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
|
||||
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);
|
||||
}
|
||||
|
||||
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.
|
||||
+ /* 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 --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/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);
|
||||
|
@ -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)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user