<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.mobile.synthesis">
    <title>gmane.comp.mobile.synthesis</title>
    <link>http://blog.gmane.org/gmane.comp.mobile.synthesis</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mobile.synthesis/715"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mobile.synthesis/709"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mobile.synthesis/706"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mobile.synthesis/703"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mobile.synthesis/701"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mobile.synthesis/694"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mobile.synthesis/691"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mobile.synthesis/684"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mobile.synthesis/675"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mobile.synthesis/666"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mobile.synthesis/653"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mobile.synthesis/641"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mobile.synthesis/633"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mobile.synthesis/627"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mobile.synthesis/624"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mobile.synthesis/618"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mobile.synthesis/613"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mobile.synthesis/610"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mobile.synthesis/607"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mobile.synthesis/605"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mobile.synthesis/715">
    <title>Small bug in configure.in</title>
    <link>http://comments.gmane.org/gmane.comp.mobile.synthesis/715</link>
    <description>&lt;pre&gt;The help string for configure option --enable-debug-logs says that the 
option is --debug-logs.

Andris

_______________________________________________
os-libsynthesis mailing list
os-libsynthesis-zhcxFSZdvaOWpB8AXVHUkA&amp;lt; at &amp;gt;public.gmane.org
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis
&lt;/pre&gt;</description>
    <dc:creator>Andris Pavenis</dc:creator>
    <dc:date>2012-05-25T09:45:37</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mobile.synthesis/709">
    <title>libsynthesis and SonyEricsson Xperia S own SyncMLclient</title>
    <link>http://comments.gmane.org/gmane.comp.mobile.synthesis/709</link>
    <description>&lt;pre&gt;Tried to test whether synchronization works with Xperia-S own SyncML 
client (comes with Android 2.3.7 installed on phone, software version 
6.0.A.3.73) using custom libsynthesis based SyncML server.

- the first problem was chunked transport encoding use by phone software 
initially not supported by mentioned above server software. It was 
however easy enough to fix.
- the next problem is failure of libsynthesis to get authentication 
information sent by phone extracted from messages. Also decoded incoming 
WBXML messages saved into XML format are corrupt. For unknown reason the 
client tries to synchronize at first without authentication even when 
both user name and password are specified in its configuration. 
Authentication is first provided in second attempt of 4 totally. 3 of 4 
incoming WBXML format packets seems to contain authentication 
information but also wbxml2xml does not show it

I'm including:
- wireshark capture of communications between client and server (local 
WLAN used)
- HTML format logs of all 4 attempts
- WBXML messages and decoded (at least tried) XML messages
- server output which allows to identify the order of SyncML sessions

as attached xz packed tar archive

Last tests was done with current GIT version of libsynthesis from master 
branch.

Andris

PS. To be sure verified also that the same server works OK with 
Synthesis SyncML PRO Client for Android version 2.3.2 on ZTE Blade.




_______________________________________________
os-libsynthesis mailing list
os-libsynthesis-zhcxFSZdvaOWpB8AXVHUkA&amp;lt; at &amp;gt;public.gmane.org
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis
&lt;/pre&gt;</description>
    <dc:creator>Andris Pavenis</dc:creator>
    <dc:date>2012-05-21T13:43:18</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mobile.synthesis/706">
    <title>scripts + datastore</title>
    <link>http://comments.gmane.org/gmane.comp.mobile.synthesis/706</link>
    <description>&lt;pre&gt;Hello!

I am trying to solve one issue in SyncEvolution: when trying to find
pairs, it needs to know on a per-datastore basis whether both remote and
local storage have truly unique UID/RECURRENCE-ID that can be relied
upon (iCalendar 2.0 semantic).

