syncevolution/src/syncevo
Patrick Ohly a0375e0160 SyncML: workarounds for broken peers
Some peers have problems with meta data (CtCap, old Nokia phones) and
the sync mode extensions required for advertising the restart
capability (Oracle Beehive).

Because the problem occurs when SyncEvolution contacts the peers
before it gets the device information from the peer, dynamic rules
based on the peer identifiers cannot be used. Instead the local config
must already disable these extra features in advance.

The "SyncMLVersion" property gets extended for this. Instead of just
"SyncMLVersion = 1.0" (as before) it now becomes possible to say
"SyncMLVersion = 1.0, noctcap, norestart".

"noctcap" disables sending CtCap. "norestart" disables the sync mode
extensions and thus doing multiple sync cycles in the same session
(used between SyncEvolution instances in some cases to get client and
server into sync in one session).

Both keywords are case-insensitive. There's no error checking for
typos, so beware!

The "SyncMLVersion" property was chosen because it was already in use
for configuring SyncML compatibility aspects and adding a new property
would have been harder.
2012-12-03 17:14:47 +01:00
..
configs vCalendar 1.0 + tasks: DUE date could be shifted by a day (FDO #55238) 2012-10-05 10:22:23 +00:00
BoostHelper.h boost: support boost::bind() + weak pointers 2012-07-10 06:30:33 +00:00
Cmdline.cpp command line: fix for --create/remove-database 2012-10-25 16:43:51 +02:00
Cmdline.h command line: implement --create/remove-database 2012-10-25 16:43:46 +02:00
CmdlineSyncClient.cpp password handling: fixed KWallet support, global configuration option 2012-05-30 09:09:00 +02:00
CmdlineSyncClient.h password handling: fixed KWallet support, global configuration option 2012-05-30 09:09:00 +02:00
ConfigFilter.cpp command line: allow setting empty properties 2012-06-07 14:16:58 +02:00
ConfigFilter.h command line: allow setting empty properties 2012-06-07 14:16:58 +02:00
ConfigNode.cpp .ini files: use newer Ini*ConfigNode 2012-06-07 14:16:58 +02:00
ConfigNode.h command line: allow setting empty properties 2012-06-07 14:16:58 +02:00
ConfigTree.h syncevo: Clean up namespace pollution. 2011-08-26 12:52:15 +02:00
CurlTransportAgent.cpp Merge tag 'syncevolution-1-2-99-3' into FREMANTLE-1-2-99-3 2012-08-05 04:02:44 +02:00
CurlTransportAgent.h syncevo: Clean up namespace pollution. 2011-08-26 12:52:15 +02:00
DataBlob.h DataBlob: abstract access to chunks of data 2010-05-04 09:39:19 +02:00
DBusTraits.h InitState: merged InitState and InitStateClass 2012-10-25 16:43:45 +02:00
declarations.h stdout: never write to std::cout directly (MB #5041) 2010-03-29 11:01:35 +02:00
DevNullConfigNode.h command line: allow setting empty properties 2012-06-07 14:16:58 +02:00
eds_abi_wrapper.cpp CalDAV + syncevolution.org: fixed segfault without libical+libecal 2012-07-10 15:10:14 +02:00
eds_abi_wrapper.h Various packaging and build system patches for the Maemo 5 port. 2012-08-07 01:32:09 +02:00
FileConfigTree.cpp .ini files: use newer Ini*ConfigNode 2012-06-07 14:16:58 +02:00
FileConfigTree.h syncevo: Clean up namespace pollution. 2011-08-26 12:52:15 +02:00
FileDataBlob.cpp DataBlob: abstract access to chunks of data 2010-05-04 09:39:19 +02:00
FileDataBlob.h DataBlob: abstract access to chunks of data 2010-05-04 09:39:19 +02:00
FilterConfigNode.cpp command line: allow setting empty properties 2012-06-07 14:16:58 +02:00
FilterConfigNode.h command line: allow setting empty properties 2012-06-07 14:16:58 +02:00
ForkExec.cpp ForkExec: removed unnecessary line break 2012-07-10 09:37:25 +00:00
ForkExec.h ForkExec: slight logging improvement 2012-06-29 11:36:32 +02:00
GeeSupport.h gee: define GeeStringCollection type 2012-12-03 17:14:47 +01:00
GLibSupport.cpp glib: removed deprecated GLibErrorException 2012-10-25 16:43:50 +02:00
GLibSupport.h glib: use template class for GObject intrusive pointer + "steal" references 2012-12-03 17:14:47 +01:00
GValueSupport.h GValue: added C++ wrapper 2012-10-25 16:43:45 +02:00
HashConfigNode.h ConfigNode API: added writeProperties() and clear() 2009-10-07 18:17:14 +02:00
icalstrdup.c libical: moved support code into core SyncEvolution 2011-02-25 12:18:28 +01:00
icalstrdup.h icalstrdup: fixed compile issue in EDS backend 2011-03-01 15:18:21 +01:00
IniConfigNode.cpp command line: allow setting empty properties 2012-06-07 14:16:58 +02:00
IniConfigNode.h command line: allow setting empty properties 2012-06-07 14:16:58 +02:00
installcheck-local.sh pkg-config: added libgdbussyncevo 2012-01-20 10:25:41 +00:00
lcs.cpp syncevo: Clean up namespace pollution. 2011-08-26 12:52:15 +02:00
lcs.h lcs: must include unistd.h for (s)size_t 2012-01-13 16:42:08 +01:00
LocalTransportAgent.cpp Merge branch 'HARMATTAN-1-3-1' 2012-11-01 19:13:58 +01:00
LocalTransportAgent.h local sync: use weak pointers with asynchronous D-Bus calls 2012-07-10 07:35:25 +00:00
Logging.cpp logging: control libsynthesis console output via SYNCEVOLUTION_DEBUG 2012-06-15 12:25:52 +02:00
Logging.h local sync: improved target side output 2012-06-29 11:35:53 +02:00
LogRedirect.cpp LogRedirect: fixed crash in local sync 2012-07-20 10:39:45 +02:00
LogRedirect.h command line: use both stdout and stderr 2012-04-11 14:38:54 +02:00
LogStdout.cpp logging (base, stdout and syslog): code refactoring 2012-05-10 22:08:47 +02:00
LogStdout.h logging (base, stdout and syslog): code refactoring 2012-05-10 22:08:47 +02:00
LogSyslog.cpp logging (base, stdout and syslog): code refactoring 2012-05-10 22:08:47 +02:00
LogSyslog.h logging (base, stdout and syslog): code refactoring 2012-05-10 22:08:47 +02:00
MapSyncSource.cpp CalDAV + ActiveSync: fixed support for multiple cycles 2012-03-06 14:03:21 +01:00
MapSyncSource.h engine: tell peers about detached recurrence exceptions 2011-11-09 11:38:14 +01:00
MultiplexConfigNode.cpp command line: allow setting empty properties 2012-06-07 14:16:58 +02:00
MultiplexConfigNode.h command line: allow setting empty properties 2012-06-07 14:16:58 +02:00
ObexTransportAgent.cpp rewrote signal handling 2012-01-20 13:58:52 +01:00
ObexTransportAgent.h OBEX transport: code cleanup 2012-01-20 13:58:52 +01:00
PrefixConfigNode.cpp command line: allow setting empty properties 2012-06-07 14:16:58 +02:00
PrefixConfigNode.h command line: allow setting empty properties 2012-06-07 14:16:58 +02:00
readme2c.pl command line: --delete-items ... * deletes all items 2010-10-26 10:24:48 +02:00
SafeConfigNode.cpp command line: allow setting empty properties 2012-06-07 14:16:58 +02:00
SafeConfigNode.h command line: allow setting empty properties 2012-06-07 14:16:58 +02:00
SafeOstream.cpp DataBlob: abstract access to chunks of data 2010-05-04 09:39:19 +02:00
SafeOstream.h DataBlob: abstract access to chunks of data 2010-05-04 09:39:19 +02:00
SingleFileConfigTree.cpp command line: allow setting empty properties 2012-06-07 14:16:58 +02:00
SingleFileConfigTree.h Port build system to non-recursive Automake. 2011-08-30 16:38:34 +02:00
SmartPtr.h GMainLoop smart pointer: moved to GLibSupport.h 2012-01-17 11:04:37 +01:00
SoupTransportAgent.cpp rewrote signal handling 2012-01-20 13:58:52 +01:00
SoupTransportAgent.h rewrote signal handling 2012-01-20 13:58:52 +01:00
StringDataBlob.cpp syncevo: Clean up namespace pollution. 2011-08-26 12:52:15 +02:00
StringDataBlob.h StringDataBlob: implemented write() method 2010-12-01 12:32:47 +01:00
SuspendFlags.cpp core, WebDAV: improved support for aborting while sleeping 2012-06-20 12:26:43 +02:00
SuspendFlags.h core, WebDAV: improved support for aborting while sleeping 2012-06-20 12:26:43 +02:00
SyncConfig.cpp SyncML: workarounds for broken peers 2012-12-03 17:14:47 +01:00
SyncConfig.h SyncML: workarounds for broken peers 2012-12-03 17:14:47 +01:00
SyncContext.cpp SyncML: workarounds for broken peers 2012-12-03 17:14:47 +01:00
SyncContext.h SyncContext: removed dead "SyncModes" code 2012-08-17 15:14:09 +02:00
syncevo.am libgee: C++ wrappers for collections 2012-10-25 16:43:45 +02:00
syncevolution.pc.in autotools: ensure that link lines are complete 2012-07-12 16:11:33 +00:00
SyncML.cpp g++ 4.5 workaround: bool initialization 2012-10-25 16:43:51 +02:00
SyncML.h engine: local cache sync mode 2012-08-31 14:00:46 +02:00
SyncSource.cpp SyncSource: add API for creating and deleting databases 2012-10-25 16:43:46 +02:00
SyncSource.h SyncSource: add API for creating and deleting databases 2012-10-25 16:43:46 +02:00
SynthesisDBPlugin.cpp SyncML server: fixed invalid memory access in blob handling 2012-05-22 09:16:32 +00:00
SynthesisEngine.cpp DBusServer: change status code for password timeout (MB#9636) 2010-03-17 18:40:20 +08:00
SynthesisEngine.h D-Bus server: fix support for WBXML 2012-05-10 22:08:49 +02:00
Timespec.h util/Timespec: moved into Timespec.h 2012-05-10 22:08:47 +02:00
TmpFile.cpp Impove temp file creation and handling, especially for memory mapped 2012-10-25 16:43:08 +02:00
TmpFile.h Impove temp file creation and handling, especially for memory mapped 2012-10-25 16:43:08 +02:00
TrackingSyncSource.cpp sources: force slow sync when listAllItems() returns no revisions 2012-08-31 15:00:25 +02:00
TrackingSyncSource.h phone sync: delete<->delete conflict + phone calendar+todo sync (BMC #23744) 2011-11-18 15:17:21 +00:00
TransportAgent.cpp syncevo-dbus-server: allow SAN messages to start a Connection 2009-10-07 18:12:57 +02:00
TransportAgent.h TransportAgent: simplified timeout API 2011-02-09 15:02:13 +01:00
UserInterface.cpp password handling: fixed KWallet support, global configuration option 2012-05-30 09:09:00 +02:00
UserInterface.h password handling: fixed KWallet support, global configuration option 2012-05-30 09:09:00 +02:00
util.cpp Util: sort in ReadDir 2012-10-25 16:43:43 +02:00
util.h util: add GetWithDef() 2012-10-25 16:43:45 +02:00
VolatileConfigNode.h .ini files: use newer Ini*ConfigNode 2012-06-07 14:16:58 +02:00
VolatileConfigTree.h config handling: old-style configs not found anymore (BMC #9381) 2010-11-01 12:49:12 +01:00