Hello community,

here is the log from the commit of package evolution-ews for openSUSE:Leap:15.2 
checked in at 2020-03-09 18:11:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/evolution-ews (Old)
 and      /work/SRC/openSUSE:Leap:15.2/.evolution-ews.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "evolution-ews"

Mon Mar  9 18:11:46 2020 rev:39 rq:779715 version:3.34.4

Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/evolution-ews/evolution-ews.changes    
2020-01-30 14:49:05.542860721 +0100
+++ /work/SRC/openSUSE:Leap:15.2/.evolution-ews.new.26092/evolution-ews.changes 
2020-03-09 18:11:46.981232451 +0100
@@ -1,0 +2,15 @@
+Fri Feb 14 09:57:08 UTC 2020 - Bjørn Lie <[email protected]>
+
+- Update to version 3.34.4:
+  + Bugs fixed:
+    - Fails to create event with no duration.
+    - Map 'tzone://Microsoft/Utc' to libical's 'UTC'.
+
+-------------------------------------------------------------------
+Sun Jan  5 14:27:14 UTC 2020 - Bjørn Lie <[email protected]>
+
+- Update to version 3.34.3:
+  + Bug Fixes: glgo#GNOME-evolution-ews#81: Attachment flag not
+    shown on messages with attachment.
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ evolution-ews.spec ++++++
--- /var/tmp/diff_new_pack.PnQxbz/_old  2020-03-09 18:11:47.341232967 +0100
+++ /var/tmp/diff_new_pack.PnQxbz/_new  2020-03-09 18:11:47.345232973 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package evolution-ews
 #
-# Copyright (c) 2019 SUSE LLC
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
 %define _version %(echo %{version} | grep -E -o '[0-9]+\.[0-9]+\.[0-9]+')
 
 Name:           evolution-ews
-Version:        3.34.2
+Version:        3.34.4
 Release:        0
 Summary:        Exchange Connector for Evolution, compatible with Exchange 
2007 and later
 License:        LGPL-2.1-only

++++++ evolution-ews-3.34.2.tar.xz -> evolution-ews-3.34.4.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.34.2/CMakeLists.txt 
new/evolution-ews-3.34.4/CMakeLists.txt
--- old/evolution-ews-3.34.2/CMakeLists.txt     2019-11-22 11:03:30.000000000 
+0100
+++ new/evolution-ews-3.34.4/CMakeLists.txt     2020-02-14 10:33:57.000000000 
+0100
@@ -4,7 +4,7 @@
 cmake_policy(VERSION 3.1)
 
 project(evolution-ews
-       VERSION 3.34.2
+       VERSION 3.34.4
        LANGUAGES C)
 set(PROJECT_BUGREPORT "https://gitlab.gnome.org/GNOME/evolution-ews/issues/";)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.34.2/NEWS 
new/evolution-ews-3.34.4/NEWS
--- old/evolution-ews-3.34.2/NEWS       2019-11-22 11:03:30.000000000 +0100
+++ new/evolution-ews-3.34.4/NEWS       2020-02-14 10:33:57.000000000 +0100
@@ -1,3 +1,16 @@
+Evolution-EWS 3.34.4 2020-02-14
+-------------------------------
+
+Bug Fixes:
+       I#84 - Fails to create event with no duration (Milan Crha)
+       I#85 - Map 'tzone://Microsoft/Utc' to libical's 'UTC' (Milan Crha)
+
+Evolution-EWS 3.34.3 2020-01-03
+-------------------------------
+
+Bug Fixes:
+       I#81 - Attachment flag not shown on messages with attachment (Milan 
Crha)
+
 Evolution-EWS 3.34.2 2019-11-22
 -------------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/evolution-ews-3.34.2/src/calendar/e-cal-backend-ews-utils.c 
