------------------------------------------------------------------------
r6212 | cdfrey | 2011-07-19 08:47:06 +0400 (Tue, 19 Jul 2011) | 15 lines Fixed logic of unidirectional write optimization in osync_obj_engine_command() Again! This fixes 8027c2774c9ee25797734bd4594a8ec5a54c1217 and Commit 2e54e5125aee9d0a4d8479c1276b7cc49db82677. I think I finally got it this time. :-) If there is only one writable objtype, and we're processing it, then there is no reason to call get_changes() on it, since no other objtype can accept them. Any other configuration with multiple writable objtype sinks do demand get_changes() calls everywhere. ------------------------------------------------------------------------ r6211 | cdfrey | 2011-07-16 04:27:57 +0400 (Sat, 16 Jul 2011) | 22 lines Fixed access of freed memory in osync_obj_engine_command() The original commit from Daniel Gollub, to add preliminary uni-directional syncs to opensync can be found at commit 865414da0d3ffff2a7865fce9c82adcd7587c218. Commit 2e54e5125aee9d0a4d8479c1276b7cc49db82677 fixed some missing code in one of the functions added in Daniel's commit. Now that _osync_obj_engine_num_write_sinks() is working, this exposed a memory bug, where _osync_obj_engine_read_callback() was called outside of its normal callback sequence, and therefore did not have its userdata 'sinkengine' ref'd properly. The callback unref'd the memory too early, causing potential crashes. I'm still unclear why _osync_obj_engine_read_callback() is being called here in the first place, but I'll leave that for another commit. [See http://repo.or.cz/w/opensync/opensync-cdf.git for the git commit references] ------------------------------------------------------------------------ r6210 | cdfrey | 2011-07-05 02:38:36 +0400 (Tue, 05 Jul 2011) | 13 lines Add missing code to _osync_obj_engine_num_write_sinks() Commit 865414da0d3ffff2a7865fce9c82adcd7587c218 was missing any code to check for the sink's writable state. I'm unclear on the logic, but I believe this commit satisfies the requirement. This commit follows the path of OSyncObjEngine -> OSyncSinkEngine -> OSyncClientProxy -> OSyncMember -> OSyncObjTypeSink (using OSyncObjEngine's objtype) -> the write flag. Ouch! :-) ------------------------------------------------------------------------ r6209 | dgollub | 2011-07-02 14:26:19 +0400 (Sat, 02 Jul 2011) | 4 lines Most distribution also build with -O2, so we should make that our code compiles fine with this. (test commit) ------------------------------------------------------------------------ r6170 | dgollub | 2011-01-15 17:48:46 +0300 (Sat, 15 Jan 2011) | 2 lines fixed more compiler warnings of example plugins. ------------------------------------------------------------------------ r6169 | dgollub | 2011-01-15 17:47:37 +0300 (Sat, 15 Jan 2011) | 4 lines fixed compiler warning (-Werror): docs/examples/plugins/src/plugin.c:284:2: error: format ?\226?\128?\152%s?\226?\128?\153 expects type ?\226?\128?\152char *?\226?\128?\153, but argument 3 has type ?\226?\128?\152struct OSyncPluginConfig *?\226?\128?\153 ------------------------------------------------------------------------ r6168 | dgollub | 2011-01-15 17:46:47 +0300 (Sat, 15 Jan 2011) | 5 lines Fix compiler warninung about /docs/examples/plugins/src/external_demo.c:66:1: error: label ?\226?\128?\152error?\226?\128?\153 defined but not used ------------------------------------------------------------------------ r6164 | dgollub | 2010-12-18 20:08:16 +0300 (Sat, 18 Dec 2010) | 7 lines Website search should work again fix #1202 (test commit for post-commit hook) ------------------------------------------------------------------------ r6163 | dgollub | 2010-12-18 17:48:34 +0300 (Sat, 18 Dec 2010) | 4 lines fix link. (commit test) ------------------------------------------------------------------------ r6150 | ianmartin | 2010-10-21 17:55:57 +0400 (Thu, 21 Oct 2010) | 5 lines Check if system specfic macros are defined rather than their value Fixes #1263 Thanks to Eckhart W?\195?\182rner <ewoerner@kde.org> for patch ------------------------------------------------------------------------ r6094 | cdfrey | 2010-08-16 22:45:08 +0400 (Mon, 16 Aug 2010) | 6 lines Enhanced osync_time_timestamp() to handle ISO timezone offsets as well If an ISO 8601 timezone offset exists in the timestamp passed to osync_time_timestamp(), then it will attempt to convert it into a UTC vtime timestamp in the form of YYYYMMDDTHHMMSSZ, which is the Opensync time format. ------------------------------------------------------------------------ r6093 | cdfrey | 2010-08-16 22:44:57 +0400 (Mon, 16 Aug 2010) | 1 line Added missing time_utc_offset test to 'make test' run ------------------------------------------------------------------------ r6092 | cdfrey | 2010-08-16 22:44:44 +0400 (Mon, 16 Aug 2010) | 1 line Added osync_time_parse_iso_timezone_diff() ------------------------------------------------------------------------ r6091 | cdfrey | 2010-08-14 04:24:19 +0400 (Sat, 14 Aug 2010) | 1 line Oops... opensync.sym is sorted, fixed so test will pass ------------------------------------------------------------------------ r6090 | cdfrey | 2010-08-14 04:12:27 +0400 (Sat, 14 Aug 2010) | 5 lines Do not strip out the dashes related to timezone offsets With a string such as "2010-05-01T03:15:00.000-03:00", the previous version of the function would remove the dash from the "-03:00" timezone offset. This is not correct. ------------------------------------------------------------------------ r6078 | cdfrey | 2010-08-14 02:48:01 +0400 (Sat, 14 Aug 2010) | 1 line API: added osync_plugin_get_default_configdir() to access OPENSYNC_CONFIGDIR ------------------------------------------------------------------------ r6077 | cdfrey | 2010-08-14 02:47:52 +0400 (Sat, 14 Aug 2010) | 5 lines Allow time functions to accept YYYY-MM-DDTHH:MM:SS formats Some formats, such as google calendar, hold timestamps in a format that includes dashes and colons. It makes sense to accept both in the library time routines. ------------------------------------------------------------------------ r6076 | cdfrey | 2010-08-14 02:47:44 +0400 (Sat, 14 Aug 2010) | 1 line time: put UTC detection in one function only ------------------------------------------------------------------------ r6074 | cdfrey | 2010-07-10 06:03:28 +0400 (Sat, 10 Jul 2010) | 1 line Fixed memory leak in osync_member_load() ------------------------------------------------------------------------ r6051 | cdfrey | 2010-07-05 22:51:38 +0400 (Mon, 05 Jul 2010) | 26 lines Removed all unnecessary long longs from IDs, and gave IDs typedef names The new ID types are: typedef int osync_memberid; typedef int osync_mappingid; typedef int osync_groupid; typedef long long int osync_archiveid; typedef long long int osync_messageid; osync_archiveid is 64 bits because the ID is the row ID of the underlying database. This must match the database used. Note that there is a bug in the implementation where the above 64 bit IDs are crammed into a 32 bit pointer on 32 bit systems. The implementation should be fixed, not the size of the osync_archiveid. Look for FIXME's in the code. osync_messageid is 64 bits because 6 bytes are used for the time in seconds and microseconds, and the lower 2 bytes are a random number, to create a unique IPC message ID. The other 3 IDs usually start at 1 or 0 and increment from there, and int should be completely sufficient for them. ------------------------------------------------------------------------ r6049 | cdfrey | 2010-06-29 06:17:12 +0400 (Tue, 29 Jun 2010) | 3 lines Fixed memory leak in osync_capabilities_unref() ------------------------------------------------------------------------ r6048 | cdfrey | 2010-06-29 06:13:17 +0400 (Tue, 29 Jun 2010) | 3 lines Applied Daniel Gollub's patch to memory leak in osync_member_get_config_or_default ------------------------------------------------------------------------ r6045 | dgollub | 2010-04-18 12:49:40 +0400 (Sun, 18 Apr 2010) | 6 lines Make serialization of username optional, depending on support flags. Fixes issues with Barry plugin. Patch by Nicolas ------------------------------------------------------------------------ r6035 | prahal | 2010-02-11 01:07:08 +0300 (Thu, 11 Feb 2010) | 5 lines Adapt the number of formats and converters as I added any new ones Those added where in testcase for see #1207. ------------------------------------------------------------------------ r6034 | prahal | 2010-02-11 00:53:13 +0300 (Thu, 11 Feb 2010) | 9 lines Add testcase for #1207 Ie if a change is shared (members have "same" entries) , the conversion in prepare write will apply more than once to this change. As the conversion path is cached, conversion will happens with a forced conversion path on data already converted to another format. Which can segfault and is anyway of no use and harmfull( change is not meant to be written). ------------------------------------------------------------------------ r6033 | markellis | 2010-02-08 00:41:32 +0300 (Mon, 08 Feb 2010) | 1 line correct func entry trace after possible failing statement ------------------------------------------------------------------------ r6027 | dgollub | 2010-01-31 20:06:57 +0300 (Sun, 31 Jan 2010) | 9 lines Don't call _osync_obj_engine_clone_and_demerge_change() in _osync_obj_engine_mapping_find() if the merge is disabled by the group configuration. Otherwise this would cause: "Couldn't handle the capabilities in format" Patch by Nicolas, fixes #1206 ------------------------------------------------------------------------ r6021 | dgollub | 2010-01-23 20:33:22 +0300 (Sat, 23 Jan 2010) | 10 lines Avoid string-pointer NULL dereference in TRACE_ENTRY calls in opensync_client_proxy.c This might be often the case, since main-sinks are identified by objtype = NULL. This got spotted by scriptor. Extended patch, by using __NULLSTR() macro a fixed all other TRACE_ENTRY places where a string got used. fixes #1204 ------------------------------------------------------------------------ r6018 | dgollub | 2010-01-22 18:45:55 +0300 (Fri, 22 Jan 2010) | 3 lines Added more trace hints to hunt down more easily Changes/Entries with wrong format or malformed OSyncData object. For debugging purposes only. ------------------------------------------------------------------------ r6017 | dgollub | 2010-01-22 18:22:29 +0300 (Fri, 22 Jan 2010) | 3 lines Give summary of conversion results in trace files. This is for debugging purposes only. ------------------------------------------------------------------------ r6005 | markellis | 2010-01-13 15:08:22 +0300 (Wed, 13 Jan 2010) | 1 line glib has deprecated individual includes, replaced with glib.h and check for GRegex by version ------------------------------------------------------------------------ r6002 | dgollub | 2010-01-11 18:28:13 +0300 (Mon, 11 Jan 2010) | 13 lines Make multisync_conflict_hybrid_choose more reliable by switching to a new conflict handler. Instead of taking the "first" modified entry we choose the modified entry of member 2. For this a new conflict resolution function got introduced in the testsuite. The memberid get passed via userdata pointer. The order of the mapping_engine list seems to be not sorted by memberid. TODO: How is this list of changes sorted? fixes #1124 ------------------------------------------------------------------------ r6001 | dgollub | 2010-01-10 22:11:36 +0300 (Sun, 10 Jan 2010) | 6 lines Move all doxygen anotation from C-files to their header files. This is now complete for the opensync/ directory. fixes #898 ------------------------------------------------------------------------ r6000 | dgollub | 2010-01-10 22:02:37 +0300 (Sun, 10 Jan 2010) | 4 lines Move doxygen anotation to header file refs #898 ------------------------------------------------------------------------ r5999 | dgollub | 2010-01-10 21:56:22 +0300 (Sun, 10 Jan 2010) | 7 lines Added some simple plugin configuration with resources configuration. Even that resources configuration is optional. Most plugin starts might want to start with hardcoded resources configuration. fixes #922 ------------------------------------------------------------------------ r5998 | dgollub | 2010-01-10 21:50:28 +0300 (Sun, 10 Jan 2010) | 6 lines Drop fail() calls which require libcheck linking. Drop libcheck link. This allows sane Debian packaging. fixes #833 ------------------------------------------------------------------------ r5997 | dgollub | 2010-01-10 21:38:05 +0300 (Sun, 10 Jan 2010) | 5 lines Avoid assert() if no mapping entry got found. This patch is orignally from scriptor, slightly adapted by dgollub. fixes #1093 ------------------------------------------------------------------------ r5993 | dgollub | 2010-01-10 21:03:23 +0300 (Sun, 10 Jan 2010) | 7 lines Changed order of main_sink connect and sink connect calls. Adapted testsuite which verified correct order of plugin sink function calls. Testsuite patch by paule fixes #1198 ------------------------------------------------------------------------ r5992 | dgollub | 2010-01-10 20:34:33 +0300 (Sun, 10 Jan 2010) | 6 lines Introduce testcase to verify correct slow-sync once the hashtable gets deleted. fixes #960 ------------------------------------------------------------------------ r5991 | dgollub | 2010-01-10 20:34:06 +0300 (Sun, 10 Jan 2010) | 11 lines Reset slow-sync set to allow multiple syncs (multi-sync) with one initialized OSyncEngine. Slow-sync reset was always unclean and only got reseted after the next connect() call. Since slow-syncs now can be triggered even before a connect (e.g. hashtable deletion) things needed to get cleaned up. Since sync-done() function is the very last plugin call in a multi-sync the slow-sync state get rested there for OSyncClientProxy and OSyncClient. refs #960 ------------------------------------------------------------------------ r5990 | dgollub | 2010-01-10 20:29:30 +0300 (Sun, 10 Jan 2010) | 5 lines remove debugging statement/printf refs #960 ------------------------------------------------------------------------ r5989 | dgollub | 2010-01-10 20:23:59 +0300 (Sun, 10 Jan 2010) | 6 lines Fix build of test/support.o this got broken with previous commit when introducing a new parameter to osync_hashtable_new refs #960 ------------------------------------------------------------------------ r5988 | dgollub | 2010-01-10 20:07:53 +0300 (Sun, 10 Jan 2010) | 5 lines Set slow-sync for ObjTypeSink if the hashtable got deleted. refs #960 ------------------------------------------------------------------------ r5987 | dgollub | 2010-01-10 20:06:11 +0300 (Sun, 10 Jan 2010) | 6 lines Add a parameter in osync_hashtable_new to allow to report that the hashtable got newly created. This helps to identify that the hashtable might got deleted. This is useful to report a slowsync in this case see #960 ------------------------------------------------------------------------ r5986 | dgollub | 2010-01-10 19:58:47 +0300 (Sun, 10 Jan 2010) | 7 lines Marshal/Denmarshal the slow-sync attribute of a ObjtypeSink. This is required to trigger a slow-sync in the initailze state. This coudl happen in case the hashtable got deleted. see #960 ------------------------------------------------------------------------ r5984 | dgollub | 2010-01-10 18:22:03 +0300 (Sun, 10 Jan 2010) | 5 lines Introduced example plugin with static capabilities. fixes #1048 ------------------------------------------------------------------------ r5982 | markellis | 2010-01-10 18:09:19 +0300 (Sun, 10 Jan 2010) | 1 line wrapper modifications due to API changes, sufficient to allow a clean import into python ------------------------------------------------------------------------ r5972 | dgollub | 2010-01-05 16:31:28 +0300 (Tue, 05 Jan 2010) | 7 lines Export osync_queue_cross_link to make this available to osplugin process for external plugins. This fixes evo2-sync plugin and other OSYNC_START_TYPE_PROCESS plugins. fixes #1190 ------------------------------------------------------------------------ r5971 | dgollub | 2010-01-05 16:29:49 +0300 (Tue, 05 Jan 2010) | 4 lines Added osync_capability_add_parameter function to the symbols fail to let the symbols API test pass. Got broken due to previous commit. ------------------------------------------------------------------------ r5970 | dgollub | 2010-01-05 00:10:37 +0300 (Tue, 05 Jan 2010) | 6 lines Introduced osync_capability_add_parameter interface to handle a list of parameters. fixes #1182 ------------------------------------------------------------------------ r5969 | dgollub | 2010-01-04 23:58:59 +0300 (Mon, 04 Jan 2010) | 2 lines Fix gcc 4.4.1 compiler warning of uninitialized variable. ------------------------------------------------------------------------ r5968 | dgollub | 2010-01-04 23:58:11 +0300 (Mon, 04 Jan 2010) | 3 lines Introduce OSYNC_DEPRECATED to declare function as deprecated. Macros got copied from libsyncml. ------------------------------------------------------------------------ r5966 | dgollub | 2010-01-04 23:15:22 +0300 (Mon, 04 Jan 2010) | 8 lines Fix issue in osync_xmlfield_new_xmlfield() when the first child pointer get always overwritten. This requires that the previous pointer (in this case the last child in the siblings-list) get retrieved via a new function: osync_xmlfield_get_last_child() see #1183 ------------------------------------------------------------------------ r5964 | bricks | 2009-11-30 22:33:01 +0300 (Mon, 30 Nov 2009) | 2 lines fixed some compiler warnings about: "format not a string literal and no format arguments" ------------------------------------------------------------------------ r5963 | dgollub | 2009-11-16 08:46:20 +0300 (Mon, 16 Nov 2009) | 2 lines Revert redudant function declartion - introduced by r5962 ------------------------------------------------------------------------ r5962 | dgollub | 2009-11-13 19:16:10 +0300 (Fri, 13 Nov 2009) | 5 lines Updated tbl_changelog columns names to make clear which IDs are used. This also fixes the issue that the information which member reported the entry, which gets ignored, had which changetype. ------------------------------------------------------------------------ r5956 | cdfrey | 2009-11-11 02:20:20 +0300 (Wed, 11 Nov 2009) | 3 lines Fixed all format errors reported by new GCC_FORMAT_CHECK ------------------------------------------------------------------------ r5955 | cdfrey | 2009-11-11 02:18:28 +0300 (Wed, 11 Nov 2009) | 3 lines Added GCC printf format string / arg checking to printf-like functions ------------------------------------------------------------------------ r5950 | dgollub | 2009-11-08 19:11:26 +0300 (Sun, 08 Nov 2009) | 5 lines Marshal/demarhasl the objtype sink also on the plugin initialize phase to get information if plugins provide a get_changes or read function, which are optional and have impact on conflict-handling (e.g. read() and ignore resolution-hanlder) if they aren't available. ------------------------------------------------------------------------ r5942 | dgollub | 2009-11-05 23:12:29 +0300 (Thu, 05 Nov 2009) | 7 lines Reenable pending limit. This got temporarly disabled by r5858 to address issue described in #1161 Finally we can commit/write more then 10 changes with the SyncML plugin, without loosing pending limit capability! ------------------------------------------------------------------------ r5939 | dgollub | 2009-11-05 22:10:05 +0300 (Thu, 05 Nov 2009) | 4 lines Fix osync_trace() varg list which was missing the error parameter. Added input_data and input_size of converter trace instrumentation for easier debugging. ------------------------------------------------------------------------ r5938 | dgollub | 2009-11-05 22:09:09 +0300 (Thu, 05 Nov 2009) | 3 lines ix jumps based on uninitialized values - reported by valgrind. Caused crashes if one or more members didn't had any capabilities. ------------------------------------------------------------------------ r5937 | dgollub | 2009-11-05 22:00:41 +0300 (Thu, 05 Nov 2009) | 3 lines Instrument start of conversion function with trace entry/exit calls. This helps debugging with trace files when a conversion plugin fails. ------------------------------------------------------------------------ r5936 | dgollub | 2009-11-05 21:56:39 +0300 (Thu, 05 Nov 2009) | 4 lines By default the format-plugin should fail on any conversion, otherwise this cause unexpected conversion path once the example format plugin got installed in the system-environment ------------------------------------------------------------------------ r5934 | dgollub | 2009-11-05 21:41:39 +0300 (Thu, 05 Nov 2009) | 4 lines Fail if conversion results in a converted-change with size 0. This should report broekn format plugins. ------------------------------------------------------------------------ r5933 | dgollub | 2009-11-05 21:40:46 +0300 (Thu, 05 Nov 2009) | 6 lines Sanity check for demerger. Check if the change to demerge has a reasonable size ... size > 0 This avoids that a format-plugin which isn't expecting an empty change is crashing. Instead the engine fails smoothly with an OSyncError ------------------------------------------------------------------------ r5930 | dgollub | 2009-11-05 21:13:34 +0300 (Thu, 05 Nov 2009) | 2 lines Start sub-error-message in a new line ------------------------------------------------------------------------ r5929 | dgollub | 2009-11-05 19:31:39 +0300 (Thu, 05 Nov 2009) | 9 lines Introduced context-unittest Currently only the osync_context_report_uid_update() function gets tested. Fixes #1161 ------------------------------------------------------------------------ r5928 | dgollub | 2009-11-05 19:30:06 +0300 (Thu, 05 Nov 2009) | 7 lines Implement the required mapping-table update calls for a UID-update during the sync-done phase. osync_context_report_uid_update() is no longer NOP. see #1161 ------------------------------------------------------------------------ r5927 | dgollub | 2009-11-05 19:28:53 +0300 (Thu, 05 Nov 2009) | 5 lines Update hashtable if a plugin sends a osync_context_report_uid_update() event. see #1161 ------------------------------------------------------------------------ r5926 | dgollub | 2009-11-05 19:27:29 +0300 (Thu, 05 Nov 2009) | 5 lines Introduce archive function to update the UID in the mapping-table, which is inside the archive-database. see #1161 ------------------------------------------------------------------------ r5925 | dgollub | 2009-11-05 19:25:05 +0300 (Thu, 05 Nov 2009) | 6 lines Introduce internal hashtable function to update the UID. This got introduced for osync_context_report_uid_update() see #1161 ------------------------------------------------------------------------ r5923 | dgollub | 2009-11-04 19:07:07 +0300 (Wed, 04 Nov 2009) | 11 lines Introduce osync_context_report_uid_update() to report mapping changes for async protocolos (e.g. syncml, ...). This context function is useable inside the sync_done() phase. The interface it self is currently NOP. Mapping table update still needs to be implemented. See #1161 ------------------------------------------------------------------------ r5920 | dgollub | 2009-11-03 21:20:53 +0300 (Tue, 03 Nov 2009) | 11 lines Fix parsing and assembling of ObjFormatSink XML configuration by replacing prepend with append. Not very likely that parsing the configuration is getting to complex ... Added testcase plugin_config_save_load_save Adapted sanity checks of various testcases to deal with the new order of assembling of the ObjFormatSink XML fields. Fixes #969 ------------------------------------------------------------------------ r5919 | dgollub | 2009-11-03 20:01:39 +0300 (Tue, 03 Nov 2009) | 6 lines Check if conflict handlers use_latest and ignore are supported for the current mapping-engines in advance. Fixes #1185 ------------------------------------------------------------------------ r5916 | dgollub | 2009-11-02 16:52:11 +0300 (Mon, 02 Nov 2009) | 2 lines Validate External Plugin Configuration XML files against OSYNC_EXTERNAL_PLUGIN_CONFIG_SCHEMA ------------------------------------------------------------------------ r5915 | dgollub | 2009-11-02 16:02:51 +0300 (Mon, 02 Nov 2009) | 10 lines Created XML Schema (XSD) for ExternalPlugin XML configuraiton file. Based on ./docs/examples/plugins/src/external_plugin.xml and it's C parsing implementation by Graham. Hint for everyone how needs to write XSD from scratch on an already exisitng XML file. Use this commandline: xmllint --schema external_plugin_config.xsd external_plugin.xml ------------------------------------------------------------------------ r5914 | dgollub | 2009-11-02 15:49:22 +0300 (Mon, 02 Nov 2009) | 15 lines Introduced internal interfaces: - osync_plugin_{set,get}_external_command This functions get and set the default plugin external command. The default external_command value is set inside the XML external plugin configuration file. Once this configuration file got parsed (during plugin_env_load phase) osync_plugin_get_external_command will return the default external_command. If none external_command is set in the indiviual plugin-member-configuration (aka. OSyncPuginConfig) the external_command of OSyncPlugin gets used (osync_plugin_get_external_command) to spawn the external process. ------------------------------------------------------------------------ r5913 | dgollub | 2009-11-02 15:27:58 +0300 (Mon, 02 Nov 2009) | 4 lines Drop external-demo configuration from the build-env. The default config got dropped in a previous commit. This fixes the build of the example plugins. ------------------------------------------------------------------------ r5912 | dgollub | 2009-11-02 15:26:41 +0300 (Mon, 02 Nov 2009) | 5 lines Renamed the external-demo plugin to external-plugin. plugin developers don't need to know that there are other possibilities beside XML to register such a plugin. The XML way is the prefered way to register external-plugins. ------------------------------------------------------------------------ r5911 | dgollub | 2009-11-02 15:24:32 +0300 (Mon, 02 Nov 2009) | 6 lines Drop plugin-stub which is obsolete since we have external-plugin xml configuration which register external plugins in the PluginEnv. Also drop stub configuration file, since we try to support plugins without any configuration: OSyncPluginConfigurationType: None ------------------------------------------------------------------------ r5910 | dgollub | 2009-11-02 15:19:13 +0300 (Mon, 02 Nov 2009) | 5 lines Changed INSTALL parameter from TARGETS to FILES, since external plugin configuration files are not in the build directory, neither they're targets. ------------------------------------------------------------------------ r5909 | dgollub | 2009-11-02 15:15:46 +0300 (Mon, 02 Nov 2009) | 3 lines Introduced OPENSYNC_EXTERNAL_PLUGIN_INSTALL CMake Macro to install external (XML) plugin configuration ------------------------------------------------------------------------ r5908 | dgollub | 2009-11-02 15:03:43 +0300 (Mon, 02 Nov 2009) | 7 lines Fixed compiler warnings/errors, with gcc optimzation. Fixed wrong refrence of OSyncError - it got dereferecd twice. Changed some signed chars and unsigned chars for xmlChar API Fixed potential memory leak of returned pointer of xmlPropGet, which needs to get freed, not only in error condition, with the xmlFree/osync_xml_free function. ------------------------------------------------------------------------ r5907 | dgollub | 2009-11-02 15:01:07 +0300 (Mon, 02 Nov 2009) | 3 lines Fixed build of swig-wrapper, due to renaming enum OSyncConfigratuionType to OSyncPluginConfigurationType ------------------------------------------------------------------------ r5906 | Graham Cobb | 2009-11-02 02:18:35 +0300 (Mon, 02 Nov 2009) | 1 line External plugin configuration file support ------------------------------------------------------------------------ r5903 | dgollub | 2009-11-01 21:22:17 +0300 (Sun, 01 Nov 2009) | 5 lines Fix memory allocator erros if format example plugin got installed. Allocating size of 0 by osync_try_malloc0 causes: ERROR: No memory left (tried to allocate 0 bytes) ------------------------------------------------------------------------ r5900 | bricks | 2009-11-01 19:26:59 +0300 (Sun, 01 Nov 2009) | 1 line fixed some compiler warnings and indentation ------------------------------------------------------------------------ r5899 | bricks | 2009-11-01 19:24:51 +0300 (Sun, 01 Nov 2009) | 1 line renamed OSyncConfigurationType to OSyncPluginConfigurationType ------------------------------------------------------------------------ r5898 | dgollub | 2009-11-01 18:42:50 +0300 (Sun, 01 Nov 2009) | 7 lines Retrieve the external_command directly in _osync_engine_initialize_member() since this function honors the OSyncConfigurationType or if the plugin already has a configuration. Another reason is that this avoids too many calls of osync_member_get_config_or_default() ------------------------------------------------------------------------ r5897 | dgollub | 2009-11-01 18:01:04 +0300 (Sun, 01 Nov 2009) | 6 lines Fix various test-suite regression by commit r5896 which get caused by a segfault. Due to a missing initization by NULL of an OSyncError *struct ------------------------------------------------------------------------ r5896 | henrik | 2009-11-01 17:32:43 +0300 (Sun, 01 Nov 2009) | 32 lines Plugins of type OSYNC_START_TYPE_EXTERNAL needs to be able to spawn an external command to run the actual plugin code. This patch allows a member to set an ExternalCommand in the plugin configuration file. This command will be executed by the proxy to start up the external process. The external_command should be a string in printf format, with one %s. Before the command is executed, a variant of printf will be called to replace the %s with the path to the plugin pipe. Example: <ExternalPlugin> <ExternalCommand>thunderbird -mozilla-sync %s</ExternalCommand> </ExternalPlugin> Added to public API: osync_plugin_config_get_externalplugin osync_plugin_config_set_externalplugin osync_plugin_externalplugin_new osync_plugin_externalplugin_unref osync_plugin_externalplugin_ref osync_plugin_externalplugin_get_external_command osync_plugin_externalplugin_set_external_command (as well as the changed format for the plugin configuration file) Changed internal interface: From osync_bool osync_client_proxy_spawn(OSyncClientProxy *proxy, OSyncStartType type, const char *path, OSyncError **error) To osync_bool osync_client_proxy_spawn(OSyncClientProxy *proxy, OSyncStartType type, const char *path, const char* external_command, OSyncError **error) ------------------------------------------------------------------------ r5895 | dgollub | 2009-10-31 00:30:07 +0300 (Sat, 31 Oct 2009) | 45 lines Added reference implementation of an EXTERNAL plugin, which can be a standalone userspace application. Currently a stub plugin-module is required to register the plugin to OpenSync's plugin environment and configure the start type to OSYNC_START_TYPE_EXTERNAL. This will be obsolate soon and replaced by simple config files instead, so no programming of a stub plugin is required .. Proof of Concept: ~~~~~~~~~~~~~~~~~ $ ./example_external_demo ~/.config/opensync/0.40/group6/1/pluginpipe & [1] 10841 $ [EXTERNAL-DEMO]: OSyncPlugin:0x40159d OSyncClient:0x603040 [EXTERNAL-DEMO]: Starting (blocking) OSyncClient ... $ $ osynctool --sync external Synchronizing group "external" [EXTERNAL-DEMO]: initialize data sink of member 2 of type file-sync just connected Main sink of member 2 of type file-sync just connected data sink of member 1 of type external-demo just connected Main sink of member 1 of type external-demo just connected All clients connected or error [EXTERNAL-DEMO]: get_changes slow_sync: no data sink of member 2 of type file-sync just sent all changes data sink of member 1 of type external-demo just sent all changes Main sink of member 1 of type external-demo just sent all changes Main sink of member 2 of type file-sync just sent all changes [...] The sync was successful data sink of member 1 of type external-demo just disconnected Main sink of member 1 of type external-demo just disconnected data sink of member 2 of type file-sync just disconnected Main sink of member 2 of type file-sync just disconnected All clients have disconnected [EXTERNAL-DEMO]: OSyncClient completed. [1]+ Done ./example_external_demo ~/.config/opensync/0.40/group6/1/pluginpipe $ ------------------------------------------------------------------------ r5894 | dgollub | 2009-10-31 00:09:28 +0300 (Sat, 31 Oct 2009) | 17 lines API changes for osync_client_run_and_block() Added parameter: OSyncError** which gets set on any error. Additionally the return type changed to osync_bool. The return value is FALSE on any error, on success TRUE. New OSyncClient interfaces: * osync_client_{get,set}_plugin * osync_client_{get,set}_pipe_path This changes allow to assemble plugins which run as an external process: OSYNC_START_TYPE_EXTERNAL Such plugins assemble OSyncPlugin* and OSyncClient* and need to set the pipe path to the "pluginpipe" in the member direcotry. ------------------------------------------------------------------------ r5890 | paule | 2009-10-23 01:34:00 +0400 (Fri, 23 Oct 2009) | 1 line API documentation: minor fix to OSyncStartType documentation ------------------------------------------------------------------------ r5889 | paule | 2009-10-23 01:28:15 +0400 (Fri, 23 Oct 2009) | 1 line API documentation: document OSyncStartType enum. Fixes bug #921. ------------------------------------------------------------------------ r5888 | cdfrey | 2009-10-23 00:42:43 +0400 (Fri, 23 Oct 2009) | 3 lines Fixed "out of memory" bug where xmlformat->child_count == 0 ------------------------------------------------------------------------ r5887 | cdfrey | 2009-10-23 00:22:11 +0400 (Fri, 23 Oct 2009) | 3 lines Added explanation message of why we're running out of memory ------------------------------------------------------------------------ r5875 | henrik | 2009-10-21 01:19:45 +0400 (Wed, 21 Oct 2009) | 1 line Make osync_bool osync_group_env_setup_config_dir work even if user has neither the new XDG_CONFIG_HOME/opensync/0.40 directory nor the old /home/Henrik//.opensync. Fixes #1172 ------------------------------------------------------------------------ r5874 | henrik | 2009-10-21 00:31:05 +0400 (Wed, 21 Oct 2009) | 1 line Correct cloning of mapping change in _osync_obj_engine_mapping_find. Fixes ticket 1170 ------------------------------------------------------------------------ r5872 | cdfrey | 2009-10-17 01:06:15 +0400 (Sat, 17 Oct 2009) | 10 lines Fixed bug where member_id is not updated when new member is added This patch sets the member_id in osync_group_add_member() in the same place that the configdir is set, since that's when osync_group_create_member_id() is called. With this fix, it is possible to add a member to a group, and then immediately list it, without reloading from disk. ------------------------------------------------------------------------ r5870 | henrik | 2009-10-13 23:35:20 +0400 (Tue, 13 Oct 2009) | 1 line demerge_xmlformat in xmlformat_merge.c requires capabilities to be sorted. So now we sort them before saving. Fixes bug 1168 ------------------------------------------------------------------------ r5869 | dgollub | 2009-10-13 22:51:22 +0400 (Tue, 13 Oct 2009) | 16 lines Fix invalid comparsion results. Mixing up the OSyncChange pointers caused that the logical same entries got compared together. This was not obvious due to the cloning. This bug was introduced by r5747 Overwriting pointer change1 too early with clone_change1 caused that the clone_demerge function processed the logical change2, instead of change1. The twist of demerging with capabililtiies of member 1, the change of member 2 and vice-versa, is intended. Report and most of the debugging was done by henrik ------------------------------------------------------------------------ r5863 | cdfrey | 2009-09-30 03:30:16 +0400 (Wed, 30 Sep 2009) | 3 lines Forgot to add my name to the comments ------------------------------------------------------------------------ r5861 | cdfrey | 2009-09-30 03:25:31 +0400 (Wed, 30 Sep 2009) | 3 lines pkgconfig: renamed libopensync.pc.in to libopensync1.pc.in ------------------------------------------------------------------------ r5860 | cdfrey | 2009-09-30 03:20:47 +0400 (Wed, 30 Sep 2009) | 18 lines opensync_group_env.c: added 0.22 -> 0.40 copy upgrade behaviour The first time that opensync runs and creates its default directory (which will not exist on any pure 0.22 system because the new default directory has a version number in it) opensync will search for old 0.22 group configs in the ~/.opensync directory, and if found, copy them all to the new $XDG_CONFIG_HOME (~/.config/opensync/0.40) directory. After this copy is complete, it is safe to run OSyncUpdater on the new 0.40 config directory. Note: this patch contains two generic functions: osync_glob_copy() and osync_copy_file() which perhaps should be moved into somewhere genericly useful. The OSyncUpdater code could possibly use these functions too... they were based on OSyncUpdater code. ------------------------------------------------------------------------ r5859 | cdfrey | 2009-09-30 03:19:39 +0400 (Wed, 30 Sep 2009) | 6 lines opensync_group_env.c: added XDG_CONFIG_HOME support Opensync 0.40's config directory is now $XDG_CONFIG_HOME/opensync/0.40 and falling back to $HOME/.config/opensync/0.40 ------------------------------------------------------------------------ r5858 | Graham Cobb | 2009-09-30 02:18:03 +0400 (Wed, 30 Sep 2009) | 1 line Temporarily disable pending limit ------------------------------------------------------------------------ r5857 | bricks | 2009-09-28 13:39:10 +0400 (Mon, 28 Sep 2009) | 4 lines create a xmlfield if value is an empty string ("") added testcase for xmlfield_set_key_value fixes #1155 ------------------------------------------------------------------------ r5855 | cdfrey | 2009-09-27 09:49:22 +0400 (Sun, 27 Sep 2009) | 3 lines opensync_group.c: fixed missing error checking of sscanf() ------------------------------------------------------------------------ r5854 | cdfrey | 2009-09-27 09:01:09 +0400 (Sun, 27 Sep 2009) | 6 lines opensync_group_env.c: fixed printing of null pointers osync_group_env_load_groups() used 'path' where it should have used 'env->groupsdir' when printing status and error messages ------------------------------------------------------------------------ r5825 | dgollub | 2009-09-22 01:19:14 +0400 (Tue, 22 Sep 2009) | 2 lines Increase version to 0.40 in advance for snapshot builds ------------------------------------------------------------------------ r5810 | cdfrey | 2009-09-19 20:19:02 +0400 (Sat, 19 Sep 2009) | 15 lines Fixed osync_time_utcoffset2sec()'s mistaken reliance on sscanf() Tightened up checking for input format validation, according to the documented comments. Added an OSyncError parameter, for the error case. Added a test for osync_time_utcoffset2sec() -This line, and those below, will be ignored-- M opensync/format/opensync_time.h M opensync/format/opensync_time.c M tests/format-tests/check_time.c ------------------------------------------------------------------------ r5808 | cdfrey | 2009-09-19 02:22:53 +0400 (Sat, 19 Sep 2009) | 3 lines Clarified error return values in time function documentation ------------------------------------------------------------------------ r5803 | bricks | 2009-09-18 11:49:51 +0400 (Fri, 18 Sep 2009) | 2 lines Fixed the example format plugin for converter finalize api changes ------------------------------------------------------------------------ r5802 | dgollub | 2009-09-18 11:41:01 +0400 (Fri, 18 Sep 2009) | 3 lines Don't unref the error in get_sync_info() Spotted by Chris Frey ------------------------------------------------------------------------ r5798 | bricks | 2009-09-18 11:04:03 +0400 (Fri, 18 Sep 2009) | 2 lines moved doxygen annotations to private header and renamed private functions to osync_time_xyz ------------------------------------------------------------------------ r5797 | bricks | 2009-09-18 10:56:30 +0400 (Fri, 18 Sep 2009) | 2 lines fixed typos ------------------------------------------------------------------------ r5796 | bricks | 2009-09-18 10:53:23 +0400 (Fri, 18 Sep 2009) | 3 lines Made osync time api less error prone Added checks if error is set to avoid segfaults ------------------------------------------------------------------------ r5795 | dgollub | 2009-09-18 02:10:46 +0400 (Fri, 18 Sep 2009) | 3 lines Add OSyncError** to OSyncConverterFinalize format-plugin function to make this interface future proof. And also allow reporting errors. ------------------------------------------------------------------------ r5794 | paule | 2009-09-18 01:34:10 +0400 (Fri, 18 Sep 2009) | 1 line API documentation: improve documentation of sink state API ------------------------------------------------------------------------ r5793 | dgollub | 2009-09-18 01:10:23 +0400 (Fri, 18 Sep 2009) | 6 lines Changed OSyncMergerFinalizeFunc to fit the plugin function API pattern: - osync_bool return value (at least a non-void return value) - last arugment is OSyncError** ------------------------------------------------------------------------ r5792 | dgollub | 2009-09-18 01:09:03 +0400 (Fri, 18 Sep 2009) | 6 lines Change OSyncCapsConverter API of the finalize plugin function: - added OSyncError** as last parameter - changed return value from void to osync_bool To fit the plugin function pattern ... ------------------------------------------------------------------------ r5790 | dgollub | 2009-09-18 00:28:40 +0400 (Fri, 18 Sep 2009) | 5 lines Introduce OSyncError** parameter to OSyncTime API, due to replacment of g_error0 by osync_try_malloc0 Patch by bricks - testsuite porting by dgollub ------------------------------------------------------------------------ r5789 | dgollub | 2009-09-18 00:17:50 +0400 (Fri, 18 Sep 2009) | 3 lines Get rid of g_malloc0() in osync_queue_setup_with_gmainloop() to avoid assert() on OOM conditions ------------------------------------------------------------------------ r5786 | dgollub | 2009-09-17 22:29:33 +0400 (Thu, 17 Sep 2009) | 6 lines Reference port of the example format plugin for the OSyncFormatFinalizeFunc, OSyncFormatCompareFunc, OSyncFormatCreateFunc, OSyncFormatDestroyFunc, OSyncFormatPrintFunc API changes. See commit r5785 ------------------------------------------------------------------------ r5785 | dgollub | 2009-09-17 22:26:15 +0400 (Thu, 17 Sep 2009) | 22 lines Changed Format Plugin API - following function are affected: * OSyncFormatCompareFunc * OSyncFormatCreateFunc * OSyncFormatDestroyFunc * OSyncFormatPrintFunc * OSyncFormatFinalizeFunc Changed API to fit the follwoing format plugin pattern: Individual return type - but not (void)! To easier determine an error. Second last argument: void *userdata Last Argument: OSyncError **error Porting instruction: Add OSyncError** to the prototype of your format plugin functions. Adapt the return value of your plugin function to osync_bool. ------------------------------------------------------------------------ r5783 | dgollub | 2009-09-17 21:02:06 +0400 (Thu, 17 Sep 2009) | 9 lines Add OSyncError** struct to: * osync_xmlformat_sort * osync_xmlformat_assemble To make those interface more future safe refs #1087 ------------------------------------------------------------------------ r5780 | dgollub | 2009-09-17 20:36:52 +0400 (Thu, 17 Sep 2009) | 6 lines Make OSyncMarshal API more future proof and apply a common API pattern: osync_bool osync_masrhal_XXXX(...., OSyncError**) refs #1087, comment:11 ------------------------------------------------------------------------ r5779 | dgollub | 2009-09-17 18:39:20 +0400 (Thu, 17 Sep 2009) | 4 lines Add OSyncError** to parameter list of osync_rand_str See #1087, comment:10 ------------------------------------------------------------------------ r5778 | dgollub | 2009-09-17 04:22:25 +0400 (Thu, 17 Sep 2009) | 1 line Port example plugins to format_env and plugin_env register API changes. See #1087 ------------------------------------------------------------------------ r5772 | dgollub | 2009-09-17 04:15:23 +0400 (Thu, 17 Sep 2009) | 6 lines Make plugin/format enviroment API more future-proof and add for all register interfaces an error struct to the parameter list refs #1087, comment:36 ------------------------------------------------------------------------ r5769 | dgollub | 2009-09-17 03:02:57 +0400 (Thu, 17 Sep 2009) | 9 lines Add OSyncError** to parameter list for * osync_xmlfield_add_key_value * osync_xmlfield_set_key_value * osync_xmlfield_sort refs #1087 ------------------------------------------------------------------------ r5768 | dgollub | 2009-09-17 02:31:11 +0400 (Thu, 17 Sep 2009) | 5 lines Hide osync_plugin_advancedoption_type_string_to_val from public API before soft-freeze. If this is still required we can re-export this after the API freeze, without breaking the API. ------------------------------------------------------------------------ r5767 | dgollub | 2009-09-17 02:25:54 +0400 (Thu, 17 Sep 2009) | 4 lines Completed TODO-task by moving osync_marshal_{read,write}_data to internal/private API. ------------------------------------------------------------------------ r5765 | dgollub | 2009-09-17 02:10:41 +0400 (Thu, 17 Sep 2009) | 6 lines Break trunk API by dropping schemadir parameter from osync_plugin_config_load_file() refs #1013 ------------------------------------------------------------------------ r5762 | dgollub | 2009-09-07 05:01:09 +0400 (Mon, 07 Sep 2009) | 6 lines Convert the capabilities format to a capabilities format of a merger which is able to demerge capabilties of the current objformat. e.g.: evo2-caps to xmlformat the capsformat ------------------------------------------------------------------------ r5761 | dgollub | 2009-09-07 04:58:49 +0400 (Mon, 07 Sep 2009) | 7 lines Don't unref the origianl capabilities object. This caused various issues in the test-suite. TODO: check if this is not leaking the old capabiltieis object. Sort capabiliteis object after caps-format conversion ------------------------------------------------------------------------ r5760 | dgollub | 2009-09-07 04:57:32 +0400 (Mon, 07 Sep 2009) | 2 lines Note for final API review ------------------------------------------------------------------------ r5759 | dgollub | 2009-09-07 04:57:11 +0400 (Mon, 07 Sep 2009) | 2 lines Implementation of r5758 ------------------------------------------------------------------------ r5758 | dgollub | 2009-09-07 04:56:48 +0400 (Mon, 07 Sep 2009) | 3 lines Add interface osync_format_env_find_mergers_objformat() to get a list of all mergers which are able to deal with a specified objformat ------------------------------------------------------------------------ r5757 | dgollub | 2009-09-07 04:54:23 +0400 (Mon, 07 Sep 2009) | 5 lines Added interfaces for OSyncCapabilities API to sort the capabilities object. This is handy after converting/assemling to a different capsformat. Sorted capabilities is required by various mergers. e.g. the xmlformat merger ------------------------------------------------------------------------ r5756 | dgollub | 2009-09-07 04:51:40 +0400 (Mon, 07 Sep 2009) | 2 lines Fix typo in declaration ------------------------------------------------------------------------ r5752 | dgollub | 2009-09-07 04:27:45 +0400 (Mon, 07 Sep 2009) | 3 lines If there is no marshaled data, due to missing marshal function, store the orignal data (e.g. vcard-dump) in the archive ------------------------------------------------------------------------ r5749 | dgollub | 2009-09-05 16:21:58 +0400 (Sat, 05 Sep 2009) | 2 lines Added OSyncCapsConverter API ------------------------------------------------------------------------ r5747 | dgollub | 2009-09-05 04:24:21 +0400 (Sat, 05 Sep 2009) | 10 lines Make use of Capabilities (if available) to make mapping of changes more successful. With the help of capabilities a copy of the change get demerged of the oponenten capabilities. This will results more often on a compare in a SAME mapping - instead of a SIMILAR. This means less conflicts on a (slow-)sync. Enjoy! ;) ------------------------------------------------------------------------ r5745 | dgollub | 2009-09-05 02:58:28 +0400 (Sat, 05 Sep 2009) | 9 lines Added new public interface: osync_format_env_find_merger This functions allows to search for a merger which is registered in the format env. The search is based on the tuple: objformat and capsformat The objformat is a const char* string, so format plugins can register merger for formats which aren't registered yet. ------------------------------------------------------------------------ r5743 | dgollub | 2009-09-05 01:39:00 +0400 (Sat, 05 Sep 2009) | 2 lines Remove dirty debugging statements ------------------------------------------------------------------------ r5742 | dgollub | 2009-09-05 00:45:50 +0400 (Sat, 05 Sep 2009) | 4 lines Introduce cmake option OPENSYNC_API_EXAMPLE, to enable API example builds. By default this is turned off. ------------------------------------------------------------------------ r5741 | dgollub | 2009-09-05 00:17:46 +0400 (Sat, 05 Sep 2009) | 2 lines Added new symbols - missing from previous commit ------------------------------------------------------------------------ r5740 | dgollub | 2009-09-05 00:06:31 +0400 (Sat, 05 Sep 2009) | 3 lines - initial OSyncMerger implement of drafted API - added support for Child-Capability fields in OSyncCapability API ------------------------------------------------------------------------ r5739 | dgollub | 2009-09-04 17:10:21 +0400 (Fri, 04 Sep 2009) | 2 lines Fix wrong trace parameter list ------------------------------------------------------------------------ r5738 | dgollub | 2009-09-04 16:52:50 +0400 (Fri, 04 Sep 2009) | 2 lines Port example format plugin. Got broken with r5671 ------------------------------------------------------------------------ r5737 | dgollub | 2009-09-04 16:01:44 +0400 (Fri, 04 Sep 2009) | 2 lines Ported list_all_formats example ------------------------------------------------------------------------ r5736 | dgollub | 2009-09-04 15:56:26 +0400 (Fri, 04 Sep 2009) | 3 lines Fix potential memory leak - freeing the newly created OSyncList was missing ------------------------------------------------------------------------ r5735 | dgollub | 2009-09-04 15:53:37 +0400 (Fri, 04 Sep 2009) | 2 lines Fix list_all_groups example ------------------------------------------------------------------------ r5730 | dgollub | 2009-09-03 04:28:18 +0400 (Thu, 03 Sep 2009) | 4 lines Allow reporting of discovered capabilities during the get_changes phase. This is required for plugins/protocols which are only able to get capabilities information during a sync. ------------------------------------------------------------------------ r5727 | dgollub | 2009-09-02 16:09:34 +0400 (Wed, 02 Sep 2009) | 5 lines Make testcase member_get_config_or_default more robust and working even without any opensync installation. fixes #1144 ------------------------------------------------------------------------ r5726 | dgollub | 2009-09-01 18:46:49 +0400 (Tue, 01 Sep 2009) | 5 lines Fix assembling of capabilities. Multiple recalls of osync_capabilities_assemble() appended the same capabilities information over and over again. ------------------------------------------------------------------------ r5725 | dgollub | 2009-09-01 18:32:57 +0400 (Tue, 01 Sep 2009) | 2 lines Don't assemble capability values if they're empty/default. ------------------------------------------------------------------------ r5720 | dgollub | 2009-09-01 15:40:46 +0400 (Tue, 01 Sep 2009) | 7 lines Merged ticket #1084 branch To speed up trunk development refs #1084 ------------------------------------------------------------------------ r5675 | marka | 2009-06-21 18:16:08 +0400 (Sun, 21 Jun 2009) | 1 line Fix build errors in the Swig wrappers due to recent API changes ------------------------------------------------------------------------ r5674 | bricks | 2009-06-17 17:14:12 +0400 (Wed, 17 Jun 2009) | 3 lines added OSyncError parameter to osync_member_add_objformat and osync_member_add_objformat_with_config refs #1087 ------------------------------------------------------------------------ r5673 | bricks | 2009-06-17 14:43:46 +0400 (Wed, 17 Jun 2009) | 3 lines added an OSyncError parameter to osync_group_lock refs #1087 ------------------------------------------------------------------------ r5671 | bricks | 2009-06-17 14:23:24 +0400 (Wed, 17 Jun 2009) | 3 lines Added an OSyncError parameter for osync_format_env_register_converter refs #1087 ------------------------------------------------------------------------ r5661 | dgollub | 2009-06-01 13:38:55 +0400 (Mon, 01 Jun 2009) | 2 lines Add glib2 2.12 version requirmnet to the coding style file ------------------------------------------------------------------------ r5660 | dgollub | 2009-06-01 13:37:45 +0400 (Mon, 01 Jun 2009) | 5 lines Set minimum required/supported glib2 version to 2.12 Refs discussion on opensync-devel http://thread.gmane.org/gmane.comp.misc.opensync.devel/3901/focus=3902 ------------------------------------------------------------------------ r5650 | dgollub | 2009-05-31 22:27:59 +0400 (Sun, 31 May 2009) | 7 lines Fix build for older glib versions. g_strcmp0 got introduced within glib 2.16. But we try to support much older version of glib. refs #1123 ------------------------------------------------------------------------ r5649 | dgollub | 2009-05-28 18:48:03 +0400 (Thu, 28 May 2009) | 24 lines Fix for mapping_engine_same_similar_conflict which was randomly failing. Sometimes I see the mapping_engine_same_similar_conflict test fail on my system. I tracked the issue down to the order in which the mock_sync plugin reports changes in mock_report_dir. If entryA is reported before entryB then the test passes. If entryB is reported first then the test fails. I have 2 patches. The first one modifies mock_sync to sort the changes by file name before reporting them. It also adds a test which takes advantage of that to reliably reproduce this issue. The second patch tries to address the root cause of the issue. I'm not completely familiar with the opensync internals so it may need some work. It works for me and doesn't break any of the other tests. Patch by marka fixes #1123 ------------------------------------------------------------------------ r5648 | dgollub | 2009-05-28 18:19:03 +0400 (Thu, 28 May 2009) | 17 lines OSyncMappingEngine & OSyncMappingEntryEngine's don't get freed When the engine is finalized, it doesn't look like the OSyncMappingEngines or OSyncMappingEntryEngines are getting freed. I checked by adding log messages to the *_unref() functions. It looks like that an OSyncMappingEngines holds a reference on each OSyncMappingEntryEngines and each OSyncMappingEntryEngines holds a reference on the OSyncMappingEngines. A nice circle. Original patch by marka Sligthly adapted (coding style: // to /* */) fixes #1122 ------------------------------------------------------------------------ r5647 | dgollub | 2009-05-28 18:06:41 +0400 (Thu, 28 May 2009) | 7 lines Fix failing engine_error_discover_error testcase. Original patch by marka Slightly adapted - added ticket referces and additional sanity check. fixes #1121 ------------------------------------------------------------------------ r5646 | bricks | 2009-05-28 12:47:30 +0400 (Thu, 28 May 2009) | 3 lines Fix for memory leak in osync_mapping_engine_new thanks to marka #refs 1120 ------------------------------------------------------------------------ r5641 | dgollub | 2009-05-09 22:49:48 +0400 (Sat, 09 May 2009) | 4 lines Fix testcase member_configdir_deep_path, which got recently added. Allow deep member configuration directories ------------------------------------------------------------------------ r5637 | dgollub | 2009-05-09 13:59:56 +0400 (Sat, 09 May 2009) | 2 lines Changed contact mail address ------------------------------------------------------------------------ r5634 | ianmartin | 2009-04-29 16:15:50 +0400 (Wed, 29 Apr 2009) | 2 lines Some simple tests for OSyncMember ------------------------------------------------------------------------ r5632 | bellmich | 2009-04-28 14:02:54 +0400 (Tue, 28 Apr 2009) | 2 lines Preferred can only occur one time. ------------------------------------------------------------------------ r5624 | ianmartin | 2009-04-20 21:11:01 +0400 (Mon, 20 Apr 2009) | 7 lines Test multisync_conflict_dual_delete added. Isolates a problem found whilst porting multisync_delayed_conflict_handler test. Test fails due to propogation of delete change type to a member that also reported change type delted. ------------------------------------------------------------------------ r5623 | friedrich.beckmann | 2009-04-19 19:09:32 +0400 (Sun, 19 Apr 2009) | 1 line windows port: Test result checking was not working on windows platform ------------------------------------------------------------------------ r5622 | friedrich.beckmann | 2009-04-19 17:47:28 +0400 (Sun, 19 Apr 2009) | 1 line windows: logfiles are not split per thread ------------------------------------------------------------------------ r5621 | friedrich.beckmann | 2009-04-19 17:13:10 +0400 (Sun, 19 Apr 2009) | 1 line Test result check was not working on windows platform ------------------------------------------------------------------------ r5620 | friedrich.beckmann | 2009-04-19 17:12:20 +0400 (Sun, 19 Apr 2009) | 1 line Tests did not compile on windows platform ------------------------------------------------------------------------ r5619 | bricks | 2009-04-19 15:53:18 +0400 (Sun, 19 Apr 2009) | 1 line moved doxygen annotation from c file to internal header ------------------------------------------------------------------------ r5615 | bellmich | 2009-04-17 12:02:28 +0400 (Fri, 17 Apr 2009) | 2 lines patch from Johan Ladan to correct grammar errors ------------------------------------------------------------------------ r5605 | bricks | 2009-04-14 14:13:53 +0400 (Tue, 14 Apr 2009) | 2 lines updated objtype sink function doxygen documentation ------------------------------------------------------------------------ r5604 | bricks | 2009-04-14 13:44:27 +0400 (Tue, 14 Apr 2009) | 2 lines updated objtype sink committedall function documentation ------------------------------------------------------------------------ r5602 | bricks | 2009-04-14 13:32:35 +0400 (Tue, 14 Apr 2009) | 5 lines dropped objtype sink write function declaration changed objtype sink read function return value from osync_bool to void added objtype sink doxygen annotations fixes #864 ------------------------------------------------------------------------ r5601 | bricks | 2009-04-14 13:30:00 +0400 (Tue, 14 Apr 2009) | 2 lines Updated the documentation regarding objtype sink changes ------------------------------------------------------------------------ r5600 | bricks | 2009-04-14 13:04:36 +0400 (Tue, 14 Apr 2009) | 2 lines make output clearer in trace ------------------------------------------------------------------------ r5586 | bricks | 2009-04-12 20:57:16 +0400 (Sun, 12 Apr 2009) | 2 lines fixed bug while marshalling plugin config advanced options ------------------------------------------------------------------------ r5585 | bricks | 2009-04-12 16:14:09 +0400 (Sun, 12 Apr 2009) | 3 lines return copy of plugin config advancedoption refs #975 ------------------------------------------------------------------------ r5584 | bricks | 2009-04-12 15:51:33 +0400 (Sun, 12 Apr 2009) | 3 lines return a copy of plugin advancedoption paramater valenums refs #975 ------------------------------------------------------------------------ r5583 | bricks | 2009-04-12 15:39:42 +0400 (Sun, 12 Apr 2009) | 3 lines return a copy of plugin advancedoption valenums refs #975 ------------------------------------------------------------------------ r5582 | bricks | 2009-04-12 15:22:27 +0400 (Sun, 12 Apr 2009) | 3 lines return a copy of advancedoption parameters refs #975 ------------------------------------------------------------------------ r5581 | bricks | 2009-04-12 15:11:09 +0400 (Sun, 12 Apr 2009) | 4 lines return a copy of objformats instead of the original list spotted by Chris Frey refs #975 ------------------------------------------------------------------------ r5571 | cdfrey | 2009-04-10 01:56:49 +0400 (Fri, 10 Apr 2009) | 3 lines Fixed inverted error check in sample plugin code when doing a hashtable slowsync ------------------------------------------------------------------------ r5566 | cdfrey | 2009-04-09 00:22:24 +0400 (Thu, 09 Apr 2009) | 3 lines Removed unused code and variables to clean up strict compiler warnings in plugin ------------------------------------------------------------------------ r5563 | dgollub | 2009-04-08 22:08:33 +0400 (Wed, 08 Apr 2009) | 3 lines Changed E-Mail contact. opensync.org is facing issues with MX record. ------------------------------------------------------------------------ r5561 | bellmich | 2009-04-08 19:14:01 +0400 (Wed, 08 Apr 2009) | 6 lines further batch_commit cleanups - documentation - CMakeLists.txt for test cases - TODOs ------------------------------------------------------------------------ r5560 | bellmich | 2009-04-08 19:08:25 +0400 (Wed, 08 Apr 2009) | 2 lines removed all disabled tests which used batch_commit ------------------------------------------------------------------------ r5559 | bellmich | 2009-04-08 19:01:53 +0400 (Wed, 08 Apr 2009) | 2 lines removed batch_commit (please see ticket #1078) ------------------------------------------------------------------------ r5525 | dgollub | 2009-04-04 02:09:03 +0400 (Sat, 04 Apr 2009) | 8 lines Fix slow-sync issues with plugins using the SinkStateDB. The REPLACE queries and the table struct caused that only one row is left, even if a member has multiple objtype sinks active. Adapting the primary keys solves the problem. Dropped the ID column whcih was unused. ------------------------------------------------------------------------ r5522 | ianmartin | 2009-04-03 13:42:43 +0400 (Fri, 03 Apr 2009) | 1 line More tests ported to current API Ticket #981 ------------------------------------------------------------------------ r5509 | dgollub | 2009-04-01 22:15:48 +0400 (Wed, 01 Apr 2009) | 5 lines Fixed potential segfault if OSyncClient allocation would fail. Patch by Nicolas ------------------------------------------------------------------------ r5506 | cdfrey | 2009-04-01 02:15:45 +0400 (Wed, 01 Apr 2009) | 3 lines Fixed spelling typo ------------------------------------------------------------------------ r5505 | cdfrey | 2009-04-01 02:13:25 +0400 (Wed, 01 Apr 2009) | 7 lines Updated python wrapper with API changes... wrapper should now compile - get_conflict_resolution's long long change - anchor / state_db rename - set_functions/set_userdata API change ------------------------------------------------------------------------ r5504 | cdfrey | 2009-04-01 02:12:31 +0400 (Wed, 01 Apr 2009) | 3 lines Removed deleted API functions and types from python wrapper ------------------------------------------------------------------------ r5503 | cdfrey | 2009-04-01 02:11:36 +0400 (Wed, 01 Apr 2009) | 3 lines Cleaned up ambiguous comments surrounding commented out code ------------------------------------------------------------------------ r5484 | bellmich | 2009-03-31 15:38:25 +0400 (Tue, 31 Mar 2009) | 2 lines fixed documentation for migration of OSyncAnchor to OSyncSinkStateDB ------------------------------------------------------------------------ r5483 | bellmich | 2009-03-31 15:30:58 +0400 (Tue, 31 Mar 2009) | 2 lines renamed OSyncAnchor to OSyncSinkStateDB ------------------------------------------------------------------------ r5482 | bellmich | 2009-03-31 15:30:31 +0400 (Tue, 31 Mar 2009) | 2 lines renamed OSyncAnchor to OSyncSinkStateDB ------------------------------------------------------------------------ r5481 | bellmich | 2009-03-31 15:29:49 +0400 (Tue, 31 Mar 2009) | 2 lines renamed OSyncAnchor to OSyncSinkStateDB ------------------------------------------------------------------------ r5480 | bellmich | 2009-03-31 15:29:05 +0400 (Tue, 31 Mar 2009) | 3 lines - renamed OSyncAnchor to OSyncSinkStateDB - renamed some functions because of the getter/setter pattern ------------------------------------------------------------------------ r5479 | bellmich | 2009-03-31 13:28:47 +0400 (Tue, 31 Mar 2009) | 2 lines fixed the includes for the OSyncAnchor to OSyncSinkStateDB migration ------------------------------------------------------------------------ r5478 | dgollub | 2009-03-31 13:26:16 +0400 (Tue, 31 Mar 2009) | 8 lines Make sure that generate fiels from tempaltes get generated outside the current working directory (e.g. config.h). e.g. cmake -B/tmp/build/ Spotted by bellmich ------------------------------------------------------------------------ r5477 | bellmich | 2009-03-31 13:11:44 +0400 (Tue, 31 Mar 2009) | 2 lines replaced opensync_anchor.c by opensync_sink_state_db.c ------------------------------------------------------------------------ r5476 | bellmich | 2009-03-31 13:09:47 +0400 (Tue, 31 Mar 2009) | 3 lines renamed source files to prepare the renaming from OSyncAnchor to OSyncSinkStateDB ------------------------------------------------------------------------ r5462 | dgollub | 2009-03-30 19:02:40 +0400 (Mon, 30 Mar 2009) | 27 lines Introduced OSyncAnchor key=value interface. This unfortuantely breaks the API and requires all plugins using the anchor to port. Porting instruction: char *anchor_value = plugin_specific_anchor(); -osync_anchor_compare(anchor, anchor_value, &anchormatch, &error); +osync_anchor_compare(anchor, "anchor_key"1, anchor_value, &anchormatch, &error); -osync_anchor_update(anchor, anchor_value, &error); +osync_anchor_update(anchor, "anchor_key1", anchor_value, &error); -osync_anchor_retrieve(anchor, &error); -osync_anchor_retrieve(anchor, "anchor_key1", &error); This key=value pair is per ObjTypeSink. This means you can reuse the key-name for each ObjTypeSink. Dropped old and unintended anchor.db file from test fixtures for filter_destobjtype_delete testcase fixes #1090 ------------------------------------------------------------------------ r5461 | dgollub | 2009-03-30 16:32:13 +0400 (Mon, 30 Mar 2009) | 4 lines Fix warning about different signess compare in string marshal functions. Spotted by Bj?\195?\182rn. ------------------------------------------------------------------------ r5458 | dgollub | 2009-03-30 08:59:57 +0400 (Mon, 30 Mar 2009) | 5 lines Cleaned up int vs. unsigned int for marshal API refs #974 ------------------------------------------------------------------------ r5456 | dgollub | 2009-03-30 08:35:07 +0400 (Mon, 30 Mar 2009) | 6 lines Fix data type of osync_group_get_conflict_resolution' paramter "winner" to long long int, which represents a mmeber id (which is long long int) refs #974 ------------------------------------------------------------------------ r5455 | dgollub | 2009-03-30 08:29:09 +0400 (Mon, 30 Mar 2009) | 6 lines Fixed data type of osync_mapping_engine_member_change()'s member id parameter, whichi is long long int - not int. refs #974 ------------------------------------------------------------------------ r5454 | dgollub | 2009-03-30 08:27:22 +0400 (Mon, 30 Mar 2009) | 5 lines Fix data type of osync_group_find_member() parameter member id refs #974 ------------------------------------------------------------------------ r5453 | dgollub | 2009-03-30 08:22:15 +0400 (Mon, 30 Mar 2009) | 6 lines Fix coding style. Change return value of osync_group_objtype_enabled() to osync_bool. refs #974 ------------------------------------------------------------------------ r5452 | dgollub | 2009-03-30 07:53:06 +0400 (Mon, 30 Mar 2009) | 2 lines Cleanup hashtable header ------------------------------------------------------------------------ r5451 | dgollub | 2009-03-30 07:52:00 +0400 (Mon, 30 Mar 2009) | 2 lines Drop duplicated declartion of osync_objtype_sink_set_connect_done_func ------------------------------------------------------------------------ r5444 | dgollub | 2009-03-30 06:34:56 +0400 (Mon, 30 Mar 2009) | 21 lines Dropped osync_objtype_sink_set_slowsync. Replacment is osync_context_report_slowsync(OSyncContext*) Reporting a slow-sync is only allowed/handled inside the connect() function context. Call this context report function before osync_context_report_success()! For further information see #1085 Furhter changes: * fixing typedef typo in public API * dropped wrong and unused test instrumentation in mock-sync ("LATE-SLOW-SYNC", is about getting not setting slow-sync) * ported example plugins * ported osyncplugin tool * some cleanups inside OSyncClient fixes #1085 ------------------------------------------------------------------------ r5435 | dgollub | 2009-03-30 02:16:21 +0400 (Mon, 30 Mar 2009) | 6 lines Drop Sink Plugin function "write" (don't mixup with "commit"!). This plugin function was never used inside the engine and just causes confusion. Currently there is also no need for a "sync framework" to do "single writes" out of sync order. ------------------------------------------------------------------------ r5432 | dgollub | 2009-03-30 01:44:10 +0400 (Mon, 30 Mar 2009) | 38 lines Dropped OSyncObjTypeSinkFunctions struct from public API. Replacement are newly introduced osync_objtype_sink_set_*_func() interfaces: osync_objtype_sink_set_batch_commit_func osync_objtype_sink_set_commit_func osync_objtype_sink_set_committed_all_func osync_objtype_sink_set_connect_done_func osync_objtype_sink_set_connect_func osync_objtype_sink_set_disconnect_func osync_objtype_sink_set_get_changes_func osync_objtype_sink_set_read_func osync_objtype_sink_set_sync_done_func osync_objtype_sink_set_write_func and osync_objtype_sink_set_userdata Porting example: -OSyncObjTypeSinkFunctions functions; -memset(&functions, 0, sizeof(functions)); -functions.connect = connect_error; -functions.disconnect = disconnect; -functions.get_changes = get_changes; - -osync_objtype_sink_set_functions(sink, functions, user_data); + +osync_objtype_sink_set_connect_func(sink, connect); +osync_objtype_sink_set_disconnect_func(sink, disconnect); +osync_objtype_sink_set_get_changes_func(sink, get_changes); + +osync_objtype_sink_set_userdata(sink, user_data); fixes #1086 ------------------------------------------------------------------------ r5431 | bricks | 2009-03-29 22:29:36 +0400 (Sun, 29 Mar 2009) | 2 lines fixed symbol test again ------------------------------------------------------------------------ r5430 | bricks | 2009-03-29 22:20:04 +0400 (Sun, 29 Mar 2009) | 6 lines OSyncObjTypeSink had a osync_objtype_sink_get_objformat_sinks functions Changed this function to return a copy of the list Therefore other functions which depend on the list had to be changed too removed osync_objtype_sink_num_objformat_sinks and osync_objtype_sink_nth_objformat_sink from public api refs #975 ------------------------------------------------------------------------ r5429 | bricks | 2009-03-29 21:48:30 +0400 (Sun, 29 Mar 2009) | 3 lines changed list pattern for all mapping related interfaces refs #975 ------------------------------------------------------------------------ r5428 | bricks | 2009-03-29 19:58:31 +0400 (Sun, 29 Mar 2009) | 2 lines fixed symbol test for latest changes ------------------------------------------------------------------------ r5427 | bricks | 2009-03-29 19:49:55 +0400 (Sun, 29 Mar 2009) | 2 lines dropped osync_hashtable_num_entries from public interface ------------------------------------------------------------------------ r5425 | bricks | 2009-03-29 19:38:26 +0400 (Sun, 29 Mar 2009) | 3 lines changed list pattern for all group related interfaces refs #975 ------------------------------------------------------------------------ r5422 | dgollub | 2009-03-29 18:40:22 +0400 (Sun, 29 Mar 2009) | 13 lines Added "osync_bool slowsync" to the connect_done plugin sink function paramter list. To determine the current sync mode (slow-/fast-sync). Also fixed a bug where connect_done() got called with the wrong sync mode. Due to the sepeartion of Client and ClientProxy and the missing update of the Sync Mode the connect_done() got called with fast-sync even if the engine was supposed to do a slow-sync and would call slow-ysnc with get_changes(). Added regression testcase inside mock-sync. ------------------------------------------------------------------------ r5421 | bricks | 2009-03-29 18:14:48 +0400 (Sun, 29 Mar 2009) | 3 lines changed list pattern for all format related interfaces refs #975 ------------------------------------------------------------------------ r5420 | bricks | 2009-03-29 17:28:07 +0400 (Sun, 29 Mar 2009) | 1 line fixed symbol test ------------------------------------------------------------------------ r5417 | bricks | 2009-03-29 17:12:18 +0400 (Sun, 29 Mar 2009) | 3 lines changed list pattern for all engine related interfaces refs #975 ------------------------------------------------------------------------ r5416 | dgollub | 2009-03-29 16:36:42 +0400 (Sun, 29 Mar 2009) | 5 lines Tolerate NULL in osync_list_free and osync_list_free1 as list argument. This avoids sanity checks when dealing with osync_list which is now more common with the API list-pattern changes. ------------------------------------------------------------------------ r5412 | dgollub | 2009-03-29 01:36:14 +0300 (Sun, 29 Mar 2009) | 5 lines Fix potentioanl memory leak in example plugins. osync_plugin_info_get_objtype_sinks() returns a copy of the original list which needs to be freed by the caller. ------------------------------------------------------------------------ r5411 | dgollub | 2009-03-29 01:32:29 +0300 (Sun, 29 Mar 2009) | 5 lines Ported example plugins to OSyncPluginEnv API changes. Dropped sinkenv from simple_plugin to make it even simpler. ------------------------------------------------------------------------ r5410 | dgollub | 2009-03-29 01:22:30 +0300 (Sun, 29 Mar 2009) | 7 lines Renamed osync_plugin_info_get_objtypes to osync_plugin_info_get_objtype_sinks. Thsi should avoid confusion between "objtype" which is often just const char* and between OSyncObjTypeSink. ------------------------------------------------------------------------ r5409 | dgollub | 2009-03-29 00:57:04 +0300 (Sun, 29 Mar 2009) | 3 lines Port list_all_plugins example to latest OSyncPluginEnv API changes. Build got broken due to API change by r5383 ------------------------------------------------------------------------ r5407 | dgollub | 2009-03-29 00:42:14 +0300 (Sun, 29 Mar 2009) | 34 lines Cleaned up engine interface namespaces. And unexported Update struct and repalced them with an anonymous typdef struct. Renamed enum namespaces: OSYNC_MAPPING_EVENT_ to OSYNC_ENGINE_MAPPING_EVENT_ OSYNC_CLIENT_EVENT_ to OSYNC_ENGINE_MEMBER_EVENT_ OSYNC_CHANGE_EVENT_ to OSYNC_ENGINE_CHANGE_EVENT_ OSYNC_MAPPING_EVENT_ to OSYNC_ENGINE_MAPPING_EVENT_ Renamed structs and unexported to anonymouse typedefs: OSyncChangeUpdate to OSyncEngineChangeUpdate OSyncMemberUpdate to OSyncEngineMemberUpdate OSyncMappingUpdate to OSyncEngineMappingUpdate Added following interface to get data from the Update structs inside the Update-callbacks: OSyncError *osync_engine_change_update_get_error(OSyncEngineChangeUpdate *update); OSyncEngineChangeEvent osync_engine_change_update_get_event(OSyncEngineChangeUpdate *update); OSyncMember *osync_engine_change_update_get_member(OSyncEngineChangeUpdate *update); OSyncChange *osync_engine_change_update_get_change(OSyncEngineChangeUpdate *update); OSyncError *osync_engine_member_update_get_error(OSyncEngineMemberUpdate *update); OSyncEngineMemberEvent osync_engine_member_update_get_event(OSyncEngineMemberUpdate *update); OSyncMember *osync_engine_member_update_get_member(OSyncEngineMemberUpdate *update); const char *osync_engine_member_update_get_objtype(OSyncEngineMemberUpdate *update); OSyncError *osync_engine_mapping_update_get_error(OSyncEngineMappingUpdate *update); OSyncEngineMappingEvent osync_engine_mapping_update_get_event(OSyncEngineMappingUpdate *update); OSyncError *osync_engine_update_get_error(OSyncEngineUpdate *update); OSyncEngineEvent osync_engine_update_get_event(OSyncEngineUpdate *update); ------------------------------------------------------------------------ r5406 | dgollub | 2009-03-28 23:06:04 +0300 (Sat, 28 Mar 2009) | 5 lines Remove osync_remove_directory_recursively() from the public installed header. This function wasn't exported but got isntalled with the public headers. ------------------------------------------------------------------------ r5405 | dgollub | 2009-03-28 22:58:10 +0300 (Sat, 28 Mar 2009) | 4 lines Remove gmtime_r and localtime_r, which are only used internally, from the public API header. ------------------------------------------------------------------------ r5402 | dgollub | 2009-03-28 22:35:17 +0300 (Sat, 28 Mar 2009) | 7 lines Fix osync_obj_engine_nth_sinkengine() interface which could return on a mixed-syncing group NULL even if _num_sinkengine() reports a different limit. Spotted by bricks. ------------------------------------------------------------------------ r5401 | dgollub | 2009-03-28 22:15:46 +0300 (Sat, 28 Mar 2009) | 1 line Dropped legacy includes. ------------------------------------------------------------------------ r5385 | dgollub | 2009-03-28 21:57:03 +0300 (Sat, 28 Mar 2009) | 3 lines Include cleanup. Set #warning for legacy includes which get dropped before 0.39 release. ------------------------------------------------------------------------ r5384 | dgollub | 2009-03-28 21:22:32 +0300 (Sat, 28 Mar 2009) | 3 lines Remove OSyncArchive interfaces from public API. ------------------------------------------------------------------------ r5383 | bricks | 2009-03-28 21:16:08 +0300 (Sat, 28 Mar 2009) | 3 lines changed list pattern for all plugin related interfaces refs #975 ------------------------------------------------------------------------ r5381 | dgollub | 2009-03-28 20:45:34 +0300 (Sat, 28 Mar 2009) | 6 lines Fix build of wrapper. Got broken due to API changes on hashtable and the drop of osync_plugin_info_get_configdir(). ------------------------------------------------------------------------ r5379 | dgollub | 2009-03-28 18:26:33 +0300 (Sat, 28 Mar 2009) | 6 lines Fix regression of ipc_callback_break caused by r5360. refs #1039 comment:5 fixes #1039 ------------------------------------------------------------------------ r5378 | dgollub | 2009-03-28 18:02:45 +0300 (Sat, 28 Mar 2009) | 10 lines Drop osync_plugin_info_get_configdir() from plugin interface to avoid that plugins directly access the filesystem of the configuration direcoty. This hopefully avoids an maintenance nightmare. osync_plugin_info_get_configdir() will not get replaced by any other function. fixes #1083 ------------------------------------------------------------------------ r5374 | dgollub | 2009-03-28 16:59:51 +0300 (Sat, 28 Mar 2009) | 7 lines Port example plugins to latest hashtable API change. Dropped obbsolate sinkenv userdata structs. Just kept pluginenv struct as example. refs #1082 ------------------------------------------------------------------------ r5373 | dgollub | 2009-03-28 16:41:02 +0300 (Sat, 28 Mar 2009) | 6 lines Introduced osync_objtype_sink_save_hashtable() for osyncplugin tool. Temporarily disabled hashtable dumping inf osyncdump. refs #1082 ------------------------------------------------------------------------ r5372 | dgollub | 2009-03-28 16:20:04 +0300 (Sat, 28 Mar 2009) | 5 lines Ported mock-sync plugin to latest Hashtable API change r5371 refs #1082 ------------------------------------------------------------------------ r5371 | dgollub | 2009-03-28 16:19:04 +0300 (Sat, 28 Mar 2009) | 32 lines Dropped following interfaces: osync_hashtable_new osync_hashtable_ref osync_hashtable_unref osync_hashtable_load osync_hashtable_save This affects all plugins using hashtables! Short Porting instruction: - Drop osync_hashtable_{un,}ref() calls (no replacement required) - Drop osync_hashtable_new() (no replacement required) - Drop calls like osync_plugin_info_get_configdir() if they were used to create a hashtable path (obsolete now) - Drop calls of osync_hashtable_save() (no replacement required) - Call osync_objtype_sink_enable_hashtable(OSyncObjTypeSink *sink, TRUE); in plugin init function for each ObjTypeSink - Hashtable will be initilaized and loaded by the Engine right after the plugin init function. Don't expect to get a HashTable pointer in the init function! - You can get an valid OSyncHashTable pointer by calling inside Plugin Sink Functions (e.g. connect, get_changes, commit, sync_done, ...): OSyncHashTable *hashtable = osync_objtype_sink_get_hashtable(sink); - Hashtable get stored after the sync_done() plugin call. No call by plugin required. refs #1082 refs #1083 ------------------------------------------------------------------------ r5370 | cdfrey | 2009-03-28 09:00:59 +0300 (Sat, 28 Mar 2009) | 3 lines Fixed typo in comment ------------------------------------------------------------------------ r5369 | dgollub | 2009-03-28 05:13:10 +0300 (Sat, 28 Mar 2009) | 6 lines Prepare new hashtable interface to request a OSyncHashTable. Similar to the OSyncAnchor request implementation. refs #1082 ------------------------------------------------------------------------ r5368 | dgollub | 2009-03-28 05:04:57 +0300 (Sat, 28 Mar 2009) | 3 lines Fixed compiler warnings about unhandled return value of system() in multisync testsuite. ------------------------------------------------------------------------ r5364 | dgollub | 2009-03-27 21:46:42 +0300 (Fri, 27 Mar 2009) | 8 lines Deleted duplicate testcase of sync_error unit. Those used to be 1:1 the same to engine_error unit. Thanks to Ian for finding this 2000 lines of redudant code! fixes #980 ------------------------------------------------------------------------ r5363 | dgollub | 2009-03-27 21:00:20 +0300 (Fri, 27 Mar 2009) | 2 lines Add an example how to disable testcases. Currently all are enabled :) ------------------------------------------------------------------------ r5362 | dgollub | 2009-03-27 20:54:00 +0300 (Fri, 27 Mar 2009) | 11 lines Remove testcase hack to simulate an unclean shutdown of a synchronization. Since this test is designed just to simulate a "stale lock" situtation - it's enough by just faking a "stale lock" without the need of simulating a crash. Thanks to Friedrich for the initial review of this issue. fixes #1066 ------------------------------------------------------------------------ r5361 | dgollub | 2009-03-27 20:28:07 +0300 (Fri, 27 Mar 2009) | 4 lines Reenable ipc_callback_break_pipes which got fixed with r5360. refs #1039 ------------------------------------------------------------------------ r5360 | dgollub | 2009-03-27 20:26:25 +0300 (Fri, 27 Mar 2009) | 8 lines Make ipc_callback_break_pipes more reliable by sending and processing message one by one. This avoids that the queue gets flushed to early - which was quite racy if the client was faster then the server processing the callbacks. fixes #1039 ------------------------------------------------------------------------ r5359 | ianmartin | 2009-03-27 15:59:25 +0300 (Fri, 27 Mar 2009) | 2 lines Updating multisync tests to current API and config file format. Ticket #981 ------------------------------------------------------------------------ r5358 | dgollub | 2009-03-27 14:21:01 +0300 (Fri, 27 Mar 2009) | 2 lines Test commit to trigger continuous build hosts. ------------------------------------------------------------------------ r5357 | bricks | 2009-03-27 11:24:18 +0300 (Fri, 27 Mar 2009) | 2 lines removed osync_plugin_info_get_sink and osync_objtype_sink_get_slowsync from the public api ------------------------------------------------------------------------ r5350 | ianmartin | 2009-03-26 17:18:09 +0300 (Thu, 26 Mar 2009) | 2 lines Updated python wrapper to match api change in r5349 ------------------------------------------------------------------------ r5349 | ianmartin | 2009-03-26 16:25:12 +0300 (Thu, 26 Mar 2009) | 8 lines Move sync function userdata determination into osync_objtype_sink_<sink_function>. This forces all callers of pluing sync functions to pass the user data the plugin set for the sink. Fixes bug with osyncplugin passing plugindata to plugin sync functions ------------------------------------------------------------------------ r5348 | dgollub | 2009-03-26 06:20:31 +0300 (Thu, 26 Mar 2009) | 6 lines Reenable testcase engine_error_dual_commit_timeout. Not failing after 30 test cycles. fixes #1041 ------------------------------------------------------------------------ r5347 | dgollub | 2009-03-26 06:14:03 +0300 (Thu, 26 Mar 2009) | 6 lines Reduced engine_sync_stress number of iterrations from 1000 to 250. Profiling is scheduled after 0.40 release refs #1040 ------------------------------------------------------------------------ r5346 | dgollub | 2009-03-26 06:08:45 +0300 (Thu, 26 Mar 2009) | 6 lines Reenabled engine_error_dual_connect_timeout. Not reproducible. 100% pass after 60 test cycles on Linux Host x86_64 SMP. fixes #1038 ------------------------------------------------------------------------ r5345 | dgollub | 2009-03-26 05:57:56 +0300 (Thu, 26 Mar 2009) | 5 lines Ignore new changes messages from plugins if they delayed/timedout. fixes #1030 ------------------------------------------------------------------------ r5344 | dgollub | 2009-03-26 04:48:16 +0300 (Thu, 26 Mar 2009) | 12 lines Fixed #994 with r5342, r5343 Tested engine_sync_read_write_stress with 10 cycles - 10 passed. Reduced the number of stress commits in engine_sync_read_write_stress from 1000 to 250 to "workaround" #1040 Profiling to fix #1040 will be done after 0.40 fixes #994 ------------------------------------------------------------------------ r5343 | dgollub | 2009-03-26 04:32:27 +0300 (Thu, 26 Mar 2009) | 3 lines Fix UID conflict issue of engine_sync_read_write_stress Got broken from previous commit r5342 ------------------------------------------------------------------------ r5342 | dgollub | 2009-03-26 04:07:12 +0300 (Thu, 26 Mar 2009) | 9 lines Fix random fails of testcases: engine_sync_read_write, engine_sync_read_write_stress, engine_sync_read_write_stress2 Testcases failed randomly due to "random" assembled uid using %p pointer address. %p got replace by osync_rand_str(). fixes #943 ------------------------------------------------------------------------ r5320 | dgollub | 2009-03-26 02:27:25 +0300 (Thu, 26 Mar 2009) | 6 lines Fix and renable engine_error_dual_connect_error testcase. Tolerate the "disconnect" event signal on a dual_connect_error. fixes #995 ------------------------------------------------------------------------ r5317 | dgollub | 2009-03-26 01:48:38 +0300 (Thu, 26 Mar 2009) | 5 lines Define how the memory of the format plugin "print" function must get allocated and freed. fixes #1028 ------------------------------------------------------------------------ r5316 | dgollub | 2009-03-26 00:37:09 +0300 (Thu, 26 Mar 2009) | 4 lines Add testcase for error handling in discover phase. Fix error reporting of discover engine command. ------------------------------------------------------------------------ r5315 | dgollub | 2009-03-25 21:52:52 +0300 (Wed, 25 Mar 2009) | 14 lines Final fix of mapping_engine for similiar&same conflicts. The change/entry_engine of the "similar" entry got overwritten by the "same" entry. So the similar&same was never fixed to 100% This fixes tescases: mapping_engine_same_similar_conflict mapping_engine_same_similar_conflict_multi (This was not a $ARCH problem as stated before) fixes #883 ------------------------------------------------------------------------ r5314 | bricks | 2009-03-25 20:14:22 +0300 (Wed, 25 Mar 2009) | 3 lines Added CHECK_LIBRARY_DIRS to link directories BUGFIX: Build failed if check wasn't installed in a default location ------------------------------------------------------------------------ r5313 | dgollub | 2009-03-25 19:22:32 +0300 (Wed, 25 Mar 2009) | 6 lines Fix sync_detect_obj2 and outstanding issue as described in #992 comment:16 and comment:17 fixes #992 ------------------------------------------------------------------------ r5312 | dgollub | 2009-03-25 18:43:18 +0300 (Wed, 25 Mar 2009) | 5 lines Add additional test description for sync_detect_obj2, also why it is currently failing. refs #992 ------------------------------------------------------------------------ r5311 | dgollub | 2009-03-25 17:53:29 +0300 (Wed, 25 Mar 2009) | 2 lines Fixes sync_detect_obj testcase ------------------------------------------------------------------------ r5301 | dgollub | 2009-03-24 17:50:40 +0300 (Tue, 24 Mar 2009) | 5 lines Unexexport osync_db interface refs #1050 ------------------------------------------------------------------------ r5300 | dgollub | 2009-03-24 17:48:20 +0300 (Tue, 24 Mar 2009) | 10 lines Dropped public osync_db_ interface. The public osync_db_ interface needs a redesing - which is not mandatory for 0.40. (partial commit facing issues with webserver) refs #1050 ------------------------------------------------------------------------ r5287 | bricks | 2009-03-10 14:18:28 +0300 (Tue, 10 Mar 2009) | 4 lines interface cleanup for osync_..._nth_... and osync_..._num_... functions now all these functions use unsigned int instead of int see ticket #973 ------------------------------------------------------------------------ r5286 | bricks | 2009-03-10 13:21:54 +0300 (Tue, 10 Mar 2009) | 2 lines fixed unsigned/signed int errors spotted by -Wsign-compare ------------------------------------------------------------------------ r5283 | bricks | 2009-03-09 11:49:26 +0300 (Mon, 09 Mar 2009) | 2 lines ported example plugins to latest api changes (objtypesink userdata pointer) ------------------------------------------------------------------------ r5277 | bricks | 2009-02-26 11:02:23 +0300 (Thu, 26 Feb 2009) | 3 lines Pass objtype sink userdata to all objtype sink plugin function instead of the plugin/client data fix for ticket #1018 ------------------------------------------------------------------------ r5276 | friedrich.beckmann | 2009-02-25 23:54:21 +0300 (Wed, 25 Feb 2009) | 1 line changed indentation replaced space with tabs ------------------------------------------------------------------------ r5275 | friedrich.beckmann | 2009-02-25 23:47:04 +0300 (Wed, 25 Feb 2009) | 1 line test lock_dual_sync_engine_unclean does not work as expected - see ticket 1066 - disabled the test ------------------------------------------------------------------------ r5274 | friedrich.beckmann | 2009-02-25 19:23:43 +0300 (Wed, 25 Feb 2009) | 1 line windows port - engine tests and multisync tests did not run on windows. Mainly because the test command is not available in the msys environment. ------------------------------------------------------------------------ r5273 | friedrich.beckmann | 2009-02-25 16:58:27 +0300 (Wed, 25 Feb 2009) | 1 line Added thread based communication for the queues. This avoids the usage of the file pipe mechanism. Messages are simple forwarded directly between g_async_queues. This is required for the windows port and is usefull also on unix as the communication is faster (no file i/o). It is automatically enabled, when the start type of the plugin is THREAD. ------------------------------------------------------------------------ r5272 | friedrich.beckmann | 2009-02-25 16:31:43 +0300 (Wed, 25 Feb 2009) | 1 line anchor has one reference count too much and is not released ------------------------------------------------------------------------ r5270 | dgollub | 2009-02-19 20:06:25 +0300 (Thu, 19 Feb 2009) | 2 lines Test commit ------------------------------------------------------------------------ r5268 | bricks | 2009-02-13 15:33:18 +0300 (Fri, 13 Feb 2009) | 2 lines changed indentation to tabs ------------------------------------------------------------------------ r5267 | bricks | 2009-02-13 13:50:28 +0300 (Fri, 13 Feb 2009) | 2 lines changed indentation to tab and all /*! to /** ------------------------------------------------------------------------ r5266 | bricks | 2009-02-13 11:54:35 +0300 (Fri, 13 Feb 2009) | 2 lines changed commentation to c style and fixed indentation ------------------------------------------------------------------------ r5265 | bricks | 2009-02-13 11:52:28 +0300 (Fri, 13 Feb 2009) | 2 lines Fixed some indentation, typos and compiler warnings in tests ------------------------------------------------------------------------ r5264 | bricks | 2009-02-13 11:42:09 +0300 (Fri, 13 Feb 2009) | 2 lines Fixed compiler warning: don't unref a char* as an OSyncAdvancedOption ------------------------------------------------------------------------ r5262 | Graham Cobb | 2009-02-07 02:29:07 +0300 (Sat, 07 Feb 2009) | 4 lines Bug #1032: Change osync_plugin_config_get_advancedoption_value_by_name to return the option value, not the option itself ------------------------------------------------------------------------ r5261 | Graham Cobb | 2009-02-04 18:37:58 +0300 (Wed, 04 Feb 2009) | 4 lines Fix double-deallocation crash during exit caused by bad refcounting in opensync_member.c. ------------------------------------------------------------------------ r5260 | friedrich.beckmann | 2009-02-04 17:32:36 +0300 (Wed, 04 Feb 2009) | 1 line engine_error_single_init_error, ..double_init_error, ...no_objtype_error, ...no_config_error did not work. See ticket #1056 ------------------------------------------------------------------------ r5258 | Graham Cobb | 2009-02-03 22:54:04 +0300 (Tue, 03 Feb 2009) | 4 lines Timeout merge complete This commit is just to tidy up attributes ------------------------------------------------------------------------ r5257 | Graham Cobb | 2009-02-03 22:48:24 +0300 (Tue, 03 Feb 2009) | 8 lines Timeout merge #3: 6) Implement a mechanism to protect the queue itself: i.e. is the receiver still reading the queue? 4) Handle timeout before reply queue set up by generating an error message on the command queue ------------------------------------------------------------------------ r5256 | Graham Cobb | 2009-02-03 22:35:06 +0300 (Tue, 03 Feb 2009) | 2 lines Bug #1052: add refs in obj_engine and sink_engine ------------------------------------------------------------------------ r5255 | Graham Cobb | 2009-02-03 22:26:06 +0300 (Tue, 03 Feb 2009) | 8 lines Timeout merge 2: 3) Add references for cross-linked pointers between queues and remove linkages (and unref) when queue disconnected 2) Limit the number of pending entries so the timeout is not dependent on the number of outstanding requests ------------------------------------------------------------------------ r5254 | Graham Cobb | 2009-02-03 22:07:09 +0300 (Tue, 03 Feb 2009) | 3 lines Merge of basic timeout changes ------------------------------------------------------------------------ r5245 | dgollub | 2009-01-31 20:16:47 +0300 (Sat, 31 Jan 2009) | 6 lines Add sync_mixed_objtype testcase to test mixed-objtype syncing #992 This testcase is on intention not integrated into CTest, since it's failing due to a bug in the mock-format plugin (marshal function assigned to the wrong registered objformat - r5243). ------------------------------------------------------------------------ r5244 | dgollub | 2009-01-31 20:12:45 +0300 (Sat, 31 Jan 2009) | 9 lines Reassing mixed-objtype synced mapping-entries after the MULITPLY engine event. To fix conversion to the correct destination format of the peer. Converting in the "native" ObjEngine allows to access the origianl OSyncObjTypeSink which stores the resource/format configuration of the peer. To handle the objengine re-assigning before the conversion, the alternative-objtype hashtable of the member get used. ------------------------------------------------------------------------ r5243 | dgollub | 2009-01-31 20:05:12 +0300 (Sat, 31 Jan 2009) | 3 lines The mock-format plugin assigns the marshal function to all formats, even if it's only valid for one format ------------------------------------------------------------------------ r5242 | dgollub | 2009-01-31 20:00:28 +0300 (Sat, 31 Jan 2009) | 5 lines Implement for OSyncMember a hashtable which stores the "alternative" objtypes. "alternative" objtypes are those objtypes which could be handled by the member with a "native" objtype, when doing mixed-objtype-syncing. ------------------------------------------------------------------------ r5241 | dgollub | 2009-01-31 19:57:47 +0300 (Sat, 31 Jan 2009) | 3 lines Start with empty lists in osync_archive_load_changes() Avoid issues with uninitalized lists. ------------------------------------------------------------------------ r5240 | dgollub | 2009-01-31 16:05:17 +0300 (Sat, 31 Jan 2009) | 3 lines Fix engine_sync_read_write_stress2 testcase. Same regression fix as in commit r5239 ------------------------------------------------------------------------ r5239 | dgollub | 2009-01-31 16:03:59 +0300 (Sat, 31 Jan 2009) | 12 lines Fix testcase engine_sync_read_write. Regression got introduced by r5237 (mixed-objtype related modification) test-fixture "group5" (from _create_group5) create two members with different set of formats/objtypes. The second member had additionally mockformat2/mockobjtype2 and mockformat3/mockobjtype3. Member 1 didn't. So the engine failed syncing, since there were no further peer-sinkengine which would support this anyway. Since this testcase doesn't is intended to this this, the two additional format got dropped. This still needs to be handled in the osync_engine_initialize() function, by an error/fail. And not in the actual sync() call #992 ------------------------------------------------------------------------ r5238 | cstender | 2009-01-30 19:58:35 +0300 (Fri, 30 Jan 2009) | 2 lines fixed build ------------------------------------------------------------------------ r5237 | dgollub | 2009-01-30 00:29:33 +0300 (Fri, 30 Jan 2009) | 27 lines Introduce support for determining "mixed objtypes". This commit addresses following problem: To create/initialize an OSyncObjEngine at least two member are required which share the same ObjType. With mixed-objtype this this would not work. Example: (objtype) Member 1: event Member 2: calendar The engine would fail in initializing since it would not found a pair of equal objtypes. This commit adds some logic to detect how many possible ObjEngine could be initialized, and would not restrict them to at least one. With the introduction with "dummy" OSyncSinkEngine, a ... |