Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
--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.
|
|
- 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").
|
|
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.
|
|
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().
|
|
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.
|
|
The unilib engine no longer implemented the experimental
DebugPuts() call. Added the necessary virtual method
implementation.
|
|
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.
|
|
'done' isn't used, gcc -Wall complains about that. Removed.
|
|
The right printf format for uInt64 is hard to guess, so convert to
long long unsigned and print that.
|
|
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.
|
|
It compiles without that, but gcc -Wall complains.
|
|
|
|
|
|
Storing string::npos in an int does not work on 64 bit.
|
|
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.
|
|
gcc -Wall -Werror aborts when running into #warning.
As a workaround avoid the #warning when compiling with gcc.
|
|
gcc -Wall warns about
itemcount<getDSConfig()->fMaxItemsPerMessage==0
This warning seems to be correct, changed the code to
itemcount<getDSConfig()->fMaxItemsPerMessage
|
|
gcc -Wall complains about this. The unsigned int is casted to long for the comparison.
|
|
|
|
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.
|
|
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.
|
|
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...
|
|
|
|
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.
|
|
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).
|
|
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
|
|
%ld arguments to (long)
Note: this makes such args 64bit compatible, as long becomes 64bit automatically on 64bit arch.
|
|
|
|
|
|
|
|
|
|
|
|
OpenSession()
|
|
|
|
customimplagent must have a binfilesActive() returning false
when no binfileimplclient is included.
|
|
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.
|
|
|
|
timeout handling
|
|
The san.cpp/h files are only needed inside the SDK and can
be ignored when building the engines.
|
|
luz: not sure if I resolved the conflict properly,
please check last few lines of the file.
Conflicts:
configure.in
|
|
|
|
|
|
|
|
|
|
only support ==
|
|
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.
|
|
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.
|
|
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.
|
|
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).
|