new/evolution-ews-3.34.4/src/calendar/e-cal-backend-ews-utils.c
--- old/evolution-ews-3.34.2/src/calendar/e-cal-backend-ews-utils.c     
2019-11-22 11:03:30.000000000 +0100
+++ new/evolution-ews-3.34.4/src/calendar/e-cal-backend-ews-utils.c     
2020-02-14 10:33:57.000000000 +0100
@@ -1137,7 +1137,7 @@
        secs_end = (gint64) (zone_end ? i_cal_time_as_timet_with_zone (dtend, 
zone_end) : i_cal_time_as_timet (dtend));
 
        /* takes whole day(s) and starts on midnight in the zone_start */
-       return ((secs_end - secs_start) % (24 * 60 * 60)) == 0 && (secs_start % 
24 * 60 * 60) == 0;
+       return ((secs_end - secs_start) > 0) && ((secs_end - secs_start) % (24 
* 60 * 60)) == 0 && (secs_start % 24 * 60 * 60) == 0;
 }
 
 static gboolean
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.34.2/src/calendar/windowsZones.xml 
new/evolution-ews-3.34.4/src/calendar/windowsZones.xml
--- old/evolution-ews-3.34.2/src/calendar/windowsZones.xml      2019-11-22 
11:03:30.000000000 +0100
+++ new/evolution-ews-3.34.4/src/calendar/windowsZones.xml      2020-02-14 
10:33:57.000000000 +0100
@@ -228,6 +228,7 @@
                        <mapZone other="UTC" territory="001" type="Etc/GMT"/>
                        <mapZone other="UTC" territory="GL" 
type="America/Danmarkshavn"/>
                        <mapZone other="UTC" territory="ZZ" type="Etc/GMT"/>
+                       <mapZone other="tzone://Microsoft/Utc" territory="002" 
type="UTC"/>
 
                        <!-- (UTC) Dublin, Edinburgh, Lisbon, London -->
                        <mapZone other="GMT Standard Time" territory="001" 
type="Europe/London"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.34.2/src/camel/camel-ews-folder.c 
new/evolution-ews-3.34.4/src/camel/camel-ews-folder.c
--- old/evolution-ews-3.34.2/src/camel/camel-ews-folder.c       2019-11-22 
11:03:30.000000000 +0100
+++ new/evolution-ews-3.34.4/src/camel/camel-ews-folder.c       2020-02-14 
10:33:57.000000000 +0100
@@ -929,6 +929,7 @@
        message = camel_ews_folder_get_message_from_cache (ews_folder, uid, 
cancellable, error);
        if (message) {
                CamelInternetAddress *from;
+               CamelMessageInfo *mi;
                const gchar *email = NULL, *date_header;
                gboolean resave = FALSE;
 
@@ -999,6 +1000,23 @@
                        }
                        g_rec_mutex_unlock (&priv->cache_lock);
                }
+
+               mi = camel_folder_summary_get (camel_folder_get_folder_summary 
(folder), uid);
+               if (mi) {
+                       CamelMessageFlags flags;
+                       gboolean has_attachment;
+
+                       flags = camel_message_info_get_flags (mi);
+                       has_attachment = camel_mime_message_has_attachment 
(message);
+                       if (((flags & CAMEL_MESSAGE_ATTACHMENTS) && 
!has_attachment) ||
+                           ((flags & CAMEL_MESSAGE_ATTACHMENTS) == 0 && 
has_attachment)) {
+                               camel_message_info_set_flags (
+                                       mi, CAMEL_MESSAGE_ATTACHMENTS,
+                                       has_attachment ? 
CAMEL_MESSAGE_ATTACHMENTS : 0);
+                       }
+
+                       g_clear_object (&mi);
+               }
        }
 
 exit:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/evolution-ews-3.34.2/src/camel/camel-ews-utils.c 
new/evolution-ews-3.34.4/src/camel/camel-ews-utils.c
--- old/evolution-ews-3.34.2/src/camel/camel-ews-utils.c        2019-11-22 
11:03:30.000000000 +0100
+++ new/evolution-ews-3.34.4/src/camel/camel-ews-utils.c        2020-02-14 
10:33:57.000000000 +0100
@@ -41,6 +41,7 @@
 #define SUBFOLDER_DIR_NAME     "subfolders"
 #define SUBFOLDER_DIR_NAME_LEN 10
 