So far, I am using a compare script for that, but it has to make
assumptions about the peer. To overcome that I added code that allows
clients to add SyncCap entries to the CTCap (similar to the "can restart
flag"). This information is stored at the receiving end in the
TSyncDataStore base class by the TRemoteDataStore while parsing the
SyncCap (again, very similar to "fCanRestart").

But now my problem is: how can the compare script access that
information?

It runs inside the "datatype context". Does that mean that all
datastores sharing the same type also share the same context and that
the &amp;lt;initscript&amp;gt; for the type is only invoked once?

The script functions in multifielditemtype.cpp (like SYNCOP()) looked
promising. It's possible to get a pointer to some kind of datastore:

TSyncDataStore *related = static_cast&amp;lt;TMultiFieldItemType *&amp;gt;(aFuncContextP-&amp;gt;getCallerContext())-&amp;gt;getRelatedDatastore();

But in practice that pointer is always NULL. I wasn't sure anyway
whether I would get the pointer to the local or remote datastore.

Any hints?

&lt;/pre&gt;</description>
    <dc:creator>Patrick Ohly</dc:creator>
    <dc:date>2012-04-25T13:11:07</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mobile.synthesis/703">
    <title>Sync server with oracle database</title>
    <link>http://comments.gmane.org/gmane.comp.mobile.synthesis/703</link>
    <description>&lt;pre&gt;Hi, Lukas

I am working on Funambol server for a week, and it just could not connect
to the oracle db. And I am not good at java, and using maven an ant is not
that easy.
And I was think about that, if using the libsynthesis it could be easy,
dosen't it?
Is there a usefull demo server for linux ?  If there isn't, how could i
make it?

Thanks
regards
-zhoulei
_______________________________________________
os-libsynthesis mailing list
os-libsynthesis-zhcxFSZdvaOWpB8AXVHUkA&amp;lt; at &amp;gt;public.gmane.org
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis
&lt;/pre&gt;</description>
    <dc:creator>zhou lei</dc:creator>
    <dc:date>2012-04-23T02:06:50</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mobile.synthesis/701">
    <title>The sync works now. But some other problems aboutthe set value.</title>
    <link>http://comments.gmane.org/gmane.comp.mobile.synthesis/701</link>
    <description>&lt;pre&gt;Hi, Lukas

I just try it as what to told me to do, and the client works. Thank you
very much.

For property "TEL" in the vcard, it just has too many enum values, how
could i set the "TEL" value with its enum flags. If only set it by the
setstringvaluebyname, It may use the default one, but i want to set it
myself.

Thanks
Best Regards
-Zhoulei
_______________________________________________
os-libsynthesis mailing list
os-libsynthesis-zhcxFSZdvaOWpB8AXVHUkA&amp;lt; at &amp;gt;public.gmane.org
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis
&lt;/pre&gt;</description>
    <dc:creator>zhou lei</dc:creator>
    <dc:date>2012-04-01T02:16:03</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mobile.synthesis/694">
    <title>what's deference between dbplugin for cocoa andfor cpp</title>
    <link>http://comments.gmane.org/gmane.comp.mobile.synthesis/694</link>
    <description>&lt;pre&gt;Hi all

We can find "snowwhite" in the doc of the libsynthesis, and in the file
named "dbapi.cpp" we can find it too. And from the demo for IOS, We can
find out that, in cocoa, the lib would using the code in
"dbplugin_cocoa.m". There I found the c functions, like
Module_createContext, and the class snowwhite has these functions too. So I
just think about that could I modefy the dbplugin in the ios demo make it
works like "snowwhite" in cpp. But I cant find out want the session means
in the "snowwhite", and in the dbplugin_cocoa there is a function named
"Session_CreateContext", but do nothing.

Module_CreateContext create the new pluginModule, and init the db with
newpluinDBWithName, but how to init a session. Could anyone can give a
usefull dbplugin?

Thanks
Regards
-Zhoulei
_______________________________________________
os-libsynthesis mailing list
os-libsynthesis-zhcxFSZdvaOWpB8AXVHUkA&amp;lt; at &amp;gt;public.gmane.org
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis
&lt;/pre&gt;</description>
    <dc:creator>zhou lei</dc:creator>
    <dc:date>2012-03-20T09:31:35</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mobile.synthesis/691">
    <title>About the db plugin in the ios</title>
    <link>http://comments.gmane.org/gmane.comp.mobile.synthesis/691</link>
    <description>&lt;pre&gt;Hi all,

     I am a newer of the syncML, and try this on ios for a half month. And
finally find out that the libsynthesis is best one, it have demo and docs,
and guys works on this are all very kind. And I even do not know how the
syncML protocol, but I want to know how the libsynthesis works, especially
the lib and the db plugin. I just know how the db plugin would be called,
but i got more questions, and some of them is quite easy for you but
important for me. There are the questions:
    1.Is that the libsynthesis should let the db underversion controle, i
mean if the version is not the same the syncML would sync with server or if
the data is not the same  the syncML would sync with the server.
    2.Why the "Target Dependencies" in the project of "SyncMLClientSample"
is without the "static_combiEngine_opensource_ios", when i got the demo,
first time I even could not combile this demo. Thats quite easy to solve,
but make me think this demo may not work at the first.
    3.Why the docs did not maintioned about the ios db plugin, in the doc i
found out the a e.g. named snowwhite,  but not for ios, and the doc for the
xml is quite simple, I even dont know whats the relationship between the
xml and the db plugins, the only way is set a break point and step by step
gointo the calls, and there are so many classes, you should take time to
find out who is whose father and whose is the child.
    4.In the demo client of ios, i found a define of "SYNCML_TARGET_DBID
2001", and in the MainViewController.m there is a targetkey for "1001",
2001 is defined in the xml, but where is the "1001", and when get the
"1001", it returns NULL, for what purpose? And i say the note in the
appdelegate.h, "1003" is maintioned here, are they define by the ios?  Or
are they defined by the syncML?  i mean that for the address boot we only
could define it to 1001 or what.
    Thanks for read these tasks. And thanks for the hardwork of Lukas.

Thanks
Best Regards
-Zhoulei
_______________________________________________
os-libsynthesis mailing list
os-libsynthesis-zhcxFSZdvaOWpB8AXVHUkA&amp;lt; at &amp;gt;public.gmane.org
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis
&lt;/pre&gt;</description>
    <dc:creator>zhou lei</dc:creator>
    <dc:date>2012-03-16T03:46:19</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mobile.synthesis/684">
    <title>URI decoding</title>
    <link>http://comments.gmane.org/gmane.comp.mobile.synthesis/684</link>
    <description>&lt;pre&gt;Hello!

Is there some utility code for decoding an URI into its individual
parts? Simple string operations don't work for an uri like this:

file:///tmp/abc%25def =&amp;gt; file:// + /tmp/abc%def

I've recently come across this because Evolution Data Server somehow
puts such an encoded % into PHOTO file URIs, which the engine scripts
need to inline before sending to a peer.

I'm in the process of writing another script method which extracts the
file path and does URI decoding, but I don't want to reinvent the wheel
if there is already such code. A quick search hasn't brought up
anything, though.

&lt;/pre&gt;</description>
    <dc:creator>Patrick Ohly</dc:creator>
    <dc:date>2012-03-06T13:55:09</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mobile.synthesis/675">
    <title>synthesis library size</title>
    <link>http://comments.gmane.org/gmane.comp.mobile.synthesis/675</link>
    <description>&lt;pre&gt;Hi all
i'm using Syncevolution. 
i want to know how can i minimize the size of files on disk of synthesis library ? 

thanks in advance !

regards.

Une messagerie gratuite, garantie à vie et des services en plus, ça vous tente ?
Je crée ma boîte mail www.laposte.net

_______________________________________________
os-libsynthesis mailing list
os-libsynthesis&amp;lt; at &amp;gt;synthesis.ch
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis
&lt;/pre&gt;</description>
    <dc:creator>jacqueline.leroi</dc:creator>
    <dc:date>2011-10-27T11:00:59</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mobile.synthesis/666">
    <title>super data store: trying to read to check forexistance</title>
    <link>http://comments.gmane.org/gmane.comp.mobile.synthesis/666</link>
    <description>&lt;pre&gt;Hello!

A SyncEvolution user found that SyncEvolution fails while synchronizing
against a mobile phone when an item was deleted on both the phone and
Evolution side. SyncEvolution is asked to read the already deleted item,
which then fails (currently) with an unspecified database error.

This is due to the following code:

#20 0x00000000009b89de in sysync::TSuperDataStore::engProcessRemoteItem (this=0x1166900, syncitemP=0xe854e0, 
    aStatusCommand=...) at /home/pohly/syncevolution/libsynthesis/src/sysync/superdatastore.cpp:637
