Hello! Let me add the Synthesis list where compatibility with the Funambol client is also currently getting discussed.
On Thu, 2012-05-31 at 09:25 +0200, Patrick Ohly wrote: > On Thu, 2012-05-31 at 08:01 +0100, Onyeibo Oku wrote: > > Greetings > > > > I attempted to sync my HTC-Vision with SyncEvolution today for the first > > time over WLAN. The Server was setup according to > > https://syncevolution.org/wiki/http-server-howto > > > > The output: > > http://pastebin.com/1kPcKQc1 > > > > Summary: > > As much as the device established a clean connection, the > > synchronization did not happen. The process terminates with an error > > message: [ERROR] sync: could not extract LocURI=deviceID from initial > > message. > > > > The device client also exits with and error message: Invalid URL. > > There have been all kinds of problems with that client. The last time I > looked at the official Funambol app, it required the server to be set up > in a special way - in other words, it was only meant to work with > onemedia.com. > > > I used the community edition of Funambol Client for Android. The server > > is SyncEvolution version 1.2.2 running on Fedora Linux (beefy > > Miracle-17). How do I begin to rectify this scenario? > > There seems to be a valid, initial SyncML session. But it doesn't sync > against any of the configured sources. It would be useful to set > loglevel=10 > in /home/twohot/.config/syncevolution/default/peers/htc-desire-z/config.ini > and try again. Send me the entire session directory (look in > ~/.cache/syncevolution/) as archive (in particular including the message > dumps). > > Then there is another message from the device which cannot be matched > against that config. Run "syncevo-http-server -d", that will dump that > message if it is plain text, and quote the output. I got logs and found the root cause for this problem: after the first message from the client, the server sends a challenge and asks the client to authenticate with a MD5 hash. This does not create a session. Instead the resend by the client with MD5 authentication is treated as a separate, new session. The Funambol client does not implement MD5 authentication properly. It's second message lags the declaration that the password is b64 encoded. It did this correctly for basic authentication. Here's a diff between the messages: *************** *** 16,25 **** </Meta> <Cred> <Meta> ! <Format xmlns="syncml:metinf">b64</Format> ! <Type xmlns="syncml:metinf">syncml:auth-basic</Type> </Meta> ! <Data>dHdvaG90OioyMW45ZjE1cnJtOXQyMCo=</Data> </Cred> </SyncHdr> <SyncBody> --- 16,24 ---- </Meta> <Cred> <Meta> ! <Type xmlns="syncml:metinf">syncml:auth-md5</Type> </Meta> ! <Data>D+x9Y+zGniTegAmOjbDPrw==</Data> </Cred> </SyncHdr> <SyncBody> If I add the "<Format xmlns="syncml:metinf">b64</Format>" line to the second message, SyncEvolution can decode the message correctly. As a workaround it is possible to change the SyncEvolution configuration so that it asks for basic authentication. For that, set clientAuthType = basic in your /home/twohot/.config/syncevolution/default/peers/htc-desire-z/config.ini (without the # quotation mark in front of it). I don't know how far that will get you. I see that the client is asking for a sync against "configuration", which doesn't exist in SyncEvolution. And even if it existed it is uncertain what should be put there. FWIW, this version of the client is still using XML instead of WBXML. -- Best Regards, Patrick Ohly The content of this message is my personal opinion only and although I am an employee of Intel, the statements I make here in no way represent Intel's position on the issue, nor am I authorized to speak on behalf of Intel on this matter. _______________________________________________ os-libsynthesis mailing list [email protected] http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis
