syncevolution/src
Patrick Ohly 9d13210d0b ical: workaround for libical 1.0 builtin timezone change
libical 1.0 started to return VTIMEZONE definitions with multiple
absolute transition times instead of RRULEs. This causes problems when
exchanging data with peers (see
https://sourceforge.net/p/freeassociation/bugs/95/).

In SyncEvolution, this affected sending an event using New Zealand
time in vCalendar 1.0 format to a phone, because the internal,
out-dated definition of the time zone in libsynthesis was used as
fallback when loading RRULE-based timezone definitions from libical
failed (see "[SyncEvolution] Some events showing wrong time on
phone"). It might also affect exchanging data with CalDAV peers (not
tested).

The workaround is to include the original code from libical from
before the change in SyncEvolution and override
icaltimezone_get_component() with a version that uses the original
timezone loading code. This does not fix cases where other code causes
libical itself to load a timezone, but for libsynthesis it is good
enough because it does the loading early when no other code should
have used libical.

The downside is that now we need to maintain the RRULE heuristics and
ensure that they actually work. Copying libical/src/test/timezones.c
would be useful for that.

Long-term it would be good to enhance libical itself such that it can
return a VTIMEZONE with suitable RRULEs matching a specific event,
point in time or time range.
2014-03-26 09:48:52 +01:00
..
backends autotools: Add QtCore include path to KDEPIM_CFLAGS (FDO #75670) 2014-03-05 12:18:17 +01:00
dbus PIM testing: remove some debug print 2014-02-13 07:24:21 -08:00
gdbus cppcheck: suppress warnings 2014-01-17 16:15:16 +01:00
gdbusxx GDBus GIO: include missing stdint.h 2014-03-05 11:15:54 +01:00
gnome-bluetooth GNOME Bluetooth: fix false (?) buffer overflow 2014-01-17 16:15:16 +01:00
gtk-ui GTK-UIs: avoid unnecessary variable initialization 2014-01-17 16:15:15 +01:00
gtk3-ui GTK-UIs: avoid unnecessary variable initialization 2014-01-17 16:15:15 +01:00
syncevo ical: workaround for libical 1.0 builtin timezone change 2014-03-26 09:48:52 +01:00
synthesis-includes autotools: --disable-core --enable-gui => build only sync-ui and its D-Bus lib 2010-03-23 19:04:06 +01:00
templates templates: don't store username/password for SyncEvolution client 2013-10-01 09:28:38 +02:00
async.patch patch switches to async version of the Evolution API 2007-02-22 19:33:21 +00:00
client-test-app.cpp config: user name -> identity 2013-09-27 08:59:13 -07:00
README.h added missing copyright and license headers 2009-05-11 16:31:17 +02:00
README.templates Merge remote branch 'origin/syncevolution-0-9-branch' 2009-11-30 21:41:53 +01:00
shlibs.local reverted to 0.7 packaging 2008-07-03 19:56:15 +00:00
src.am ical: workaround for libical 1.0 builtin timezone change 2014-03-26 09:48:52 +01:00
syncevo-local-sync.cpp local sync: execute 'syncevo-local-sync' on child side, communicate via D-Bus 2012-01-20 13:38:49 +01:00
syncevolution.cpp Logging: thread-safe 2013-05-06 16:28:13 +02:00
testcases.am testing: update packaging and testing of pre-compiled binaries 2014-01-17 16:07:58 +01:00
valgrind.supp ObexTransportAgent: Fix valgrind warnings (MB#10091) 2010-03-12 06:33:13 -08:00

The configuration templates in "templates" get installed into
$(datadir)/syncevolution/templates.

When adding/changing a new server, then only enter the properties
which need to be changed here so that the default values can
be used for the remaining properties.

An icon can be added here for servers. The file name must start with
"icon".

Server configurations must be kept in sync in three different places:
- here (if a server is installed as files)
- in SyncEvolutionConfig.cpp's EvolutionSyncConfig::createServerTemplate()
- in SyncEvolutionCmdline.cpp's test server configs
- in test/test-dbus.py testGetConfigsTemplates()

Note that server icons must come with a suitable license that allows
redistribution.