summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-11-26devinfo: increase memory size for encoding devinfo in WBXMLmb7981Zhu, Yongsheng1-1/+4
Double the size of buffer used in encoding devinfo. When there are many sources, datastores consume much more buffer. It makes usage of buffer exceed 12k.
2009-11-11autotools + old libical: crash when compiled without ↵Patrick Ohly1-1/+2
--enable-evolution-compatibility The compile time check for libical's memory handling was broken for old libical versions where the memory is owned by libical. ICAL_FREE() was defined to free() as in the other case, should have been empty. Reported in Moblin Bugzilla #7857.
2009-11-10anonymous login: improved passing anonymous login attempts to DB ApiLukas Zeller1-5/+17
- for the modes that pass a credential *into* the plugin to check (Password_ClrText_IN and Password_MD5_IN), a empty string will be passed along with user name "anonymous". - for the modes where the plugin *returns* a credential string for the engine to check (Password_ClrText_OUT and Password_MD5_OUT), the engine checks if that returned string is empty; if it is not, anonymous login is rejected. (user name passed is "anonymous").
2009-11-10Revert "TSyncSession::checkCredentials(): <requiredauth>none => accept ↵Patrick Ohly1-8/+0
invalid credentials" This reverts commit b76470a04038b601a2521a7e496ccde08efc5fa9. Lukas prefers to keep the old functionality and suggested to provide a <logininitscript> which returns TRUE in servers which need no credential checking. Will do that in SyncEvolution.
2009-11-04TEngineInterface::debugPuts(): not active in serverPatrick Ohly2-6/+5
The real implementation of TEngineInterface::debugPuts() was unintentionally depending on the DBAPI_TUNNEL_SUPPORT define. In the server engine, DBAPI_TUNNEL_SUPPORT wasn't set, so the default implementation which only returned an error was active. Now client and server implement the call. The downcast to TSyncClientBase was unnecessary, the base class also provides getDbgLogger().
2009-11-03TSyncSession::checkCredentials(): <requiredauth>none => accept invalid ↵Patrick Ohly1-0/+8
credentials This changes the meaning of <requiredauth>none</requiredauth> from "all kinds of authentication methods allowed, including none" to "all kinds of credentials allowed, including invalid ones". Because a client with invalid credentials was already allowed to connect by not sending them, this doesn't make a server setup less secure. It has the advantage that the client setup becomes easier.
2009-10-29DebugPuts(): added to the unilib enginePatrick Ohly2-0/+17
The unilib engine no longer implemented the experimental DebugPuts() call. Added the necessary virtual method implementation.
2009-10-29TSyncAppBase::encodingFromData(): detect Oracle Beehive XML messagesPatrick Ohly1-1/+3
Oracle Beehive sends XML messages without the <?xml...?> prefix. They start directly with the <SyncML> root element. These messages were not detected as SyncML, thus breaking the whole sync. Now the code accepts data starting with "<SyncML" as SyncML messages in XML format.
2009-10-23TServerEngineInterface::SessionStep(): removed obsolete labelPatrick Ohly1-1/+0
'done' isn't used, gcc -Wall complains about that. Removed.
2009-10-23TServerEngineInterface::OpenSessionInternal(): printf format for uInt64Patrick Ohly1-1/+1
The right printf format for uInt64 is hard to guess, so convert to long long unsigned and print that.
2009-10-23TEngineSessionDispatch::generateRespURI(): result of string::find downcasted ↵Patrick Ohly1-2/+2
to sInt16 Another case where comparison against string::npos can't work because if it gets returned, it would be reduced to a smaller integer first. These two cases should actually fails on 32 bit platforms, not just 64 bit.
2009-10-23Linux platform: need _GNU_SOURCE for vasprintfPatrick Ohly1-0/+3
It compiles without that, but gcc -Wall complains.
2009-10-23another unhandled enumPatrick Ohly1-0/+5
2009-10-23another #warningPatrick Ohly1-1/+1
2009-10-23TLocalEngineDS::newDevInfDatastore(): fixed 64 biit issuePatrick Ohly1-1/+1
Storing string::npos in an int does not work on 64 bit.
2009-10-23superdatastore: add unhandled sop enum valuesPatrick Ohly1-0/+12
This keeps gcc -Wall happy. In order to not change the semantic, the new case doesn't do anything, as before. If this case is not meant to happen, then jumping to the "nods" error case or returning some internal error might be better.
2009-10-23TSyncSession::initSync(): avoid #warning in gccPatrick Ohly1-1/+1
gcc -Wall -Werror aborts when running into #warning. As a workaround avoid the #warning when compiling with gcc.
2009-10-23TStdLogicDS::logicGenerateSyncCommandsAsServer: invalid logical expression?!Patrick Ohly1-1/+1
gcc -Wall warns about itemcount<getDSConfig()->fMaxItemsPerMessage==0 This warning seems to be correct, changed the code to itemcount<getDSConfig()->fMaxItemsPerMessage
2009-10-23TStdLogicDS::startDataAccessForServer(): fioxed signed/unsigned comparisonPatrick Ohly1-1/+1
gcc -Wall complains about this. The unsigned int is casted to long for the comparison.
2009-10-23TCustomImplDS::modifyMap(): added redundant parenthesis for gcc -WallPatrick Ohly1-1/+1
2009-10-21gen-makefile-am.sh + autotools: avoid GNU find --printf and shell wildcardsPatrick Ohly2-14/+58
On Mac OS X the previous approach with find had problems because -printf is not supported there. In Poky, the usage of wildcards didn't work as intended. The new approach relies more on grep and list of file patterns which are stored in intermediate files.
2009-10-18Alert 222 loop detector improved: do not trigger as long as valid status is ↵Lukas Zeller6-15/+26
received Patrick observed permature session abort because the Alert 222 loop detector counted 5 Alert 222 messages in less than 20 seconds. There is a perfectly valid case where this could happen: - client sends a message to the server with a very compact list of deleted items - server responds with several (> 5) messages that contain the Status messages for the deletes, one by one (a bit strange, but valid). - soon the client has no changes left while the server is still sending status replies, so the client starts sending Alert 222. - After 5 alerts the session was aborted. The fix is now to reset the 222 alert counter fOutgoingAlert222Count whenever a essential (i.e. required) status response is received. So as long as the server sends status, the 222 loop detector will not trigger.
2009-10-18ODBC STD servers and clients: did not work at all (connection string always ↵Lukas Zeller1-18/+3
empty) fSessionDBConnStr and fSessionDBPassword were only copied with SCRIPT_SUPPORT defined. STD version did not have that, so no ODBC connection was possible at all. Nobody seemed to have used the STD server for quite while, 892cc4f467 (added SETDBCONNECTSTRING() and SETDBPASSWORD()) which broke that was added in June 2008...
2009-10-16comment cosmeticsLukas Zeller2-8/+10
2009-10-15vcard/vcal folding: Made sure folding does not occur within UTF-8 sequencesLukas Zeller1-4/+15
While the specs are not entirely clear about this, and it does not matter when unfolding preceedes any interpretation as a character string, folding within a UTF-8 sequence makes the vCard/vCalendar as whole a non-string, which for example cannot be assigned to a Mac OS X NSString (because these strings must have valid encoding in all cases). So this patch adds a check which make sure folding only occurs at UTF-8 boundaries.
2009-10-15vcard/vcal B64 properties: base64 encoded properties must be terminated with ↵Lukas Zeller2-1/+8
a CRLF even if folding is disabled The terminating CRLF is automatically added as part of the encodeValues()/finalizeProperty() process, but only if folding is enabled. Because the terminating empty line is a irregularity to the folding process, I decided to add this special case (no folding, but still needing ONE linebreak at the end) here rather than modifying the normal way encodeValues()/finalizeProperty() work (the former is also used from elsewhere in the code).
2009-10-14vcard/vcal B64 properties: added workaround to recognize improperly folded ↵Lukas Zeller1-6/+20
B64 properties Some implementations just chop B64 into several lines when encoding B64, without properly prefixing continuation lines with some whitespace. Until now, the B64 decoding stopped at the first line end not followed by whitespace, because this syntactically denotes the end of a property. Now the parser does a lookahead into the next line to see if it contains any ":" or ";", which means that it is the begin of a new property. Otherwise, it just takes the line as a continuation of the B64 string. This way, the parser now can parse vCards like: BEGIN:VCARD VERSION:2.1 N:Doe;Joe;;; TITLE:Tester PHOTO;TYPE=JPEG;ENCODING=B:/9j/4AAQSkZJRgABAQAAAQABAAD/7QAcUGhvdG9zaG9wI SUNDX1BST0ZJTEUAAQEAAAIoQURCRQIQAABtbnRyUkdCIFhZWiAHzwAGAAMAAAAAAABhY3Nw QVBQTAAAAABub25lAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLUFEQkUAAAAAAAAAAAAA END:VCARD although the correct representation would be BEGIN:VCARD VERSION:2.1 N:Doe;Joe;;; TITLE:Tester PHOTO;TYPE=JPEG;ENCODING=B:/9j/4AAQSkZJRgABAQAAAQABAAD/7QAcUGhvdG9zaG9wI SUNDX1BST0ZJTEUAAQEAAAIoQURCRQIQAABtbnRyUkdCIFhZWiAHzwAGAAMAAAAAAABhY3Nw QVBQTAAAAABub25lAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLUFEQkUAAAAAAAAAAAAA END:VCARD
2009-10-14unilib: eliminated another bunch of printf argument warnings by casting all ↵Lukas Zeller6-39/+36
%ld arguments to (long) Note: this makes such args 64bit compatible, as long becomes 64bit automatically on 64bit arch.
2009-10-13engineinterface: added missing return statement for returnLineartime()Lukas Zeller1-7/+8
2009-10-13stl_minimal has no != operator => use ==Beat Forster1-1/+1
2009-10-13ANDROID strings addedBeat Forster2-0/+10
2009-10-13unilib: several type adaptions for changes due to unilibBeat Forster4-7/+11
2009-10-13Merge remote branch 'moblin/unilib' into unilibLukas Zeller1-0/+2
2009-10-13unilib: make sure no half-constructed session is left over at failed ↵Lukas Zeller1-0/+7
OpenSession()
2009-10-13unilib cleanup: fixed some build problems introduced through unilibLukas Zeller4-23/+23
2009-10-13unilib: fixed case for targets with no binfile compiled in at allLukas Zeller2-2/+6
customimplagent must have a binfilesActive() returning false when no binfileimplclient is included.
2009-10-13syserial product codes: added codes for Android client and server libs, ↵Lukas Zeller1-1/+3
changed Win32 server code (was overlapping iPhone client lib) Changing the definition of SYSER_PRODCODE_SERVER_LIB_WIN32 is no problem because it was never used so far.
2009-10-13SDK: version changed to V1.6.1Beat Forster2-4/+4
2009-10-13engine: added "lastused" and "timeout" session keys for server session ↵Lukas Zeller3-0/+40
timeout handling
2009-10-12autotools build: only build SAN code as part of the SDKunilibsanPatrick Ohly1-0/+2
The san.cpp/h files are only needed inside the SDK and can be ignored when building the engines.
2009-10-08Merge remote branch 'moblin/unilib' into unilibLukas Zeller11-91/+181
luz: not sure if I resolved the conflict properly, please check last few lines of the file. Conflicts: configure.in
2009-10-08Merge branch 'luz' into unilibLukas Zeller7-9/+18
2009-10-08Merge remote branch 'moblin/san' into luzLukas Zeller7-9/+18
2009-10-07Merge branch 'luz' into unilibLukas Zeller1-6/+6
2009-10-07platform adapters Linux: Android adaptionsBeat Forster2-0/+12
2009-10-07localengineds: avoid using != operator on strings because STLs exist that ↵Lukas Zeller1-6/+6
only support ==
2009-10-07autotools + pkg-config: added synthesis-sdk.pcPatrick Ohly7-6/+72
In contrast to synthesis.pc, synthesis-sdk.pc does not link against the engine. Applications which want to install and load the engine as module can use synthesis-sdk.pc. It provides the engine entry points expected by libsynthesissdk.a in a dummy library (libsynthesisstubs.a), so that linking against the SDK succeeds without undefined symbols. From an API perspective, the difference between the two methods is that synthesis.pc supports "[]" and "[server:]" whereas trying that with synthesis-sdk.pc will fail.
2009-10-07libsynthesis + autotools: must be linked against libzPatrick Ohly1-1/+1
When compiling with the autotools, libz is always taken from the system. Therefore libsynthesis must be linked against it unconditionally. This worked before if the application was linked against libz via some other library, but failed in a minimalistic link test with just libsyncevolution/libsynthesissdk/libsynthesis.
2009-10-07syncappbasse: turned extern "C" into static functionsPatrick Ohly1-53/+54
The SyncML Toolkit and expat callbacks don't need to be externally visible. Making them static reduces the symbol table that the linker has to deal with and (more imporantly) avoids name clashes. The callbacks are still defined inside an 'extern "C"' block, so if that has any effect, it still should apply.
2009-10-07autotools build: switched to new combi enginePatrick Ohly5-33/+43
configure/make build all files required for client and server engine into the same libsynthesis. The SDK always assumes that the engine is linked directly and thus has undefined references to the engine entry points. An application which doesn't want to link against the engine has to provide dummy entry points, then later open libsynthesis.so.0 in ConnectEngine. Should be provided as part of the Synthesis source code, together with a corresponding synthesis_sdk.pc. That the SDK depends on the engine entry points is defined in config.h, not in the shared SDK/target_options.h. The rationale is that not all SDK users might want the extra dependency. To make this work, the relevant SDK source code has to include config.h when available. This patch builds upon the (incompletely merged and obsolete) build update for two separate libraries and thus removes obsolete code. It cleans up the selection of files a bit (SDK contained some unused code).