From de66b7d8152cc72cac58d3a2aef1e8e684d5f4ce Mon Sep 17 00:00:00 2001 From: Patrick Ohly Date: Fri, 28 Jun 2013 11:42:02 +0000 Subject: [PATCH] Imported Upstream version 1.1.0.99.1 --- ChangeLog | 193 +++++++++++++++ NEWS | 81 +++++++ README | 55 ++--- README.html | 56 ++--- README.rst | 51 ++-- configure | 20 +- configure-pre.in | 2 +- configure.in | 2 +- src/backends/evolution/EvolutionCalendarSource.cpp | 55 +++-- src/backends/kcalextended/KCalExtendedSource.cpp | 10 +- src/backends/qtcontacts/QtContactsSource.cpp | 2 +- src/client-test-app.cpp | 12 + src/dbus/interfaces/syncevo-server-full.xml | 2 +- src/dbus/interfaces/syncevo-session-full.xml | 2 +- src/dbus/syncevo-server.c | 33 ++- src/dbus/syncevo-server.h | 2 +- src/dbus/syncevo-session.c | 40 ++++ src/dbus/syncevo-session.h | 8 + src/gtk-ui/sync-config-widget.c | 10 +- src/gtk-ui/sync-ui.c | 14 +- src/syncevo-dbus-server.cpp | 4 + src/syncevo/Cmdline.cpp | 12 +- src/syncevo/SyncConfig.cpp | 6 +- src/syncevo/SyncContext.cpp | 263 +++++++++++---------- src/syncevo/SyncSource.cpp | 8 +- .../configs/datatypes/10calendar-fieldlist.xml | 2 +- .../configs/remoterules/00_syncevolution.xml | 10 + .../remoterules/server/00_sony_ericsson.xml | 13 + src/syncevo/configs/scripting/11calendar.xml | 19 +- src/syncevo/util.cpp | 5 +- src/syncevolution.cpp | 4 + src/synthesis/ChangeLog | 105 +++++++- src/synthesis/Makefile.in | 1 + src/synthesis/configure | 53 +++-- src/synthesis/configure.in | 7 + .../src/DB_interfaces/api_db/pluginapids.cpp | 11 +- src/synthesis/src/Makefile.am | 4 + src/synthesis/src/Makefile.am.in | 4 + src/synthesis/src/Makefile.in | 73 +++--- .../Targets/ReleasedProducts/SDK/target_options.h | 2 +- .../platform_adapters/linux/platform_timezones.cpp | 8 +- .../src/syncml_tk/src/sml/mgr/all/mgrinstancemgr.c | 5 +- src/synthesis/src/sysync/localengineds.cpp | 55 ++++- src/synthesis/src/sysync/mimedirprofile.cpp | 10 + src/synthesis/src/sysync/multifielditemtype.cpp | 2 +- src/synthesis/src/sysync/syncitem.cpp | 3 +- src/synthesis/src/sysync/syncitem.h | 6 +- src/synthesis/src/sysync/syncsession.cpp | 21 +- src/synthesis/src/sysync/timezones.h | 14 +- src/synthesis/src/sysync/vtimezone.cpp | 69 ++++-- src/synthesis/src/sysync/vtimezone.h | 2 - src/templates/servers/ScheduleWorld.ini | 1 - test/ClientTest.cpp | 16 +- test/README.mobical | 1 + test/client-test-main.cpp | 21 +- test/synccompare.pl | 23 +- 56 files changed, 1096 insertions(+), 417 deletions(-) create mode 100644 src/syncevo/configs/remoterules/server/00_sony_ericsson.xml diff --git a/ChangeLog b/ChangeLog index 4972c10..d6b4041 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,198 @@ # Generated by configure. Do no edit. +2010-12-20 Patrick Ohly + + * configure-pre.in: + + bumped version to 1.1.0.99.1 + +2010-12-20 Patrick Ohly + + * NEWS: + + NEWS: updated for 1.1.0.99.1 + +2010-12-15 Jussi Kukkonen + + * src/dbus/interfaces/syncevo-server-full.xml: + * src/dbus/interfaces/syncevo-session-full.xml: + * src/dbus/syncevo-server.c: + * src/gtk-ui/sync-config-widget.c: + * src/gtk-ui/sync-ui.c: + + gtk-ui: Use "no-sync" flag on non syncing StartSession + +2010-12-15 Jussi Kukkonen + + * src/dbus/syncevo-session.c: + * src/dbus/syncevo-session.h: + + dbus client wrapper: add GetConfigName + +2010-11-11 Jussi Kukkonen + + * src/dbus/syncevo-server.c: + * src/dbus/syncevo-server.h: + * src/gtk-ui/sync-ui.c: + + gtk-ui: Update GetPresence handlers to match current API + +2010-11-11 Jussi Kukkonen + + * src/gtk-ui/sync-ui.c: + + gtk-ui: match config names insensitively + +2010-11-11 Jussi Kukkonen + + * src/gtk-ui/sync-ui.c: + + gtk-ui: Use hyphen instead of underscore in signal names + +2010-12-15 Patrick Ohly + + * src/backends/evolution/EvolutionCalendarSource.cpp: + + Evolution Calendar: work around delayed update in EDS CalDAV + backend (BMC #10265) + +2010-12-14 Patrick Ohly + + * README.rst: + * src/syncevo/Cmdline.cpp: + * src/syncevo/SyncConfig.cpp: + * src/templates/servers/ScheduleWorld.ini: + + ScheduleWorld: disabled configuration, replaced in examples + +2010-12-13 Patrick Ohly + + * src/syncevo/configs/remoterules/server/00_sony_ericsson.xml: + + Sony Ericsson: enable conversion to absolute alarm times (BMC + #10092) + +2010-12-13 Patrick Ohly + + * src/syncevo/configs/scripting/11calendar.xml: + * test/testcases/ical20-alarms-2010-12-31.ics: + + vCalendar 1.0: convert absolute alarm back to relative (BMC + #11233) + +2010-12-07 Patrick Ohly + + * test/README.mobical: + + Mobical.net: nightly tests do not complete when preventSlowSync + is active + +2010-12-06 Patrick Ohly + + * src/client-test-app.cpp: + + client-test: avoid potential test failure in testTwoWaySync due + to preventSlowSync + +2010-11-28 David Bremner + + * src/syncevo/util.cpp: + + util.cpp/relToAbs(): Have realpath allocate its own buffer. + +2010-12-06 Patrick Ohly + + * src/syncevo-dbus-server.cpp: + + syncevo-dbus-server: deal with libnotify 0.7.0 API change (BMC + #10453) + +2010-12-01 Patrick Ohly + + * test/synccompare.pl: + + synccompare: work around Perl bug + +2010-11-30 Patrick Ohly + + * test/client-test-main.cpp: + + client-test: SYNCEVOLUTION_DEBUG disables creation of .log files + +2010-11-26 Patrick Ohly + + * test/synccompare.pl: + + synccompare: normalize directory + +2010-11-26 Patrick Ohly + + * src/backends/qtcontacts/QtContactsSource.cpp: + + QtContacts: fixed error message + +2010-11-26 Patrick Ohly + + * src/backends/kcalextended/KCalExtendedSource.cpp: + + KCalExtended: evolutionsource= was broken + +2010-11-16 Patrick Ohly + + * src/syncevo/configs/remoterules/00_syncevolution.xml: + + slow sync strategy: allow client and server updates for + SyncEvolution clients + +2010-11-16 Patrick Ohly + + * src/syncevo/SyncSource.cpp: + + slow sync strategy: try harder to avoid duplicates + +2010-11-15 Patrick Ohly + + * src/syncevo/configs/datatypes/10calendar-fieldlist.xml: + + calendar profile: choose better merge strategy for URL property + +2010-10-29 Patrick Ohly + + * src/syncevo/SyncContext.cpp: + + SYNCEVOLUTION_DEBUG: print DEBUG messages during sync if set + +2010-10-08 Patrick Ohly + + * test/synccompare.pl: + + synccompare: relax TZID simplification + +2010-10-08 Patrick Ohly + + * test/client-test-main.cpp: + + client-test: increase log level when SYNCEVOLUTION_DEBUG is set + +2010-10-07 Patrick Ohly + + * test/ClientTest.cpp: + + Revert "testing: avoid DTSTAMP issue in KCalExtended" + +2010-08-01 Patrick Ohly + + * src/syncevo/SyncContext.cpp: + + SyncContext: avoid crash in sort() with LogDir as binary + predicate + +2010-10-05 Patrick Ohly + + * src/syncevolution.cpp: + + command line: increase log level when SYNCEVOLUTION_DEBUG is set + 2010-11-01 Patrick Ohly * src/syncevo/FileConfigTree.cpp: diff --git a/NEWS b/NEWS index 1356778..49236bb 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,84 @@ +SyncEvolution 1.1 -> 1.1.1, xxxxxxxxxx +====================================== + +Maintenance release, in particular improving syncing with phones. +There was a bug that could cause all kinds of weird behavior after +a failed sync with a phone, so updating is highly recommended. + +* Synthesis engine: fixed a corruption issue in internal meta data which + caused duplicates and other problems in a pretty indeterminstic way; + apparently caused by failed syncs (BMC #10358, #11044). + +* Synthesis engine: recurrence rules with end date now sent correctly to phones (BMC #11241). + + The RRULE property was not encoded correctly previously during the + iCalendar 2.0 -> vCalendar 1.0 conversion. Events with recurrence count + were okay. Probably also affected SyncML servers without iCalendar 2.0 + support. + +* Synthesis engine: fixed broken time zone information when sending to phone; + previously that broke sending calendar updates to Nokia phones (BMC #9600). + + iCalendar 2.0 time zone definitions imported from libical were not + encoded correctly in vCalendar 1.0 items as sent to phones. Nokia + phones accepted such data when part of a new event, but rejected + updates of it. + +* ScheduleWorld: disable configuration template because service has shut down. + + The template is only hidden from the GTK sync-ui, but remains in SyncEvolution + for the time being because it is referenced in several places. + +* GTK sync-ui: workaround for "Sync Now" button not reacting to online + status changed (BMC #9949). + +* Changed slow sync handling. Some users have complained about getting + duplicated contacts (BMC #10081). The exact reason is not known (no + useful logs provided yet), but it might be due to using "duplicate" + as resolution strategy during slow syncs. + + This caused slightly different contacts to be duplicated instead of + merging the two copies, reasoning that "no data loss" is better than + "duplicates". This release switches to a mode where the engine + tries harder to avoid duplicates by merging data if modification + time stamps are available for contacts (usually they are). When fields + differ, the more recent data is kept. + +* convert absolute alarm back to relative (BMC #11233) + + Experiments show that at least Nokia phones (and thus perhaps also + Mobical.com) interpret a fixed alarm as "repeat alarm with the same + relative offset as on first occurrence". The same transformation to + relative alarm times is applied whenever the transformation to + absolute alarm is enabled for a peer. + +* Sony Ericsson: enable conversion to absolute alarm times (BMC #10092) + + Like Nokia and Mobical.net, Sony Ericsson phones also seem to be unable + to deal with relative alarm times - verified with t700. + +* Sony Ericsson C510: workaround for SyncML violation + + The phone does not sent identifiers for the target database; + using the source identifier as fallback allows a sync to + run. + +* Fixed a regression affecting users who had created a config + with SyncEvolution < 1.0. Using the config worked once, then + failed with "No configuration for ... found". Users must + manually remove the empty "peers" directory inside their + affected configuration, the fix only makes configs without that + directory usable again (BMC #9381). + +* Removed obsolete workaround for older mKCal calendar storage. +* Fixed error message in QtContacts backend. +* Same SYNCEVOLUTION_DEBUG code as in master branch. +* Some updates to synccompare, including a workaround for a Perl + bug seen on Debian Testing with Perl 5.10.1-16 (Perl panic). +* Fix compilation of syncevo-dbus-server with libnotify 0.7.0 (BMC #10453). +* Fixed compilation on Debian GNU/Hurd (no MAX_PATH, Mac OS X confusion). + + SyncEvolution 1.0.1 -> 1.1, 26.10.2010 ====================================== diff --git a/README b/README index 63d025c..8928db2 100644 --- a/README +++ b/README @@ -7,8 +7,8 @@ synchronize personal information management data ------------------------------------------------ :Manual section: 1 -:Version: 1.1+20101101+SE+8e5f8df+SYSYNC+2a247a4 -:Date: 2010-11-01 +:Version: 1.1.0.99.1 +:Date: 2010-12-21 SYNOPSIS ======== @@ -87,7 +87,7 @@ peer. Depending on which parameters are given, different operations are executed. Starting with SyncEvolution 1.0, strings can have different -meanings. Typically, a simple string like `scheduleworld` refers to +meanings. Typically, a simple string like `memotoo` refers to the configuration for that peer, as it did in previous releases. A peer is either a SyncML server (the traditional usage of SyncEvolution) or a client (the new feature in 1.0). @@ -107,7 +107,7 @@ the context name. When different peers are meant to synchronize different local databases, then different contexts have to be used when setting up the peers by appending a context name after the `at` sign, as in -`scheduleworld2@other-context`. Later on, if `scheduleworld2` is +`memotoo2@other-context`. Later on, if `memotoo2` is unique, the `@other-context` suffix becomes optional. Sometimes it is also useful to change configuration options of a @@ -305,8 +305,8 @@ a list of valid values. of the template configurations (see --template option). When creating a new configuration and listing sources explicitly on the command line, only those sources will be set to active in the new - configuration, i.e. `syncevolution -c scheduleworld addressbook` - followed by `syncevolution scheduleworld` will only synchronize the + configuration, i.e. `syncevolution -c memotoo addressbook` + followed by `syncevolution memotoo` will only synchronize the address book. The other sources are created in a disabled state. When modifying an existing configuration and sources are specified, then the source properties of only those sources are modified. @@ -412,7 +412,7 @@ a list of valid values. for known SyncML peers. Defaults to the name, so --template only has to be specified when creating multiple different configurations for the same peer, or when using a template that is named differently - than the peer. `default` is an alias for `scheduleworld` and can be + than the peer. `default` is an alias for `memotoo` and can be used as the starting point for servers which do not have a built-in template. @@ -475,12 +475,12 @@ List the known configuration templates:: syncevolution --template ? -Create a new configuration, using the existing ScheduleWorld template:: +Create a new configuration, using the existing Memotoo template:: syncevolution --configure \ --sync-property "username=123456" \ --sync-property "password=!@#ABcd1234" \ - scheduleworld + memotoo Note that putting passwords into the command line, even for short-lived processes as the one above, is a security risk in shared @@ -493,29 +493,29 @@ This command shows the directory containing the file:: Review configuration:: - syncevolution --print-config scheduleworld + syncevolution --print-config memotoo Synchronize all sources:: - syncevolution scheduleworld + syncevolution memotoo Deactivate all sources:: syncevolution --configure \ --source-property sync=none \ - scheduleworld + memotoo Activate address book synchronization again, using the --sync shortcut:: syncevolution --configure \ --sync two-way \ - scheduleworld addressbook + memotoo addressbook Change the password for a configuration:: syncevolution --configure \ --sync-property password=foo \ - scheduleworld + memotoo Set up another configuration for under a different account, using the same default databases as above:: @@ -523,8 +523,8 @@ the same default databases as above:: syncevolution --configure \ --sync-property username=joe \ --sync-property password=foo \ - --template scheduleworld \ - scheduleworld_joe + --template memotoo \ + memotoo_joe Set up another configuration using the same account, but different local databases (can be used to simulate synchronizing between two @@ -534,7 +534,7 @@ clients, see `Exchanging Data`_:: --sync-property "username=123456" \ --sync-property "password=!@#ABcd1234" \ --source-property sync=none \ - scheduleworld@other + memotoo@other syncevolution --configure \ --source-property evolutionsource= \ @@ -542,16 +542,16 @@ clients, see `Exchanging Data`_:: syncevolution --configure \ --source-property sync=two-way \ - scheduleworld@other addressbook + memotoo@other addressbook - syncevolution scheduleworld - syncevolution scheduleworld@other + syncevolution memotoo + syncevolution memotoo@other Migrate a configuration from the <= 0.7 format to the current one and/or updates the configuration so that it looks like configurations created anew with the current syncevolution:: - syncevolution --migrate scheduleworld + syncevolution --migrate memotoo NOTES @@ -571,16 +571,9 @@ possible because it cannot represent all data that Evolution stores. the same applies to other data sources. How the server stores the items depends on its implementation and -configuration. In the default Funambol server installation, contacts -and calendar items are converted into an internal format, but at -least for contacts it preserves most of the properties used by -Evolution whereas iCalendar 2.0 items are not preserved properly -up to and including Funambol 8.0. ScheduleWorld uses the same format -as Evolution for calendars and tasks and thus requires no conversion. - -To check which data is preserved, one can use this procedure -(described for contacts, but works the same way for calendars and -tasks): +configuration. To check which data is preserved, one can use this +procedure (described for contacts, but works the same way for +calendars and tasks): 1. synchronize the address book with the server 2. create a new address book in Evolution and view it in Evolution diff --git a/README.html b/README.html index e53d455..cae2585 100644 --- a/README.html +++ b/README.html @@ -5,7 +5,7 @@ SyncEvolution - +