637          regular=linkP-&amp;gt;fDatastoreLinkP-&amp;gt;logicRetrieveItemByID(*itemcopyP,aStatusCommand);
(gdb) list
632          PDEBUGPRINTFX(DBG_DATA+DBG_DETAILS,(
633            "Trying to read item by remoteID='%s' from subdatastore '%s' to see if it is there",
634            itemcopyP-&amp;gt;getRemoteID(),
635            linkP-&amp;gt;fDatastoreLinkP-&amp;gt;getName()
636          ));
637          regular=linkP-&amp;gt;fDatastoreLinkP-&amp;gt;logicRetrieveItemByID(*itemcopyP,aStatusCommand);
638          // must be ok AND not 404 (item not found)
639          if (regular &amp;amp;&amp;amp; aStatusCommand.getStatusCode()!=404) {
640            PDEBUGPRINTFX(DBG_DATA,(
641              "Item found in subdatastore '%s', deleting it there",

Why is it necessary to read before trying to delete? If the item exists,
then reading it is a fairly expensive test.

So far, my backends were written with the expectation that they have to
cope with delete requests for items which are already deleted. This
follows from the inherent race condition between syncing and some other
process which might delete items while a sync runs.

Are all backends expected to return 404 when an item doesn't exist?

&lt;/pre&gt;</description>
    <dc:creator>Patrick Ohly</dc:creator>
    <dc:date>2011-10-24T14:55:56</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mobile.synthesis/653">
    <title>RRULE fieds : occurence vs untilDate</title>
    <link>http://comments.gmane.org/gmane.comp.mobile.synthesis/653</link>
    <description>&lt;pre&gt;Hello,

is there a way in RRULE property to mention the occurence value of an event
cause always we get the End fields that indicate until date ?
i take that exemple :

                 Daily for 10 occurrences:
                 D1 #10

                 Daily until 12/24/94:
                 D1 19941224T000000Z

by getting the RRULE fields for these two ewamples (Interval , Freq
,Fmask, Lmask , End ) we can't determine either an event is an event
with until date or an event with occurence.

THX.
_______________________________________________
os-libsynthesis mailing list
os-libsynthesis-zhcxFSZdvaOWpB8AXVHUkA&amp;lt; at &amp;gt;public.gmane.org
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis
&lt;/pre&gt;</description>
    <dc:creator>Roger KeIrad</dc:creator>
    <dc:date>2011-09-22T14:13:25</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mobile.synthesis/641">
    <title>Delete with empty item (no IDs) generated byserver engine v3.4.0.24</title>
    <link>http://comments.gmane.org/gmane.comp.mobile.synthesis/641</link>
    <description>&lt;pre&gt;Found that libsynthesis based server generates Delete command for client 
with empty item:

&amp;lt;Sync&amp;gt;&amp;lt;CmdID&amp;gt;4&amp;lt;/CmdID&amp;gt;&amp;lt;Target&amp;gt;&amp;lt;LocURI&amp;gt;./C:Calendar&amp;lt;/LocURI&amp;gt;&amp;lt;/Target&amp;gt;&amp;lt;Source&amp;gt;&amp;lt;LocURI&amp;gt;./calendar&amp;lt;/LocURI&amp;gt;&amp;lt;/Source&amp;gt;&amp;lt;NumberOfChanges&amp;gt;1&amp;lt;/NumberOfChanges&amp;gt;&amp;lt;Delete&amp;gt;&amp;lt;CmdID&amp;gt;5&amp;lt;/CmdID&amp;gt;&amp;lt;Meta&amp;gt;&amp;lt;Type&amp;gt;text/x-vcalendar&amp;lt;/Type&amp;gt;&amp;lt;/Meta&amp;gt;&amp;lt;Item/&amp;gt;&amp;lt;/Delete&amp;gt;&amp;lt;/Sync&amp;gt;

when calendar superdatastore is being used.

Test environment:
- libsynthesis (engine version 3.4.0.24) based server
- 2 Symbian phones: Nokia E65 and Nokia E90 Communicator (named as A and 
B, which one is A is not significant).
- superdatastore calendar was used

Perhaps also other Symbian phones can be used to reproduce the problem

Steps to repeat the problem:
1) create recurrent event on one of the phones (phone A), edit one of 
occurrences (change time interval), delete one occurrence
2) synchronize phone A with server (should add 2 events)
3) synchronize phone B with server (event is added on this phone).
4) remove all occurrences of event from phone A and synchronize with 
server (should remove 2 events from server according logs)
5) synchronize phone B with server. As far as I had tested, phone B has 
before this step still pending update for recurrent event but not for 
edited occurrence. As result replace/delete conflict occurs and 
configuration setting deletewins was not used. Recurrent event is 
re-added to server data-store but the modified occurrence is not even if 
it remains in EXDATES.
6) attempting to synchronize phone B again causes the error mentioned at 
the start to occur and the synchronization fails. In my case an attempt 
to repeat synchronization does not help any more as the same error repeats.

This error also causes session event loop to receive 
sysync::STEPCMD_DONE without actually returning a response to the 
client. Significant status changes are visible from output below (ones 
like STEPCMD_STEP ==&amp;gt; STEPCMD_OK and similar non-interesting ones are 
not outputted):

