Hello Patrick,

ext Patrick Ohly wrote, On Friday 05 November 2010 02:36 PM, UTC +0530:

Who is the client- the MeeGo OS stack or a sync application like Buteo's
sync client plugin?

The Buteo sync client plugin. The client supplies the desired configuration to the buteo-syncml stack.

From what you said it sounds like that this setting
must be made on a per-peer basis and might have to be different for
OVI.com, ScheduleWorld, Memotoo, Google, etc. Have you tested against
these peers or only against OVI.com?

Now that's just me trying to understand the effects ;-)

With reference to the SyncML 1.1 specification (http://www.syncml.org/docs/syncml_sync_protocol_v11_20020215.pdf), section 5.3 (Data Update Status From Client):

"Note. This package MAY NOT be sent if the server has indicated that it does not require a response to its last package to the client. If the client decides that it does not send this message, it MUST be able to cache the Map operations until the next synchronization will happen, when these Map operations can be sent to the server (See also Chapter 2.3.1). However, the client is always allowed to send this Data Update Status package to the server, even if the server has not requested a
response.
"

With ovi.com, we found that the server explicitly sent a <NoResp/> for the <Sync> fragment in package #4 (as there were no changes on the server end). Before this fix, the buteo SyncML stack would send the data update status package to the server, and would wait for a response from the server. The response would not come as application/wbxml, but as plain text, causing the stack to flag an error.

The fix here only applies, if the stack has nothing else to send to the server other than the status for the <SyncHdr> fragment in package #4 (Which will only happen when the server has no changes to send, _and_ and explicitly asked for NoResp on the Sync Cmd).

We tested this with google and Memotoo peers, and the fix has no impact, as those servers do not implement the optimization, unlike ovi.com.


The much simpler question is: how should the OVI.com problem be fixed in
MeeGo? Modify /etc/sync/meego-syncml-conf.xml to have
omit-data-update-status == 1 and use that for all SyncML peers?

You can do that. From our testing with Google, and Memotoo, the setting has no impact on clients other than ovi.com, as they require a response for package #4.

Best Regards,
Santosh
_______________________________________________
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev

Reply via email to