+#define EWS_MAPI_MSGFLAG_HASATTACH 0x10
 #define EWS_MAPI_MSGFLAG_RN_PENDING 0x100
 
 CamelFolderInfo *
@@ -643,7 +644,8 @@
        if ((msg_flags & EWS_MAPI_MSGFLAG_RN_PENDING) != 0)
                server_flags |= CAMEL_EWS_MESSAGE_MSGFLAG_RN_PENDING;
 
-       /* TODO Update replied flags */
+       if ((msg_flags & EWS_MAPI_MSGFLAG_HASATTACH) != 0)
+               server_flags |= CAMEL_MESSAGE_ATTACHMENTS;
 
        return server_flags;
 }
@@ -1042,6 +1044,7 @@
 {
        CamelFolderSummary *folder_summary;
        CamelMessageInfo *mi = NULL;
+       CamelContentType *content_type = NULL;
        const EwsId *id;
        const EwsMailbox *from;
        gchar *tmp;
@@ -1079,9 +1082,15 @@
                g_object_unref (stream);
 
                if (camel_mime_part_construct_from_parser_sync (part, parser, 
NULL, NULL)) {
+                       CamelContentType *ct;
+
                        mi = camel_folder_summary_info_new_from_headers 
(folder_summary, camel_medium_get_headers (CAMEL_MEDIUM (part)));
                        if (camel_medium_get_header (CAMEL_MEDIUM (part), 
"Disposition-Notification-To"))
                                message_requests_read_receipt = TRUE;
+
+                       ct = camel_mime_part_get_content_type (part);
+                       if (ct)
+                               content_type = camel_content_type_ref (ct);
                }
 
                g_object_unref (parser);
@@ -1133,7 +1142,34 @@
        server_flags = ews_utils_get_server_flags (item);
        ews_utils_merge_server_user_flags (item, mi);
 
-       camel_message_info_set_flags (mi, server_flags, server_flags);
+       /* It serves as "should inherit CAMEL_MESSAGE_ATTACHMENTS from 
server_flags" now */
+       has_attachments = !has_attachments;
+
+       if (has_attachments && (server_flags & CAMEL_MESSAGE_ATTACHMENTS) != 0 
&& content_type) {
+               /* The server can have set the attachment flag, even when there 
is no attachment.
+                  This will be fixed once the message is loaded, but let's 
fine tune the guess. */
+               if (!camel_content_type_is (content_type, "multipart", "*") ||
+                   camel_content_type_is (content_type, "multipart", 
"alternative")) {
+                       has_attachments = FALSE;
+               } else if (camel_content_type_is (content_type, "multipart", 
"related")) {
+                       const gchar *related_type;
+
+                       related_type = camel_content_type_param (content_type, 
"type");
+                       if (related_type && *related_type) {
+                               CamelContentType *ct;
+
+                               ct = camel_content_type_decode (related_type);
+                               if (ct) {
+                                       if (camel_content_type_is (ct, 
"multipart", "alternative"))
+                                               has_attachments = FALSE;
+
+                                       camel_content_type_unref (ct);
+                               }
+                       }
+               }
+       }
+
+       camel_message_info_set_flags (mi, server_flags & ~(has_attachments ? 0 
: CAMEL_MESSAGE_ATTACHMENTS), server_flags);
        camel_ews_message_info_set_server_flags (CAMEL_EWS_MESSAGE_INFO (mi), 
server_flags);
 
        camel_ews_utils_update_follow_up_flags (item, mi);
@@ -1141,6 +1177,9 @@
 
        camel_message_info_set_abort_notifications (mi, FALSE);
 
+       if (content_type)
+               camel_content_type_unref (content_type);
+
        return mi;
 }
 


Reply via email to