2011/09/15 16:19:19.0159 - 
ipn::tcp::HttpServerBase::Session::parse_request: INFO: request_id=145 
remote_address='127.0.0.1' request_line='POST /syncml HTTP/1.1 
body_length=291
HTTP request: session_id=N/A request_length=291 
content_type='application/vnd.syncml+wbxml'
Generated ID: 'Remi685ET5bt0pQcZhzz7EJOudU'
session_step: 13:19:19.018 : t=0.000003 err=0 : STEPCMD_GOTDATA ==&amp;gt; 
STEPCMD_OK
session_step: 13:19:19.051 : t=0.000213 err=0 : STEPCMD_STEP ==&amp;gt; 
STEPCMD_SENDDATA
session_step: 13:19:19.051 : t=0.000002 err=0 : STEPCMD_SENTDATA ==&amp;gt; 
STEPCMD_NEEDDATA
2011/09/15 16:19:19.0511 - 
ipn::tcp::HttpServerBase::WorkerThread::process_request: INFO: 
request_id=145: 200 (OK)
2011/09/15 16:19:19.3220 - 
ipn::tcp::HttpServerBase::Session::parse_request: INFO: request_id=146 
remote_address='127.0.0.1' request_line='POST 
/syncml?sessionid=Remi685ET5bt0pQcZhzz7EJOudU HTTP/1.1 body_length=2096
Using existing session ID: 'Remi685ET5bt0pQcZhzz7EJOudU'
session_step: 13:19:19.322 : t=0.000003 err=0 : STEPCMD_GOTDATA ==&amp;gt; 
STEPCMD_OK
session_step: 13:19:19.358 : t=0.023678 err=0 : STEPCMD_STEP ==&amp;gt; 
STEPCMD_SENDDATA
session_step: 13:19:19.358 : t=0.000003 err=0 : STEPCMD_SENTDATA ==&amp;gt; 
STEPCMD_NEEDDATA
2011/09/15 16:19:19.3585 - 
ipn::tcp::HttpServerBase::WorkerThread::process_request: INFO: 
request_id=146: 200 (OK)
2011/09/15 16:19:19.5674 - 
ipn::tcp::HttpServerBase::Session::parse_request: INFO: request_id=149 
remote_address='127.0.0.1' request_line='POST 
/syncml?sessionid=Remi685ET5bt0pQcZhzz7EJOudU HTTP/1.1 body_length=399
2011/09/15 16:19:19.5674 - 
ipn::tcp::HttpServerBase::Session::parse_request: INFO: request_id=149 
remote_address='127.0.0.1' request_line='POST 
/syncml?sessionid=Remi685ET5bt0pQcZhzz7EJOudU HTTP/1.1 body_length=399
HTTP request: session_id='Remi685ET5bt0pQcZhzz7EJOudU' 
request_length=399 content_type='application/vnd.syncml+wbxml'
Using existing session ID: 'Remi685ET5bt0pQcZhzz7EJOudU'
session_step: 13:19:19.568 : t=0.000003 err=0 : STEPCMD_GOTDATA ==&amp;gt; 
STEPCMD_OK
session_step: 13:19:19.623 : t=0.000002 err=0 : STEPCMD_STEP ==&amp;gt; 
STEPCMD_DONE
2011/09/15 16:19:19.6228 - 
ipn::tcp::HttpServerBase::WorkerThread::process_request: INFO: 
request_id=149: 500 (INTERNAL ERROR)

As result the server has no data to send to the client as the response. 
Internal error message at the end is caused by absence of the response.

Andris
&lt;/pre&gt;</description>
    <dc:creator>Andris Pavenis</dc:creator>
    <dc:date>2011-09-15T13:34:56</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mobile.synthesis/633">
    <title>Contact Synchronization problem between libsynthesis based server and S60 3rd Edition phones</title>
    <link>http://comments.gmane.org/gmane.comp.mobile.synthesis/633</link>
    <description>&lt;pre&gt;There are following problems synchronizing contacts between libsynthesis
based server (our own implementation) and**S60 3rd edition mobile phones
(I used Nokia E65 and E50 for testing). I'm giving an example to illustrate
the problem:

- let us assume that contact on both server and in mobile phone address book
   contain one or several phone numbers of the same type (for example
   TEL_FLAGS[xx]:8):
        TEL[0]:11111111
        TEL_FLAGS[0]:8
        TEL[1]:22222222
        TEL_FLAGS[1]:8
        TEL[2]:33333333
        TEL_FLAGS[2]:8
        TEL[3]:44444444
        TEL_FLAGS[3]:8

- a part of phone numbers are deleted on server side (not from the end):
        TEL[0]:33333333
        TEL_FLAGS[0]:8
        TEL[1]:44444444
        TEL_FLAGS[1]:8

- An attempt to synchronize device causes SyncML Replace command
   to be generated for updating contact on client side. First 2 numbers
   on client device are replaced with 2 numbers send from server
   but 3rd and 4th number remains unchanged
        TEL[0]:33333333
        TEL_FLAGS[0]:8
        TEL[1]:44444444
        TEL_FLAGS[1]:8
        TEL[2]:33333333
        TEL_FLAGS[2]:8
        TEL[3]:44444444
        TEL_FLAGS[3]:8

The same problem appears also when there is only one number of each type
present and some of them are deleted on server side. After synchronization
it is still present on client side (none replaced, so the first remains 
where it was)

As far as I checked Funambol server tries to workaround this problem by 
sending
empty phone number after I remove phone number using Funambol WebGui demo
version (it supports however only one number of each type so test 
possibilities are
rather limited)

I also saw a different bad behavior of synchronization in case of S60 
3rd edition,
feature pack 1 (I tested with Nokia E90 Communicator). In this case as 
the result
of the Replace command only the last number of each type appears on device
(all other numbers disappear)

Is there any possibility to workaround such problems?

Andris

_______________________________________________
os-libsynthesis mailing list
os-libsynthesis-zhcxFSZdvaOWpB8AXVHUkA&amp;lt; at &amp;gt;public.gmane.org
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis
&lt;/pre&gt;</description>
    <dc:creator>Andris Pavenis</dc:creator>
    <dc:date>2011-09-12T09:59:07</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mobile.synthesis/627">
    <title>StartDataRead/EndDataWrite + invalid anchor</title>
    <link>http://comments.gmane.org/gmane.comp.mobile.synthesis/627</link>
    <description>&lt;pre&gt;Hello!

SyncEvolution's ActiveSync backend uses the sync anchor passed into
StartDataRead() for change tracking. The new anchor is created in
EndDataWrite(). The sync anchor is the ActiveSync "sync key", created
and updated by the ActiveSync server as changes are made to the data.

I now have the following situation: because of a misconfiguration of the
client, it attempts to start a sync with an invalid sync key. The
ActiveSync server rejects it in StartDataRead(), which returns a 10500
error code.

