Hello community, here is the log from the commit of package evolution-ews for openSUSE:Factory checked in at 2018-06-22 13:28:18 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/evolution-ews (Old) and /work/SRC/openSUSE:Factory/.evolution-ews.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "evolution-ews" Fri Jun 22 13:28:18 2018 rev:87 rq:617555 version:3.28.3 Changes: -------- --- /work/SRC/openSUSE:Factory/evolution-ews/evolution-ews.changes 2018-05-10 15:46:04.852562502 +0200 +++ /work/SRC/openSUSE:Factory/.evolution-ews.new/evolution-ews.changes 2018-06-22 13:28:20.606263187 +0200 @@ -1,0 +2,8 @@ +Mon Jun 18 09:53:07 UTC 2018 - bjorn....@gmail.com + +- Update to version 3.28.3: + + Address some of the compiler and static analyzers warnings. + + Update bug URL and switch to https:// in the DOAP file. + + Bugs fixed: bgo#796297. + +------------------------------------------------------------------- Old: ---- evolution-ews-3.28.2.tar.xz New: ---- evolution-ews-3.28.3.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ evolution-ews.spec ++++++ --- /var/tmp/diff_new_pack.wSvoQW/_old 2018-06-22 13:28:21.182241900 +0200 +++ /var/tmp/diff_new_pack.wSvoQW/_new 2018-06-22 13:28:21.186241752 +0200 @@ -19,7 +19,7 @@ # _version needs to be %{version} stripped to major.minor.micro only... %define _version %(echo %{version} | grep -E -o '[0-9]+\.[0-9]+\.[0-9]+') Name: evolution-ews -Version: 3.28.2 +Version: 3.28.3 Release: 0 Summary: Exchange Connector for Evolution, compatible with Exchange 2007 and later License: LGPL-2.1-only ++++++ evolution-ews-3.28.2.tar.xz -> evolution-ews-3.28.3.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evolution-ews-3.28.2/CMakeLists.txt new/evolution-ews-3.28.3/CMakeLists.txt --- old/evolution-ews-3.28.2/CMakeLists.txt 2018-05-07 10:34:12.000000000 +0200 +++ new/evolution-ews-3.28.3/CMakeLists.txt 2018-06-18 11:18:59.000000000 +0200 @@ -4,9 +4,9 @@ cmake_policy(VERSION 3.1) project(evolution-ews - VERSION 3.28.2 + VERSION 3.28.3 LANGUAGES C) -set(PROJECT_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=evolution-ews") +set(PROJECT_BUGREPORT "https://gitlab.gnome.org/GNOME/evolution-ews/issues/") # Required for FindIntltool module set(GETTEXT_PACKAGE ${PROJECT_NAME}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evolution-ews-3.28.2/NEWS new/evolution-ews-3.28.3/NEWS --- old/evolution-ews-3.28.2/NEWS 2018-05-07 10:34:12.000000000 +0200 +++ new/evolution-ews-3.28.3/NEWS 2018-06-18 11:18:59.000000000 +0200 @@ -1,3 +1,13 @@ +Evolution-EWS 3.28.3 2018-06-18 +------------------------------- + +Bug Fixes: + Bug 796297 - Make it possible to not request RSVP (all-or-nothing) (Milan Crha) + +Miscellaneous: + Address some of the compiler and static analyzers warnings (Milan Crha) + Update bug URL and switch to https:// in the DOAP file (Milan Crha) + Evolution-EWS 3.28.2 2018-05-07 ------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evolution-ews-3.28.2/evolution-ews.doap new/evolution-ews-3.28.3/evolution-ews.doap --- old/evolution-ews-3.28.2/evolution-ews.doap 2018-05-07 10:34:12.000000000 +0200 +++ new/evolution-ews-3.28.3/evolution-ews.doap 2018-06-18 11:18:59.000000000 +0200 @@ -7,10 +7,10 @@ <name xml:lang="en">evolution-ews</name> <shortdesc xml:lang="en">MS Exchange integration through Exchange Web Services</shortdesc> <description>MS Exchange integration for the Evolution application</description> - <homepage rdf:resource="http://wiki.gnome.org/Apps/Evolution" /> - <mailing-list rdf:resource="http://mail.gnome.org/mailman/listinfo/evolution-list" /> - <download-page rdf:resource="http://download.gnome.org/sources/evolution-ews" /> - <bug-database rdf:resource="http://bugzilla.gnome.org/browse.cgi?product=evolution-ews" /> + <homepage rdf:resource="https://wiki.gnome.org/Apps/Evolution" /> + <mailing-list rdf:resource="https://mail.gnome.org/mailman/listinfo/evolution-list" /> + <download-page rdf:resource="https://download.gnome.org/sources/evolution-ews" /> + <bug-database rdf:resource="https://gitlab.gnome.org/GNOME/evolution-ews/issues/" /> <category rdf:resource="http://api.gnome.org/doap-extensions#apps" /> <programming-language>C</programming-language> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evolution-ews-3.28.2/src/addressbook/ews-oab-decoder.c new/evolution-ews-3.28.3/src/addressbook/ews-oab-decoder.c --- old/evolution-ews-3.28.2/src/addressbook/ews-oab-decoder.c 2018-05-07 10:34:12.000000000 +0200 +++ new/evolution-ews-3.28.3/src/addressbook/ews-oab-decoder.c 2018-06-18 11:18:59.000000000 +0200 @@ -179,8 +179,8 @@ EwsOabDecoderPrivate *priv = GET_PRIVATE (eod); const gchar *at; GBytes *bytes = value; - EContactPhoto *photo = g_new0 (EContactPhoto, 1); - gchar *email = e_contact_get (contact, E_CONTACT_EMAIL_1); + EContactPhoto *photo; + gchar *email; gchar *filename = NULL, *pic_name = NULL, *name; gboolean success = TRUE; GError *local_error = NULL; @@ -188,6 +188,14 @@ if (!bytes) return; + email = e_contact_get (contact, E_CONTACT_EMAIL_1); + if (!email || !strchr (email, '@')) { + g_free (email); + return; + } + + photo = g_new0 (EContactPhoto, 1); + /* Rename the binary file to name.jpg */ at = strchr (email, '@'); name = g_strndup (email, at - email); @@ -201,7 +209,7 @@ photo->type = E_CONTACT_PHOTO_TYPE_URI; photo->data.uri = filename; - e_contact_set (contact, field, (gpointer) photo); + e_contact_set (contact, field, photo); } else { g_warning ("%s: Failed to store '%s': %s", G_STRFUNC, filename, local_error ? local_error->message : "Unknown error"); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evolution-ews-3.28.2/src/calendar/e-cal-backend-ews-utils.c new/evolution-ews-3.28.3/src/calendar/e-cal-backend-ews-utils.c --- old/evolution-ews-3.28.2/src/calendar/e-cal-backend-ews-utils.c 2018-05-07 10:34:12.000000000 +0200 +++ new/evolution-ews-3.28.3/src/calendar/e-cal-backend-ews-utils.c 2018-06-18 11:18:59.000000000 +0200 @@ -222,13 +222,17 @@ e_ews_collect_attendees (icalcomponent *comp, GSList **required, GSList **optional, - GSList **resource) + GSList **resource, + gboolean *out_rsvp_requested) { icalproperty *prop; icalparameter *param; const gchar *str = NULL; const gchar *org_email_address = NULL; + if (out_rsvp_requested) + *out_rsvp_requested = TRUE; + /* we need to know who the orgenizer is so we wont duplicate him/her */ org_email_address = e_ews_collect_organizer (comp); @@ -262,10 +266,26 @@ switch (icalparameter_get_role (param)) { case ICAL_ROLE_OPTPARTICIPANT: *optional = g_slist_append (*optional, (gpointer)str); + + if (out_rsvp_requested && *out_rsvp_requested) { + icalparameter *rsvp; + + rsvp = icalproperty_get_first_parameter (prop, ICAL_RSVP_PARAMETER); + if (rsvp && icalparameter_get_rsvp (rsvp) == ICAL_RSVP_FALSE) + *out_rsvp_requested = FALSE; + } break; case ICAL_ROLE_CHAIR: case ICAL_ROLE_REQPARTICIPANT: *required = g_slist_append (*required, (gpointer)str); + + if (out_rsvp_requested && *out_rsvp_requested) { + icalparameter *rsvp; + + rsvp = icalproperty_get_first_parameter (prop, ICAL_RSVP_PARAMETER); + if (rsvp && icalparameter_get_rsvp (rsvp) == ICAL_RSVP_FALSE) + *out_rsvp_requested = FALSE; + } break; case ICAL_ROLE_NONPARTICIPANT: *resource = g_slist_append (*resource, (gpointer)str); @@ -1060,7 +1080,7 @@ icaltimetype dtstart, dtend; icaltimezone *tzid_start, *tzid_end; icalproperty *prop; - gboolean has_alarms, satisfies; + gboolean has_alarms, satisfies, rsvp_requested = TRUE; const gchar *ical_location_start, *ical_location_end, *value; const gchar *msdn_location_start, *msdn_location_end; @@ -1145,7 +1165,9 @@ e_ews_message_write_string_parameter (msg, "Location", NULL, value); /* collect attendees */ - e_ews_collect_attendees (icalcomp, &required, &optional, &resource); + e_ews_collect_attendees (icalcomp, &required, &optional, &resource, &rsvp_requested); + + e_ews_message_write_string_parameter (msg, "IsResponseRequested", NULL, rsvp_requested ? "true" : "false"); if (required != NULL) { add_attendees_list_to_message (msg, "RequiredAttendees", required); @@ -1385,7 +1407,7 @@ gboolean has_alarms, has_alarms_old; gboolean dt_start_changed = FALSE, dt_end_changed = FALSE, dt_changed; gboolean dt_start_changed_timezone_name = FALSE, dt_end_changed_timezone_name = FALSE; - gboolean satisfies; + gboolean satisfies, rsvp_requested = TRUE; gint alarm = 0, alarm_old = 0; gchar *recid; GError *error = NULL; @@ -1576,7 +1598,10 @@ convert_vevent_property_to_updatexml (msg, "IsAllDayEvent", "false", "calendar", NULL, NULL); } - e_ews_collect_attendees (icalcomp, &required, &optional, &resource); + e_ews_collect_attendees (icalcomp, &required, &optional, &resource, &rsvp_requested); + + e_ews_message_write_string_parameter (msg, "IsResponseRequested", NULL, rsvp_requested ? "true" : "false"); + if (required != NULL) { e_ews_message_start_set_item_field (msg, "RequiredAttendees", "calendar", "CalendarItem"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evolution-ews-3.28.2/src/calendar/e-cal-backend-ews-utils.h new/evolution-ews-3.28.3/src/calendar/e-cal-backend-ews-utils.h --- old/evolution-ews-3.28.2/src/calendar/e-cal-backend-ews-utils.h 2018-05-07 10:34:12.000000000 +0200 +++ new/evolution-ews-3.28.3/src/calendar/e-cal-backend-ews-utils.h 2018-06-18 11:18:59.000000000 +0200 @@ -55,7 +55,7 @@ } EwsCalendarConvertData; const gchar *e_ews_collect_organizer (icalcomponent *comp); -void e_ews_collect_attendees (icalcomponent *comp, GSList **required, GSList **optional, GSList **resource); +void e_ews_collect_attendees (icalcomponent *comp, GSList **required, GSList **optional, GSList **resource, gboolean *out_rsvp_requested); void ewscal_set_timezone (ESoapMessage *msg, const gchar *name, EEwsCalendarTimeZoneDefinition *tzd); void ewscal_set_meeting_timezone (ESoapMessage *msg, icaltimezone *icaltz); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evolution-ews-3.28.2/src/calendar/e-cal-backend-ews.c new/evolution-ews-3.28.3/src/calendar/e-cal-backend-ews.c --- old/evolution-ews-3.28.2/src/calendar/e-cal-backend-ews.c 2018-05-07 10:34:12.000000000 +0200 +++ new/evolution-ews-3.28.3/src/calendar/e-cal-backend-ews.c 2018-06-18 11:18:59.000000000 +0200 @@ -2684,7 +2684,9 @@ if (success && e_cal_component_has_attachments (master) > 0) { GSList *info_attachments = NULL; - if (ecb_ews_extract_attachments (icalcomp, &info_attachments)) { + g_warn_if_fail (ews_id != NULL); + + if (ews_id && ecb_ews_extract_attachments (icalcomp, &info_attachments)) { GSList *ids = NULL; success = e_ews_connection_create_attachments_sync (cbews->priv->cnc, EWS_PRIORITY_MEDIUM, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evolution-ews-3.28.2/src/configuration/e-mail-config-ews-delegates-page.c new/evolution-ews-3.28.3/src/configuration/e-mail-config-ews-delegates-page.c --- old/evolution-ews-3.28.2/src/configuration/e-mail-config-ews-delegates-page.c 2018-05-07 10:34:12.000000000 +0200 +++ new/evolution-ews-3.28.3/src/configuration/e-mail-config-ews-delegates-page.c 2018-06-18 11:18:59.000000000 +0200 @@ -1539,7 +1539,7 @@ } else { EMailConfigEwsDelegatesPage *page = async_context->page; - GtkWidget *radio = page->priv->deliver_copy_me_radio; + GtkWidget *radio; GtkTreeModel *model; const GSList *iter; @@ -1552,6 +1552,7 @@ case EwsDelegateDeliver_DelegatesAndMe: radio = page->priv->deliver_delegates_and_me_radio; break; + default: case EwsDelegateDeliver_DelegatesAndSendInformationToMe: radio = page->priv->deliver_copy_me_radio; break; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evolution-ews-3.28.2/src/server/e-ews-connection.c new/evolution-ews-3.28.3/src/server/e-ews-connection.c --- old/evolution-ews-3.28.2/src/server/e-ews-connection.c 2018-05-07 10:34:12.000000000 +0200 +++ new/evolution-ews-3.28.3/src/server/e-ews-connection.c 2018-06-18 11:18:59.000000000 +0200 @@ -1392,8 +1392,9 @@ const gchar *name = (const gchar *) subparam->name; if (g_str_has_suffix (name, "ResponseMessage")) { - /* coverity[unchecked_value] */ - ews_get_response_status (subparam, &error); + if (ews_get_response_status (subparam, &error)) + error = NULL; + ews_handle_items_param (subparam, async_data, error); } else { g_warning ( @@ -7333,6 +7334,7 @@ GError *local_error = NULL; g_return_if_fail (cnc != NULL); + g_return_if_fail (parent != NULL); simple = g_simple_async_result_new ( G_OBJECT (cnc), callback, user_data, @@ -7435,6 +7437,7 @@ gboolean ret; g_return_val_if_fail (cnc != NULL, FALSE); + g_return_val_if_fail (parent != NULL, FALSE); closure = e_async_closure_new (); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evolution-ews-3.28.2/src/server/e-ews-folder.c new/evolution-ews-3.28.3/src/server/e-ews-folder.c --- old/evolution-ews-3.28.2/src/server/e-ews-folder.c 2018-05-07 10:34:12.000000000 +0200 +++ new/evolution-ews-3.28.3/src/server/e-ews-folder.c 2018-06-18 11:18:59.000000000 +0200 @@ -147,22 +147,25 @@ if (priv->folder_type == E_EWS_FOLDER_TYPE_MAILBOX) { subparam = e_soap_parameter_get_first_child_by_name (node, "FolderClass"); if (subparam) { + EEwsFolderType folder_type; gchar *folder_class = e_soap_parameter_get_string_value (subparam); - priv->folder_type = E_EWS_FOLDER_TYPE_UNKNOWN; + folder_type = E_EWS_FOLDER_TYPE_UNKNOWN; if (g_strcmp0 (folder_class, "IPF.Note") == 0 || (folder_class && g_str_has_prefix (folder_class, "IPF.Note."))) { - priv->folder_type = E_EWS_FOLDER_TYPE_MAILBOX; + folder_type = E_EWS_FOLDER_TYPE_MAILBOX; } else if (g_strcmp0 (folder_class, "IPF.Contact") == 0) { - priv->folder_type = E_EWS_FOLDER_TYPE_CONTACTS; + folder_type = E_EWS_FOLDER_TYPE_CONTACTS; } else if (g_strcmp0 (folder_class, "IPF.Appointment") == 0) { - priv->folder_type = E_EWS_FOLDER_TYPE_CALENDAR; + folder_type = E_EWS_FOLDER_TYPE_CALENDAR; } else if (g_strcmp0 (folder_class, "IPF.Task") == 0) { - priv->folder_type = E_EWS_FOLDER_TYPE_TASKS; + folder_type = E_EWS_FOLDER_TYPE_TASKS; } else if (g_strcmp0 (folder_class, "IPF.StickyNote") == 0) { - priv->folder_type = E_EWS_FOLDER_TYPE_MEMOS; + folder_type = E_EWS_FOLDER_TYPE_MEMOS; } + priv->folder_type = folder_type; + g_free (folder_class); } }