Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package evolution-data-server for openSUSE:Factory checked in at 2022-08-10 17:12:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/evolution-data-server (Old) and /work/SRC/openSUSE:Factory/.evolution-data-server.new.1521 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "evolution-data-server" Wed Aug 10 17:12:53 2022 rev:238 rq:993940 version:3.44.4 Changes: -------- --- /work/SRC/openSUSE:Factory/evolution-data-server/evolution-data-server.changes 2022-07-05 12:27:14.905850601 +0200 +++ /work/SRC/openSUSE:Factory/.evolution-data-server.new.1521/evolution-data-server.changes 2022-08-10 17:13:12.477693578 +0200 @@ -1,0 +2,14 @@ +Fri Aug 5 09:00:24 UTC 2022 - Bj??rn Lie <bjorn....@gmail.com> + +- Update to version 3.44.4: + + ESoupAuthBearer: Check for token expiration in + e_soup_auth_bearer_is_authenticated(). + + ESoupSession: Avoid downgrade of Bearer (OAuth2) auth for + authentication. + + Check for non-zero value passed to g_flags_get_first_value(). + + alarm-notify: Use themed icon instead of file icon for + notifications. + + Bugs fixed: IMAPx: Unsubscribed folder always removed from the + UI. + +------------------------------------------------------------------- Old: ---- evolution-data-server-3.44.3.tar.xz New: ---- evolution-data-server-3.44.4.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ evolution-data-server.spec ++++++ --- /var/tmp/diff_new_pack.DQR07D/_old 2022-08-10 17:13:13.481696198 +0200 +++ /var/tmp/diff_new_pack.DQR07D/_new 2022-08-10 17:13:13.485696209 +0200 @@ -31,7 +31,7 @@ %bcond_without introspection Name: evolution-data-server -Version: 3.44.3 +Version: 3.44.4 Release: 0 Summary: Evolution Data Server License: LGPL-2.0-only ++++++ evolution-data-server-3.44.3.tar.xz -> evolution-data-server-3.44.4.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evolution-data-server-3.44.3/CMakeLists.txt new/evolution-data-server-3.44.4/CMakeLists.txt --- old/evolution-data-server-3.44.3/CMakeLists.txt 2022-07-01 11:18:42.000000000 +0200 +++ new/evolution-data-server-3.44.4/CMakeLists.txt 2022-08-05 09:45:35.000000000 +0200 @@ -4,7 +4,7 @@ cmake_policy(VERSION 3.1) project(evolution-data-server - VERSION 3.44.3 + VERSION 3.44.4 LANGUAGES C CXX) set(CMAKE_CXX_STANDARD 14) set(PROJECT_BUGREPORT "https://gitlab.gnome.org/GNOME/evolution-data-server/issues/") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evolution-data-server-3.44.3/NEWS new/evolution-data-server-3.44.4/NEWS --- old/evolution-data-server-3.44.3/NEWS 2022-07-01 11:18:42.000000000 +0200 +++ new/evolution-data-server-3.44.4/NEWS 2022-08-05 09:45:35.000000000 +0200 @@ -1,3 +1,15 @@ +Evolution-Data-Server 3.44.4 2022-08-05 +--------------------------------------- + +Bug Fixes: + I#407 - IMAPx: Unsubscribed folder always removed from the UI + +Miscellaneous: + ESoupAuthBearer: Check for token expiration in e_soup_auth_bearer_is_authenticated() + ESoupSession: Avoid downgrade of Bearer (OAuth2) auth for authentication + Check for non-zero value passed to g_flags_get_first_value() + alarm-notify: Use themed icon instead of file icon for notifications + Evolution-Data-Server 3.44.3 2022-07-01 --------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evolution-data-server-3.44.3/src/calendar/libecal/e-cal-client.c new/evolution-data-server-3.44.4/src/calendar/libecal/e-cal-client.c --- old/evolution-data-server-3.44.3/src/calendar/libecal/e-cal-client.c 2022-07-01 11:18:42.000000000 +0200 +++ new/evolution-data-server-3.44.4/src/calendar/libecal/e-cal-client.c 2022-08-05 09:45:35.000000000 +0200 @@ -5187,13 +5187,13 @@ mod_flags = g_string_new (NULL); flags_class = g_type_class_ref (E_TYPE_CAL_OBJ_MOD_TYPE); - flags_value = g_flags_get_first_value (flags_class, mod); - while (flags_value != NULL) { + for (flags_value = g_flags_get_first_value (flags_class, mod); + flags_value && mod; + flags_value = g_flags_get_first_value (flags_class, mod)) { if (mod_flags->len > 0) g_string_append_c (mod_flags, ':'); g_string_append (mod_flags, flags_value->value_nick); mod &= ~flags_value->value; - flags_value = g_flags_get_first_value (flags_class, mod); } strv = g_new0 (gchar *, g_slist_length (icalcomps) + 1); @@ -5549,13 +5549,13 @@ mod_flags = g_string_new (NULL); flags_class = g_type_class_ref (E_TYPE_CAL_OBJ_MOD_TYPE); - flags_value = g_flags_get_first_value (flags_class, mod); - while (flags_value != NULL) { + for (flags_value = g_flags_get_first_value (flags_class, mod); + flags_value && mod; + flags_value = g_flags_get_first_value (flags_class, mod)) { if (mod_flags->len > 0) g_string_append_c (mod_flags, ':'); g_string_append (mod_flags, flags_value->value_nick); mod &= ~flags_value->value; - flags_value = g_flags_get_first_value (flags_class, mod); } g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ss)")); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evolution-data-server-3.44.3/src/camel/providers/imapx/camel-imapx-store.c new/evolution-data-server-3.44.4/src/camel/providers/imapx/camel-imapx-store.c --- old/evolution-data-server-3.44.3/src/camel/providers/imapx/camel-imapx-store.c 2022-07-01 11:18:42.000000000 +0200 +++ new/evolution-data-server-3.44.4/src/camel/providers/imapx/camel-imapx-store.c 2022-08-05 09:45:35.000000000 +0200 @@ -3177,12 +3177,20 @@ success = camel_imapx_conn_manager_unsubscribe_mailbox_sync (conn_man, mailbox, cancellable, error); if (success) { - CamelFolderInfo *fi; + CamelSettings *settings; - fi = imapx_store_build_folder_info ( - CAMEL_IMAPX_STORE (subscribable), folder_name, 0); - camel_subscribable_folder_unsubscribed (subscribable, fi); - camel_folder_info_free (fi); + settings = camel_service_ref_settings (CAMEL_SERVICE (imapx_store)); + + /* Notify about unsubscribed folder only if showing subscribed folders only */ + if (camel_imapx_settings_get_use_subscriptions (CAMEL_IMAPX_SETTINGS (settings))) { + CamelFolderInfo *fi; + + fi = imapx_store_build_folder_info (imapx_store, folder_name, 0); + camel_subscribable_folder_unsubscribed (subscribable, fi); + camel_folder_info_free (fi); + } + + g_clear_object (&settings); } exit: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evolution-data-server-3.44.3/src/libedataserver/e-soup-auth-bearer.c new/evolution-data-server-3.44.4/src/libedataserver/e-soup-auth-bearer.c --- old/evolution-data-server-3.44.3/src/libedataserver/e-soup-auth-bearer.c 2022-07-01 11:18:42.000000000 +0200 +++ new/evolution-data-server-3.44.4/src/libedataserver/e-soup-auth-bearer.c 2022-08-05 09:45:35.000000000 +0200 @@ -120,7 +120,8 @@ g_mutex_lock (&bearer->priv->property_lock); - authenticated = (bearer->priv->access_token != NULL); + authenticated = (bearer->priv->access_token != NULL) && + !e_soup_auth_bearer_is_expired_locked (bearer); g_mutex_unlock (&bearer->priv->property_lock); @@ -213,6 +214,7 @@ { gboolean was_authenticated; gboolean now_authenticated; + gboolean changed; g_return_if_fail (E_IS_SOUP_AUTH_BEARER (bearer)); @@ -220,13 +222,12 @@ g_mutex_lock (&bearer->priv->property_lock); - if (g_strcmp0 (bearer->priv->access_token, access_token) == 0) { - g_mutex_unlock (&bearer->priv->property_lock); - return; - } + changed = g_strcmp0 (bearer->priv->access_token, access_token) != 0; - g_free (bearer->priv->access_token); - bearer->priv->access_token = g_strdup (access_token); + if (changed) { + g_free (bearer->priv->access_token); + bearer->priv->access_token = g_strdup (access_token); + } if (expires_in_seconds > 0) bearer->priv->expiry = time (NULL) + expires_in_seconds - 5; @@ -235,12 +236,12 @@ g_mutex_unlock (&bearer->priv->property_lock); - now_authenticated = soup_auth_is_authenticated (SOUP_AUTH (bearer)); + if (changed) { + now_authenticated = soup_auth_is_authenticated (SOUP_AUTH (bearer)); - if (was_authenticated != now_authenticated) - g_object_notify ( - G_OBJECT (bearer), - SOUP_AUTH_IS_AUTHENTICATED); + if (was_authenticated != now_authenticated) + g_object_notify (G_OBJECT (bearer), "is-authenticated"); + } } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evolution-data-server-3.44.3/src/libedataserver/e-soup-session.c new/evolution-data-server-3.44.4/src/libedataserver/e-soup-session.c --- old/evolution-data-server-3.44.3/src/libedataserver/e-soup-session.c 2022-07-01 11:18:42.000000000 +0200 +++ new/evolution-data-server-3.44.4/src/libedataserver/e-soup-session.c 2022-08-05 09:45:35.000000000 +0200 @@ -331,14 +331,19 @@ session = E_SOUP_SESSION (soup_session); + g_mutex_lock (&session->priv->property_lock); if (E_IS_SOUP_AUTH_BEARER (auth)) { g_object_ref (auth); g_warn_if_fail ((gpointer) session->priv->using_bearer_auth == (gpointer) auth); g_clear_object (&session->priv->using_bearer_auth); session->priv->using_bearer_auth = E_SOUP_AUTH_BEARER (auth); + } else if (session->priv->using_bearer_auth) { + /* This can mean the bearer auth expired, then a Basic auth is used by the libsoup; + that's not meant to be done here, thus fail early. */ + g_mutex_unlock (&session->priv->property_lock); + return; } - g_mutex_lock (&session->priv->property_lock); if (retrying && !session->priv->auth_prefilled) { g_mutex_unlock (&session->priv->property_lock); return; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evolution-data-server-3.44.3/src/libedataserver/e-source.c new/evolution-data-server-3.44.4/src/libedataserver/e-source.c --- old/evolution-data-server-3.44.3/src/libedataserver/e-source.c 2022-07-01 11:18:42.000000000 +0200 +++ new/evolution-data-server-3.44.4/src/libedataserver/e-source.c 2022-08-05 09:45:35.000000000 +0200 @@ -4622,7 +4622,7 @@ flags_class = g_type_class_ref (G_TYPE_TLS_CERTIFICATE_FLAGS); for (flags_value = g_flags_get_first_value (flags_class, certificate_errors); - flags_value; + flags_value && certificate_errors; flags_value = g_flags_get_first_value (flags_class, certificate_errors)) { if (certificate_errors_str->len) g_string_append_c (certificate_errors_str, ':'); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evolution-data-server-3.44.3/src/services/evolution-alarm-notify/e-alarm-notify.c new/evolution-data-server-3.44.4/src/services/evolution-alarm-notify/e-alarm-notify.c --- old/evolution-data-server-3.44.3/src/services/evolution-alarm-notify/e-alarm-notify.c 2022-07-01 11:18:42.000000000 +0200 +++ new/evolution-data-server-3.44.4/src/services/evolution-alarm-notify/e-alarm-notify.c 2022-08-05 09:45:35.000000000 +0200 @@ -325,33 +325,16 @@ if (!g_hash_table_contains (an->priv->notification_ids, notif_id)) { GNotification *notification; - GtkIconInfo *icon_info; + GIcon *icon; gchar *detailed_action; notification = g_notification_new (_("Reminders")); g_notification_set_body (notification, description); - icon_info = gtk_icon_theme_lookup_icon (gtk_icon_theme_get_default (), "appointment-soon", 48, 0); - if (icon_info) { - const gchar *filename; - - filename = gtk_icon_info_get_filename (icon_info); - if (filename && *filename) { - GFile *file; - GIcon *icon; - - file = g_file_new_for_path (filename); - icon = g_file_icon_new (file); - - if (icon) { - g_notification_set_icon (notification, icon); - g_object_unref (icon); - } - - g_object_unref (file); - } - - gtk_icon_info_free (icon_info); + icon = g_themed_icon_new ("appointment-soon"); + if (icon) { + g_notification_set_icon (notification, icon); + g_object_unref (icon); } detailed_action = g_action_print_detailed_name ("app.show-reminders", NULL);