This is the stack backtrace at that point (Synthesis engine running as
SyncML client):

#0  sysync::TPluginApiDS::apiReadSyncSet (this=0x1271be0, aNeedAll=false)
    at /home/pohly/syncevolution/libsynthesis/src/DB_interfaces/api_db/pluginapids.cpp:1166
#1  0x0000000000937285 in sysync::TCustomImplDS::makeSyncSetLoaded (this=0x1271be0, aNeedAll=false)
    at /home/pohly/syncevolution/libsynthesis/src/sysync/customimplds.cpp:3246
#2  0x0000000000932105 in sysync::TCustomImplDS::implStartDataRead (this=0x1271be0)
    at /home/pohly/syncevolution/libsynthesis/src/sysync/customimplds.cpp:1667
#3  0x000000000099fde0 in sysync::TStdLogicDS::startDataAccessForClient (this=0x1271be0)
    at /home/pohly/syncevolution/libsynthesis/src/sysync/stdlogicds.cpp:921
#4  0x00000000009a14c5 in sysync::TStdLogicDS::dsBeforeStateChange(sysync::&amp;lt;anonymous enum&amp;gt;, sysync::&amp;lt;anonymous enum&amp;gt;) (this=0x1271be0, aOldState=sysync::dssta_syncmodestable, aNewState=sysync::dssta_dataaccessstarted)
    at /home/pohly/syncevolution/libsynthesis/src/sysync/stdlogicds.cpp:1428
#5  0x000000000091f940 in sysync::TBinfileImplDS::dsBeforeStateChange(sysync::&amp;lt;anonymous enum&amp;gt;, sysync::&amp;lt;anonymous enum&amp;gt;) (this=0x1271be0, aOldState=sysync::dssta_syncmodestable, aNewState=sysync::dssta_dataaccessstarted)
    at /home/pohly/syncevolution/libsynthesis/src/sysync/binfileimplds.cpp:394
#6  0x0000000000930092 in sysync::TCustomImplDS::dsBeforeStateChange(sysync::&amp;lt;anonymous enum&amp;gt;, sysync::&amp;lt;anonymous enum&amp;gt;) (this=0x1271be0, aOldState=sysync::dssta_syncmodestable, aNewState=sysync::dssta_dataaccessstarted)
    at /home/pohly/syncevolution/libsynthesis/src/sysync/customimplds.cpp:1101
#7  0x000000000090f7ba in sysync::TODBCApiDS::dsBeforeStateChange(sysync::&amp;lt;anonymous enum&amp;gt;, sysync::&amp;lt;anonymous enum&amp;gt;) (this=0x1271be0, aOldState=sysync::dssta_syncmodestable, aNewState=sysync::dssta_dataaccessstarted)
    at /home/pohly/syncevolution/libsynthesis/src/DB_interfaces/odbc_db/odbcapids.cpp:1698
#8  0x000000000095965c in sysync::TLocalEngineDS::changeState(sysync::&amp;lt;anonymous enum&amp;gt;, bool) (this=0x1271be0, 
    aNewState=sysync::dssta_dataaccessstarted, aForceOnError=false)
    at /home/pohly/syncevolution/libsynthesis/src/sysync/localengineds.cpp:4178
#9  0x0000000000957e6f in sysync::TLocalEngineDS::engInitDSForClientSync (this=0x1271be0)
    at /home/pohly/syncevolution/libsynthesis/src/sysync/localengineds.cpp:3582
#10 0x0000000000957e21 in sysync::TLocalEngineDS::engInitForClientSync (this=0x1271be0)
    at /home/pohly/syncevolution/libsynthesis/src/sysync/localengineds.cpp:3568

The error causes apiReadSyncSet() to bail out, without ever calling
EndDataWrite() in that session. Because the backend never gets the
chance to reset the sync anchor, the next sessions just do the same
thing again and again.

How can the backend tell the engine to throw away the sync anchor and
thus force a slow sync? Should it return a special error code?

The backend could manage its own cross-session state, but that reduces
the usefulness of having the sync anchor(s) managed by the engine quite
a bit.

&lt;/pre&gt;</description>
    <dc:creator>Patrick Ohly</dc:creator>
    <dc:date>2011-09-07T12:53:02</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mobile.synthesis/624">
    <title>Race condition writting global logs</title>
    <link>http://comments.gmane.org/gmane.comp.mobile.synthesis/624</link>
    <description>&lt;pre&gt;libsynthesis server engine uses open/close flush method unconditionally for
global logs which causes race condition when incomming SyncML requests
are processed from different threads with resulting SIGSEGV

Included patch seems to workaround the problem. Mutex is ignored unless
flush method is open/close.

Andris

PS. I know that global logs are disabled by default and are not recommended
in multi-user environment. Anyway SIGSEGV is not a good behavior.

_______________________________________________
os-libsynthesis mailing list
os-libsynthesis-zhcxFSZdvaOWpB8AXVHUkA&amp;lt; at &amp;gt;public.gmane.org
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis
&lt;/pre&gt;</description>
    <dc:creator>Andris Pavenis</dc:creator>
    <dc:date>2011-08-25T10:53:57</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mobile.synthesis/618">
    <title>broken X-TEST vCard encoding?</title>
    <link>http://comments.gmane.org/gmane.comp.mobile.synthesis/618</link>
    <description>&lt;pre&gt;Hello!

I am testing SyncEvolution&amp;lt;-&amp;gt;http://www.plan44.ch/fsync_nightly. One of
the tests involves X- extensions. The server seems to support some of
them, probably using wild card matching.

Here's what is sent to it:

BEGIN:VCARD
VERSION:3.0
PRODID:-//Synthesis AG//NONSGML SyncML Engine V3.4.0.27//EN
REV:20110817T213114Z
N:Doe;John;;;
[...]
X-FOOBAR-EXTENSION;X-FOOBAR-PARAMETER=foobar:has to be stored internally by engine and preserved in testExtensions test; never sent to a peer
X-TEST;PARAMETER2="quoted because of spaces";PARAMETER1=nonquoted:Content with\nMultiple\nText lines\nand national chars: äöü
END:VCARD

