r2537 - in /wheezy/evolution-ews/debian: changelog patches/01_freebusy.patch patches/series
joss at users.alioth.debian.org
joss at users.alioth.debian.org
Fri Apr 11 13:31:36 UTC 2014
Author: joss
Date: Fri Apr 11 13:31:36 2014
New Revision: 2537
URL: http://svn.debian.org/wsvn/pkg-evolution/?sc=1&rev=2537
Log:
01_freebusy.patch: patch from upstream git. Fix free/busy indicators
with Exhange 2013 servers.
Added:
wheezy/evolution-ews/debian/patches/01_freebusy.patch
Modified:
wheezy/evolution-ews/debian/changelog
wheezy/evolution-ews/debian/patches/series
Modified: wheezy/evolution-ews/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-evolution/wheezy/evolution-ews/debian/changelog?rev=2537&op=diff
==============================================================================
--- wheezy/evolution-ews/debian/changelog (original)
+++ wheezy/evolution-ews/debian/changelog Fri Apr 11 13:31:36 2014
@@ -1,3 +1,10 @@
+evolution-ews (3.4.4-2) stable; urgency=low
+
+ * 01_freebusy.patch: patch from upstream git. Fix free/busy indicators
+ with Exhange 2013 servers.
+
+ -- Josselin Mouette <joss at debian.org> Fri, 11 Apr 2014 15:30:48 +0200
+
evolution-ews (3.4.4-1) unstable; urgency=low
* New upstream bugfix release (closes: #681802).
Added: wheezy/evolution-ews/debian/patches/01_freebusy.patch
URL: http://svn.debian.org/wsvn/pkg-evolution/wheezy/evolution-ews/debian/patches/01_freebusy.patch?rev=2537&op=file
==============================================================================
--- wheezy/evolution-ews/debian/patches/01_freebusy.patch (added)
+++ wheezy/evolution-ews/debian/patches/01_freebusy.patch Fri Apr 11 13:31:36 2014
@@ -0,0 +1,142 @@
+From 428f9d0ccb7e905fbd63b204a0e4244ed09597ec Mon Sep 17 00:00:00 2001
+From: Punit Jain <jpunit at suse.com>
+Date: Mon, 26 Mar 2012 18:49:21 +0530
+Subject: Bug #659717 free busy not working
+
+
+Index: evolution-ews-3.4.4/src/calendar/e-cal-backend-ews-utils.c
+===================================================================
+--- evolution-ews-3.4.4.orig/src/calendar/e-cal-backend-ews-utils.c 2012-08-12 23:30:47.000000000 +0200
++++ evolution-ews-3.4.4/src/calendar/e-cal-backend-ews-utils.c 2014-04-11 15:21:40.588569198 +0200
+@@ -400,6 +400,27 @@
+ }
+
+ static void
++ewscal_add_availability_default_timechange (ESoapMessage *msg)
++{
++
++ e_soap_message_start_element(msg, "StandardTime", NULL, NULL);
++ e_ews_message_write_string_parameter(msg, "Bias", NULL, "0");
++ e_ews_message_write_string_parameter(msg, "Time", NULL, "00:00:00");
++ e_ews_message_write_string_parameter(msg, "DayOrder", NULL, "0");
++ e_ews_message_write_string_parameter(msg, "Month", NULL, "0");
++ e_ews_message_write_string_parameter(msg, "DayOfWeek", NULL, "Sunday");
++ e_soap_message_end_element (msg);
++
++ e_soap_message_start_element(msg, "DaylightTime", NULL, NULL);
++ e_ews_message_write_string_parameter(msg, "Bias", NULL, "0");
++ e_ews_message_write_string_parameter(msg, "Time", NULL, "00:00:00");
++ e_ews_message_write_string_parameter(msg, "DayOrder", NULL, "0");
++ e_ews_message_write_string_parameter(msg, "Month", NULL, "0");
++ e_ews_message_write_string_parameter(msg, "DayOfWeek", NULL, "Sunday");
++ e_soap_message_end_element (msg);
++}
++
++static void
+ ewscal_add_availability_timechange (ESoapMessage *msg,
+ icalcomponent *comp,
+ gint baseoffs)
+@@ -448,16 +469,16 @@
+ xstd = icalcomponent_get_first_component (comp, ICAL_XSTANDARD_COMPONENT);
+ xdaylight = icalcomponent_get_first_component (comp, ICAL_XDAYLIGHT_COMPONENT);
+
+- /* Should never happen. Exchange will bail out */
+- if (!xstd || !xdaylight)
+- return;
+-
++ /*TimeZone is the root element of GetUserAvailabilityRequest*/
+ e_soap_message_start_element(msg, "TimeZone", NULL, NULL);
+
+ /* Fetch the timezone offsets for the standard (or only) zone.
+ * Negate it, because Exchange does it backwards */
+- prop = icalcomponent_get_first_property (xstd, ICAL_TZOFFSETTO_PROPERTY);
+- std_utcoffs = -icalproperty_get_tzoffsetto (prop) / 60;
++ if (xstd) {
++ prop = icalcomponent_get_first_property(xstd, ICAL_TZOFFSETTO_PROPERTY);
++ std_utcoffs = -icalproperty_get_tzoffsetto(prop)/60;
++ } else
++ std_utcoffs = 0;
+
+ /* This is the overall BaseOffset tag, which the Standard and Daylight
+ * zones are offset from. It's redundant, but Exchange always sets it
+@@ -477,7 +498,10 @@
+ e_soap_message_start_element(msg, "DaylightTime", NULL, NULL);
+ ewscal_add_availability_timechange (msg, xdaylight, std_utcoffs);
+ e_soap_message_end_element(msg); /* "DaylightTime" */
+- }
++ } else
++ /* Set default values*/
++ ewscal_add_availability_default_timechange (msg);
++
+ e_soap_message_end_element(msg); /* "TimeZone" */
+ }
+
+Index: evolution-ews-3.4.4/src/server/e-ews-connection.c
+===================================================================
+--- evolution-ews-3.4.4.orig/src/server/e-ews-connection.c 2012-08-12 23:30:47.000000000 +0200
++++ evolution-ews-3.4.4/src/server/e-ews-connection.c 2014-04-11 15:21:40.588569198 +0200
+@@ -32,6 +32,7 @@
+ #include <glib/gstdio.h>
+ #include <libical/icalcomponent.h>
+ #include <libical/icalproperty.h>
++#include <libical/ical.h>
+ #include "e-ews-connection.h"
+ #include <libedataserver/e-flag.h>
+ #include "e-ews-message.h"
+@@ -4990,7 +4991,7 @@
+ ESoapParameter *viewparam, *eventarray, *event_param, *subparam;
+ GTimeVal t_val;
+ const gchar *name;
+- gchar *value;
++ gchar *value, *new_val = NULL;
+ EwsAsyncData *async_data = g_simple_async_result_get_op_res_gpointer (enode->simple);
+
+ /* stop on errors */
+@@ -5007,17 +5008,41 @@
+
+ if (!g_ascii_strcasecmp (name, "StartTime")) {
+ value = e_soap_parameter_get_string_value (subparam);
+- g_time_val_from_iso8601 (value, &t_val);
+- g_free (value);
++ /*We are sending UTC timezone and expect server to return in same*/
++
++ /*Remove leading and trailing whitespace*/
++ g_strstrip (value);
++
++ if (g_utf8_strlen (value, -1) == 19) {
++ /*If server returns time without zone add Z to treat it in UTC*/
++ new_val = g_strdup_printf ("%sZ", value);
++ g_free (value);
++ } else
++ new_val = value;
++
++ g_time_val_from_iso8601 (new_val, &t_val);
++ g_free (new_val);
+
+- ipt.start = icaltime_from_timet (t_val.tv_sec, 0);
++ ipt.start = icaltime_from_timet_with_zone (t_val.tv_sec, 0, NULL);
+
+ } else if (!g_ascii_strcasecmp (name, "EndTime")) {
+ value = e_soap_parameter_get_string_value (subparam);
+- g_time_val_from_iso8601 (value, &t_val);
+- g_free (value);
++ /*We are sending UTC timezone and expect server to return in same*/
++
++ /*Remove leading and trailing whitespace*/
++ g_strstrip (value);
++
++ if (g_utf8_strlen (value, -1) == 19) {
++ /*If server returns time without zone add Z to treat it in UTC*/
++ new_val = g_strdup_printf ("%sZ", value);
++ g_free (value);
++ } else
++ new_val = value;
++
++ g_time_val_from_iso8601 (new_val, &t_val);
++ g_free (new_val);
+
+- ipt.end = icaltime_from_timet (t_val.tv_sec, 0);
++ ipt.end = icaltime_from_timet_with_zone (t_val.tv_sec, 0, NULL);
+
+ icalprop = icalproperty_new_freebusy (ipt);
+ } else if (!g_ascii_strcasecmp (name, "BusyType")) {
Modified: wheezy/evolution-ews/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-evolution/wheezy/evolution-ews/debian/patches/series?rev=2537&op=diff
==============================================================================
--- wheezy/evolution-ews/debian/patches/series (original)
+++ wheezy/evolution-ews/debian/patches/series Fri Apr 11 13:31:36 2014
@@ -1 +1,2 @@
+01_freebusy.patch
02_liblzx_noinst.patch
More information about the pkg-evolution-commits
mailing list