http://syncev.meego.com/2011-08-17-18-20_synthesis_memotoo_mobical_google_apple_davical_googlecalendar_testing/head-testing-amd64/13-synthesis/Client_Sync_eds_contact_testItems.send.client.A/syncevolution-log.html

This comes back:

BEGIN:VCARD
VERSION:2.1
REV:20110817T213120Z
N:Doe;John;;;
[...]
X-FOOBAR-EXTENSION;X-FOOBAR-PARAMETER=foobar:has to be stored internally
 by engine and preserved in testExtensions test; never sent to a peer
X-TEST;PARAMETER2="quoted because of
 spaces";PARAMETER1=nonquoted;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:Conte
 nt with=0D=0A=
Multiple=0D=0A=
Text lines=0D=0A=
and national chars: =C3=A4=C3=B6=C3=BC
END:VCARD

http://syncev.meego.com/2011-08-17-18-20_synthesis_memotoo_mobical_google_apple_davical_googlecalendar_testing/head-testing-amd64/13-synthesis/Client_Sync_eds_contact_testItems.refresh.client.B/syncevolution-log.html

Note that X-TEST uses quoted-printable, but then it inserts a space into
the middle of the word "Content". The parser in the client correctly (?)
preserves that space, so the text that is stored in Evolution becomes
"Conte nt".

To me this looks like one of those cases where a vCard 2.1 encoder is
stuck between a stone and a hard place: write a line longer than desired
or insert a space.

IMHO it should choose to write a longer line. I bet most parsers would
cope with it just fine, whereas inserting the space definitely has
user-visible effects. SyncEvolution disables folding, there have been no
problems reported because of that.

I'm going to get the test working by replacing "Content" with "Text",
which allows the encoder to fold the line without an extra space. Just
wanted to mention the problem...

&lt;/pre&gt;</description>
    <dc:creator>Patrick Ohly</dc:creator>
    <dc:date>2011-08-18T07:25:32</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mobile.synthesis/613">
    <title>Ticket 12 - Synchro problem (libsynthesis)</title>
    <link>http://comments.gmane.org/gmane.comp.mobile.synthesis/613</link>
    <description>&lt;pre&gt;Bonjour,

Un nouveau ticket a été créé et vous a été attribué :

12 - Synchro problem
Projet : libsynthesis
Statut : New
Rapporté par : Eddy-jacques Vauthey
Étiquettes :
 Type:Defect
 Priority:Medium

Description :

When I synchronise with the task, I have this error number:

Sync failed err:10415

--
Ticket : http://www.synthesis.ch/indefero/index.php/p/libsynthesis/issues/12/


_______________________________________________
os-libsynthesis mailing list
os-libsynthesis&amp;lt; at &amp;gt;synthesis.ch
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis
&lt;/pre&gt;</description>
    <dc:creator>indefero-zhcxFSZdvaOWpB8AXVHUkA&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2011-08-12T14:43:11</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mobile.synthesis/610">
    <title>Plain text (B64) authentication when plugin usesPassword_MD5_Nonce_IN</title>
    <link>http://comments.gmane.org/gmane.comp.mobile.synthesis/610</link>
    <description>&lt;pre&gt;There is note in TPluginApiAgent::CheckLogin() that plain text 
authentication
is impossible when plugin uses password verifucation type
Password_MD5_Nonce_IN.

I guess it is still possible as one have access to
- user name
- password
- nonce value (it may however be queried in the begin of method)
 From these data one can generate MD5(MD5(user:pwd):nonce)
to provide to the plugin for authentication. This situation is useful
when real authentication check is provided by other server outside
the libsynthesis plugin and this server does not provide autside
access neither to password nor MD5(user:pwd).

Attached is some very preliminary patch to include support
for plain text login in this case. It does not check config setting
whether plain text authorisation should be allowed at all
(plain text login is not so bad evil in case of using SSL).

With this patch authentication of Funambol Android client
from Android Market (which uses plain text login and XML)
suceeded even if this cĺient still does not working with
libsynthesis based server (and seems that I'll have to give
up in attempts to get it working).

Andris

_______________________________________________
os-libsynthesis mailing list
os-libsynthesis-zhcxFSZdvaOWpB8AXVHUkA&amp;lt; at &amp;gt;public.gmane.org
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis
&lt;/pre&gt;</description>
    <dc:creator>Andris Pavenis</dc:creator>
    <dc:date>2011-08-04T13:22:32</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mobile.synthesis/607">
    <title>Google Calendar + per-item permission errors</title>
    <link>http://comments.gmane.org/gmane.comp.mobile.synthesis/607</link>
    <description>&lt;pre&gt;Hello!

In a local slow sync between Evolution and Google Calendar I see the
following problem:
      * Both sides have a meeting event in almost the same state.
      * The Synthesis engine decides that the event in Google Calendar
        needs to be updated.
      * The PUT command fails with "403 You don't have access to change
        that event."
      * This error code is returned as SyncML status for Replace from
        SyncML client to server.
      * The server logs "Status: 403: originator exception" and
        "WARNING: Aborting Session with Reason Status 403 (REMOTE
        problem)".

That says it all. The session ends here without finishing the slow sync.

This is a bit too drastic. I'd prefer to continue the session and merely
report that this one item couldn't be updated. Never mind that this is
my own calendar and that Google should allow me to modify all of the
events in it...

I wonder whether the 403 HTTP error really should be passed through like
that. It gets returned by the Synthesis backend:

      * [2011-08-01 18:20:56.785] PUT: bad HTTP status: &amp;lt;status 1.1,
        code 403, class 4, You don't have access to change that event.&amp;gt;,
        must not retry
      * [2011-08-01 18:20:56.786] Running destroy hooks.
      * [2011-08-01 18:20:56.786] Request ends.
      * [2011-08-01 18:20:56.786] exception thrown
        at /home/pohly/syncevolution/syncevolution/src/backends/webdav/NeonCXX.cpp:685
      * [2011-08-01 18:20:56.786] error code from SyncEvolution access
        denied (remote, status 403): PUT: bad HTTP status: &amp;lt;status 1.1,
        code 403, class 4, You don't have access to change that event.&amp;gt;
      * [2011-08-01
        18:20:56.786] aID=(040000008200E00074C5B7101A82E00800000000B0884FC7A4E8CB01000000000000000010000000059F761E3FE944408F8932B4E44FFBFD.ics/20110428T150000Z,) res=403
      * [2011-08-01 18:20:56.786] cannot update record in database
        (sta=403)
      * [2011-08-01 18:20:56.786] Database Error --&amp;gt; SyncML status 403
      * [2011-08-01 18:20:56.786] - Operation replace failed with SyncML
        status=403
–[2011-08-01 18:20:56.786] End of 'Process_Item' [-&amp;gt;top] [-&amp;gt;enclosing]
  * [2011-08-01 18:20:56.786] processSyncOpItem: Error while processing
    item, status=403

Should it be turned into a local error along the were somewhere? I
remember vaguely that we discussed something like that and came to the
conclusion that a backend can return errors in the range &amp;lt;500 to the
Synthesis engine. That's what SyncEvolution is doing here.

&lt;/pre&gt;</description>
    <dc:creator>Patrick Ohly</dc:creator>
    <dc:date>2011-08-01T18:39:21</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mobile.synthesis/605">
    <title>Problems developing libsynthesis based server</title>
    <link>http://comments.gmane.org/gmane.comp.mobile.synthesis/605</link>
    <description>&lt;pre&gt;I have some problems with server to client only synchronization. I used 
our own libsynthesis based server and 2 different
clients for testing (Nokia E65 mobile phone and own libsynthesis based 
test client).

Currently contacts data-store is marked read/only in server side 
configuration. On client side data-store is emptyed.

Below are fragments of both server and client side logs.

Removing DS admin data before sync causes slow sync and
in that case this problem does not appear. Tried also to remove
DS admin data directly after reading them from LoadAdminData, but it 
does not help.

I could of course insert a new item when requested item is not found in
UpdateItem and return its ID through newID, but it would fix problem only
for my test client. Server must be able to work also with client available
for example in mobile phones.

What could be wrong?

Andris

   Server side:

–
[2011-07-29 12:37:59.766] 'SyncSet' - Items involved in Sync, 
datastore=contacts [--][++] [-&amp;gt;end] 
&amp;lt;http://10.129.34.103:9321/log/sysynclib_uni_linux_20110729T093759Z_sTeKFd2cEW5eXiOujQ5u0yyNxt_k.html#F41&amp;gt; 
[-&amp;gt;enclosing] 
&amp;lt;http://10.129.34.103:9321/log/sysynclib_uni_linux_20110729T093759Z_sTeKFd2cEW5eXiOujQ5u0yyNxt_k.html#H38&amp;gt; 


  * /[2011-07-29 12:37:59.766]/ SyncOp=wants-replace : LocalID= 1
    RemoteID= 1
  * /[2011-07-29 12:37:59.766]/ SyncOp=wants-replace : LocalID= 2
    RemoteID= 2
  * /[2011-07-29 12:37:59.766]/ SyncOp=wants-replace : LocalID= 3
    RemoteID= 3
  * /[2011-07-29 12:37:59.766]/ SyncOp=wants-replace : LocalID= 4
    RemoteID= 4

....


–
[2011-07-29 12:37:59.767] 'issue' - issuing command, Cmd=Sync [--][++] 
[-&amp;gt;end] 
&amp;lt;http://10.129.34.103:9321/log/sysynclib_uni_linux_20110729T093759Z_sTeKFd2cEW5eXiOujQ5u0yyNxt_k.html#F47&amp;gt; 
[-&amp;gt;enclosing] 
&amp;lt;http://10.129.34.103:9321/log/sysynclib_uni_linux_20110729T093759Z_sTeKFd2cEW5eXiOujQ5u0yyNxt_k.html#H27&amp;gt; 


  *
    –
    [2011-07-29 12:37:59.767] 'sync' - Opened Sync command bracket,
    Reopen=no, SourceURI=contacts, TargetURI=./contacts,
    IncomingMsgID=2, CmdID=3 [--][++] [-&amp;gt;end]
    &amp;lt;http://10.129.34.103:9321/log/sysynclib_uni_linux_20110729T093759Z_sTeKFd2cEW5eXiOujQ5u0yyNxt_k.html#F48&amp;gt;
    [-&amp;gt;enclosing]
    &amp;lt;http://10.129.34.103:9321/log/sysynclib_uni_linux_20110729T093759Z_sTeKFd2cEW5eXiOujQ5u0yyNxt_k.html#H47&amp;gt;

      o /[2011-07-29 12:37:59.768]/ Opened &amp;lt;Sync&amp;gt; bracket,
        Source='contacts', Target='./contacts' as (outgoing MsgID=2,
        CmdID=3)
      o
        –
        [2011-07-29 12:37:59.768] 'SyncGen' - Now generating sync
        commands, datastore=contacts [--][++] [-&amp;gt;end]
        &amp;lt;http://10.129.34.103:9321/log/sysynclib_uni_linux_20110729T093759Z_sTeKFd2cEW5eXiOujQ5u0yyNxt_k.html#F49&amp;gt;
        [-&amp;gt;enclosing]
        &amp;lt;http://10.129.34.103:9321/log/sysynclib_uni_linux_20110729T093759Z_sTeKFd2cEW5eXiOujQ5u0yyNxt_k.html#H48&amp;gt;

          + /[2011-07-29 12:37:59.768]/ Created command '[unknown]'
            (outgoing)
          +
            –
            [2011-07-29 12:37:59.768] 'Item_Generate' - generating
            SyncML item, SyncOp=wants-replace, RemoteID=1 [--][++]
            [-&amp;gt;end]
            &amp;lt;http://10.129.34.103:9321/log/sysynclib_uni_linux_20110729T093759Z_sTeKFd2cEW5eXiOujQ5u0yyNxt_k.html#F50&amp;gt;
            [-&amp;gt;enclosing]
            &amp;lt;http://10.129.34.103:9321/log/sysynclib_uni_linux_20110729T093759Z_sTeKFd2cEW5eXiOujQ5u0yyNxt_k.html#H49&amp;gt;

              # /[2011-07-29 12:37:59.768]/ Generating....
              # /[2011-07-29 12:37:59.768]/ Item LocalID='',
                RemoteID='1', operation=wants-replace
              # /[2011-07-29 12:37:59.768]/ *** field data not shown
                because userdata log is disabled ***
            –[2011-07-29 12:37:59.768] End of 'Item_Generate' [-&amp;gt;top]
            &amp;lt;http://10.129.34.103:9321/log/sysynclib_uni_linux_20110729T093759Z_sTeKFd2cEW5eXiOujQ5u0yyNxt_k.html#H50&amp;gt;
            [-&amp;gt;enclosing]
            &amp;lt;http://10.129.34.103:9321/log/sysynclib_uni_linux_20110729T093759Z_sTeKFd2cEW5eXiOujQ5u0yyNxt_k.html#F49&amp;gt;


   Client side (item is not found in data-store and as result code 404 
is generated).

  *
    –
    [2011-07-29 12:38:03.692] 'processCmd' - Processing incoming
    command, Cmd=Replace, IncomingMsgID=2, CmdID=70 [--][++] [-&amp;gt;end]
    [-&amp;gt;enclosing]
      o command started processing
      o Created command 'Status' (outgoing)
      o Item (syncop: replace) started processing, remoteID='', localID='67'
      o Remote sent replace-operation:
      o - Source: remoteID ='', remoteName=''
      o - Target: localID ='67', remoteName=''
      o Explicit type 'text/vcard' specified in command or item meta
      o Version '3.0' obtained from item data
      o
        +
        –
        [2011-07-29 12:38:03.692] 'Item_Parse' - parsing SyncML item,
        SyncOp=replace, format=plain-text, LocalID=67 [--][++] [-&amp;gt;end]
        [-&amp;gt;enclosing]
        –[2011-07-29 12:38:03.693] End of 'Item_Parse' [-&amp;gt;top] [-&amp;gt;enclosing]
      o
        +
        –
        [2011-07-29 12:38:03.693] 'Process_Item' - processing remote
        item, SyncOp=replace, LocalID=67 [--][++] [-&amp;gt;end] [-&amp;gt;enclosing]
          + replace item operation received
          + startDataWrite called, status=0
          + TStdLogicDS::logicProcessRemoteItem starting,
            SyncOp=replace, RemoteID='', LocalID='67'
          + cannot update record in database (sta=404)
          + Database Error --&amp;gt; SyncML status 404
          + to-be-replaced item not found, but cannot switch to add
            because no RemoteID is known, Status=404
          + - Operation replace failed with SyncML status=404
        –[2011-07-29 12:38:03.693] End of 'Process_Item' [-&amp;gt;top]
        [-&amp;gt;enclosing]
      o processSyncOpItem: Error while processing item, status=404
      o Irregularity in execution of item, status=404
      o
        +
        –
        [2011-07-29 12:38:03.694] 'issue' - issuing command, Cmd=Status
        [--][++] [-&amp;gt;end] [-&amp;gt;enclosing]
          + WARNING: Non-OK Status 404 returned to remote!
          + Status Code 404 issued for Cmd=Replace, (incoming MsgID=2,
            CmdID=70)
          + - TargetRef (localID) = '67'
          + Status: issued as (outgoing MsgID=3, CmdID=69), not waiting
            for status
          + Deleted command 'Status' (outgoing MsgID=3, CmdID=69)
          + Outgoing Message size is now 9561 bytes
        –[2011-07-29 12:38:03.694] End of 'issue' [-&amp;gt;top] [-&amp;gt;enclosing]
      o Deleted command 'Replace' (incoming MsgID=2, CmdID=70)
    –[2011-07-29 12:38:03.694] End of 'processCmd' [-&amp;gt;top] [-&amp;gt;enclosing]

As the result items are rejected on client side. I'n getting similar 
behavior (but of course no detailed log) when trying the same on mobile 
phone (Nokia E65)

Andris


_______________________________________________
os-libsynthesis mailing list
os-libsynthesis-zhcxFSZdvaOWpB8AXVHUkA&amp;lt; at &amp;gt;public.gmane.org
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis
&lt;/pre&gt;</description>
    <dc:creator>Andris Pavenis</dc:creator>
    <dc:date>2011-07-29T11:39:20</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mobile.synthesis/593">
    <title>field merging + parameters</title>
    <link>http://comments.gmane.org/gmane.comp.mobile.synthesis/593</link>
    <description>&lt;pre&gt;Hello!

I am adding support for PHOTO;VALUE=uri to SyncEvolution. A
straight-forward solution is this:

      &amp;lt;field name="PHOTO" type="blob" compare="never" merge="fillempty"/&amp;gt;
      &amp;lt;field name="PHOTO_TYPE" type="integer" compare="never" merge="fillempty"/&amp;gt;
      &amp;lt;field name="PHOTO_VALUE" type="string" compare="never" merge="fillempty"/&amp;gt;

But... what if one contact has PHOTO:&amp;lt;binary data&amp;gt; and gets merged with
a contact that has PHOTO;VALUE=uri:http://foo.bar?

My fear is that I'll end up with PHOTO;VALUE=uri:&amp;lt;binary data&amp;gt;, because
of the "fillempty" merge mode for PHOTO_VALUE. A similar problem also
exists for PHOTO_TYPE.

What I would need is a "fillempty" for PHOTO and a
"copy-if-photo-was-copied" for the other two fields.

I don't think that exists, so my current approach is to have an incoming
script which ensures that the PHOTO_VALUE is never empty (sets "binary"
if unset) and an outgoing script which strips it again (to emulate
current behavior). It's not working 100% correctly because for field
lists populated with PARSETEXTWITHPROFILE() the incoming script is not
executed.

Am I on the right track or should I simply ignore the problem?
 
&lt;/pre&gt;</description>
    <dc:creator>Patrick Ohly</dc:creator>
    <dc:date>2011-07-20T16:10:55</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.mobile.synthesis">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.mobile.synthesis</link>
  </textinput>
</rdf:RDF>

