Bug 73615 - KWallet: HTTP Server config needs syncURL?!
Summary: KWallet: HTTP Server config needs syncURL?!
Status: RESOLVED WORKSFORME
Alias: None
Product: SyncEvolution
Classification: Unclassified
Component: SyncML (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: SyncEvolution Community
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-14 16:21 UTC by promeneur
Modified: 2014-07-14 11:47 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
syncevolution-log.html.tar.gz (108.06 KB, application/gzip)
2014-01-15 10:57 UTC, promeneur
Details
2014-01-15-16-31_syncevolution-log.html (193.97 KB, text/plain)
2014-01-15 16:30 UTC, promeneur
Details
kontact-2014-01-15-18-06_syncevolution-log.html (198.78 KB, text/plain)
2014-01-15 17:26 UTC, promeneur
Details
kontact-2014-01-15-18-30_syncevolution-log.html (211.91 KB, text/plain)
2014-01-15 17:44 UTC, promeneur
Details
kontact-2014-01-15-20-11_syncevolution-log.html (202.57 KB, text/plain)
2014-01-15 19:28 UTC, promeneur
Details
syncevolution-kontact-2014-01-15-20-13_log.html (207.86 KB, text/plain)
2014-01-15 19:33 UTC, promeneur
Details
kontact-2014-01-15-20-17_syncevolution-log.html (204.94 KB, text/plain)
2014-01-15 19:36 UTC, promeneur
Details

Description promeneur 2014-01-14 16:21:44 UTC
opensuse 13.1 , kde 4.12 , syncevolution 1.3.99.6-2
android 4.2.2 , http syncml client memotoo

memotoo client works well when using funambol+syncevolution+akonadi with my mandriva

i want to use "Synchronizing Directly to Evolution via HTTP" feature

i repeat what i did with mandriva to create the syncevolution akonadi connector

syncevolution --configure \
                keyring=KDE \
                addressbook/backend=kde-contacts \
                addressbook/database=akonadi:?collection=27 \
                calendar/backend=kde-calendar \
                calendar/database=akonadi:?collection=26 \
                todo/backend=kde-tasks \
                todo/database=akonadi:?collection=26 \
                @default addressbook calendar todo


then
i follow "Steps for a computer and a phone"

i start syncevo-http-server on my pc

syncevo-http-server http://localhost:9000/syncevolution

i create a peer "kontact"

syncevolution --configure --template SyncEvolution_Client \
            --sync-property remoteDeviceId=fac-10-354654054541 \
            --sync-property username=abcd \
            --sync-property password=xyz \
            --source-property addressbook/uri=contacts \
            --source-property calendar/uri=events \
            --source-property todo/uri=tasks \
            --source-property memo/uri=notes \
            kontact

when i access from my smartphone to sync then i have an error
******************************************************************************
[INFO] syncevo-http: new SyncML session for 37.175.88.136
[INFO] syncevo-dbus-server: /org/syncevolution/Server: matched deviceID fac-10-354654054541640 against config kontact (/home/roubach/.config/syncevolution/default/peers/kontact)
[INFO] sync: /org/syncevolution/Session/18506811861389715230: memo: inactive
[ERROR] sync: /org/syncevolution/Session/18506811861389715230: error code from SyncEvolution password request timed out (local, status 22003): Could not get the 'kontact' password from user.
[INFO] sync: /org/syncevolution/Session/18506811861389715230: creating complete data backup after sync (enabled with dumpData and needed for printChanges)
[INFO] sync: /org/syncevolution/Session/18506811861389715230: 
Synchronization failed, see /home/roubach/.cache/syncevolution/kontact-2014-01-14-17-05/syncevolution-log.html for details.
[INFO] sync: /org/syncevolution/Session/18506811861389715230: 
Changes applied during synchronization:
[INFO] sync: /org/syncevolution/Session/18506811861389715230: +---------------|-----------------------|-----------------------|-CON-+
|               |         LOCAL         |        REMOTE         | FLI |
|        Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
|   addressbook |  0  |  0  |  0  |  0  |  0  |  0  |  0  |  0  |  0  |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
|      calendar |  0  |  0  |  0  |  0  |  0  |  0  |  0  |  0  |  0  |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
|          todo |  0  |  0  |  0  |  0  |  0  |  0  |  0  |  0  |  0  |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
|       start mar. 14 janv. 2014 17:05:47 CET, duration 2:01min       |
|          password request timed out (local, status 22003)           |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
First ERROR encountered: error code from SyncEvolution password request timed out (local, status 22003): Could not get the 'kontact' password from user.
******************************************************************************

i have no pb when synchronizing with the memotoo android app with funambol+synce+akonadi
Comment 1 promeneur 2014-01-14 16:24:27 UTC
the password is stored in kwallet
Comment 2 Patrick Ohly 2014-01-15 07:15:40 UTC
Can you increase the log level of the "kontact" sync config, then try syncing with it again? Attach the resulting syncevolution-log.html file. That'll include more information about access to KWallet.

syncevolution --configure loglevel=4 kontakt
Comment 3 promeneur 2014-01-15 10:54:23 UTC
i define again my pb :

i want to use "Synchronizing Directly to Evolution via HTTP" feature
adapted to akonadi

then
i adapt the "syncevolution --configure ..." statement according this works with akonadi

i solved the password pb by adding option

--sync-property syncURL=http://localhost:9000/syncevolution

and

adding in .config/syncevolution/config.ini the statement

defaultPeer = kontact

(question what is the configure option to add "defaultPeer = kontact" ?)

don't know if the two statements are useful but it works .

now memotoo client can connect to http server  but when i ask to sync calendar
then
memotoo client stays in state "waiting"
http server says "Synchronization failed"

memotoo does not stop by itself . i must ask to memotoo to stop sync

see the syncevolution-log
Comment 4 promeneur 2014-01-15 10:57:59 UTC
Created attachment 92131 [details]
syncevolution-log.html.tar.gz
Comment 5 promeneur 2014-01-15 11:13:09 UTC
in the log i found this :

[2014-01-15 11:48:08.774] libedataserver-1.2.so not found (tried major versions 7 to 65)
Comment 6 promeneur 2014-01-15 11:14:24 UTC
and this

libebook-1.2.so not found (tried major versions 5 to 62)
libebook-1.2.so not found (tried major versions 5 to 62)
libecal-1.2.so not found (tried major versions 3 to 60)
libecal-1.2.so not found (tried major versions 3 to 60)
Comment 7 promeneur 2014-01-15 11:31:58 UTC
ok i understand .

i can't use the template "evolution"

i must adapt syncevolution --configure by using 2 docs

https://syncevolution.org/wiki/synchronizing-evolution-http-howto

https://syncevolution.org/wiki/http-server-howto
Comment 8 Patrick Ohly 2014-01-15 14:12:45 UTC
(In reply to comment #3)
> i solved the password pb by adding option
> 
> --sync-property syncURL=http://localhost:9000/syncevolution
> 
> and
> 
> adding in .config/syncevolution/config.ini the statement
> 
> defaultPeer = kontact
> 
> (question what is the configure option to add "defaultPeer = kontact" ?)
> 
> don't know if the two statements are useful but it works .

The first one may have an effect because it determines the lookup key for the password in KWallet. If the syncURL is not set, the remote device ID is used. Perhaps that doesn't work with KWallet.

The debug output I asked for (with and without syncURL) would be useful to determine that.

The "defaultPeer" setting should be completely irrelevant.

> now memotoo client can connect to http server  but when i ask to sync
> calendar
> then
> memotoo client stays in state "waiting"
> http server says "Synchronization failed"

The client is looking for a Target='event'. Earlier you said that you configured "events" as uri. Try "event" instead.
Comment 9 promeneur 2014-01-15 14:23:47 UTC
>> The debug output I asked for (with and without syncURL) would be useful to 
>> determine that.

yes i joined a zip file of the html log



note : there is a pb i don't receive any mail when you answer .

in the past no pb
Comment 10 Patrick Ohly 2014-01-15 16:24:25 UTC
I have seen the log file where password lookup works. It has the following lines:

[2014-01-15 11:48:08.786] checking password property 'password' in config 'kontact' with user identity 'promeneur'
[2014-01-15 11:48:08.786] loading password from keyring with key user=promeneur server=localhost:9000/syncevolution
[2014-01-15 11:48:08.794] found password in KWallet using user=promeneur server=localhost:9000/syncevolution

What I don't have is the corresponding log without the redundant syncURL.
Comment 11 promeneur 2014-01-15 16:28:32 UTC
    memotoo , funambol client are all funambol client .

    they use "card" "event" "task" as keyword when asking data sync

    we must use

    syncevolution --configure --template SyncEvolution_Client \
                --sync-property syncURL=http://localhost:9000/syncevolution \
                --sync-property remoteDeviceId=${deviceID} \
                --sync-property username=${username} \
                --sync-property password=${password} \
                --source-property addressbook/uri=card \
                --source-property calendar/uri=event \
                --source-property todo/uri=task \
                ${peer}

    then

    i can sync address books and calendars

    it remains just a pb :

    i ask for memotoo to sync calendars with success
    then
    i ask for memotoo to sync address books
    then
    server error messages :

    [INFO] sync: /org/syncevolution/Session/14340709641389799894: calendar: slow sync done unsuccessfully
    [ERROR] sync: /org/syncevolution/Session/20698794461389799565: aborted on behalf of user (local, status 20017)
    [INFO] sync: /org/syncevolution/Session/20698794461389799565: creating complete data backup after sync (enabled with dumpData and needed for printChanges)
    [INFO] sync: /org/syncevolution/Session/20698794461389799565: 
    Synchronization failed, see /home/roubach/.cache/syncevolution/kontact-2014-01-15-16-26/syncevolution-log.html for details.

    then
    i restart server
    then
    i synced address books with a mid success : pc addressbook is full of duplicates
    then
    i delete all events and contacts in my smartphone
    i restore my pc address book
    then
    i ask for memotoo to sync calendars
    then
    same server error messages

    then
    i restart server
    then
    i ask for memotoo to sync calendars with success
    then
    i ask for memotoo to sync address books
    then
    same server error messages

    then
    i restart server
    then
    i synced address books with success 

    see 2014-01-15-16-31_syncevolution-log.html
Comment 12 promeneur 2014-01-15 16:30:18 UTC
Created attachment 92162 [details]
2014-01-15-16-31_syncevolution-log.html
Comment 13 promeneur 2014-01-15 17:26:07 UTC
i made this experiment

i add an event in the smartphone calendar
then
i ask for memotoo to sync but it fails

all the events contained in the calendar was send instead of the sole new one
pc calendar is not updated with the new event


server says :

calendar: starting slow sync, two-way (peer is client)
creating complete data backup of source calendar before sync (enabled with dumpData and needed for printChanges)

*** calendar ***
Comparison was impossible

calendar: started
calendar: received 16
calendar: slow sync done unsuccessfully

local, status 10400

Synchronization failed, see /home/roubach/.cache/syncevolution/kontact-2014-01-15-18-06/syncevolution-log.html for details.

calendar |  1  |  0  |  0  |  0  |  0  |  0  |  0  |  0  |  0  |
|      slow, 0 KB sent by client, 8 KB received                       |
|      15 item(s) matched                                             |
|      item(s) in database backup: 15 before sync, 16 after it        |
|      local, status 10400                                    

 start mer. 15 janv. 2014 18:06:41 CET, duration 0:05min       |
|            incomplete sync session (local, status 20023)      

First ERROR encountered: local, status 10400

[INFO] sync: /org/syncevolution/Session/18425227001389805601: 
Data modified locally during synchronization:

[INFO] sync: /org/syncevolution/Session/18425227001389805601: *** calendar ***
[INFO] sync: /org/syncevolution/Session/18425227001389805601: no changes

see kontact-2014-01-15-18-06_syncevolution-log.html
Comment 14 promeneur 2014-01-15 17:26:41 UTC
Created attachment 92169 [details]
kontact-2014-01-15-18-06_syncevolution-log.html
Comment 15 promeneur 2014-01-15 17:43:50 UTC
i made this experiment

i created a new event in the pc calendar
then
i ask to memotoo to sync calendars

then
memotoo sends all the events in the smartphone calendar and receive the new pc event !

at least for calendar sync pc -> smartphone works 

server messages :

 calendar: starting slow sync, two-way (peer is client)
 creating complete data backup of source calendar before sync (enabled with dumpData and needed for printChanges)
 Local data changes to be applied during synchronization:

 *** calendar ***
 no changes
 

 calendar: started
 calendar: received 16
 calendar: sent 1

see kontact-2014-01-15-18-30_syncevolution-log.html
Comment 16 promeneur 2014-01-15 17:44:35 UTC
Created attachment 92170 [details]
kontact-2014-01-15-18-30_syncevolution-log.html
Comment 17 promeneur 2014-01-15 19:24:10 UTC
pb described in comment 11 is solved
Comment 18 promeneur 2014-01-15 19:28:14 UTC
Created attachment 92176 [details]
kontact-2014-01-15-20-11_syncevolution-log.html

a new experiment

i delete 2 events in smartphone calendar
then
i ask for memotoo to sync
then
the 2 events re-appears in smartphone calendar and are not deleted in pc calendar

see kontact-2014-01-15-20-11_syncevolution-log.html
Comment 19 promeneur 2014-01-15 19:33:19 UTC
Created attachment 92177 [details]
syncevolution-kontact-2014-01-15-20-13_log.html

sorry 

kontact-2014-01-15-20-11_syncevolution-log.htm is not the good one corresponding to comment 18

this one is the good one
Comment 20 promeneur 2014-01-15 19:36:15 UTC
Created attachment 92178 [details]
kontact-2014-01-15-20-17_syncevolution-log.html

a new experiment

i delete an event in pc calendar
then
i ask for memotoo to sync
then
the event is not deleted in smartphone calendar
Comment 21 promeneur 2014-01-16 07:10:20 UTC
to sum up :

if there is no data (contact,event) in smartphone
then
sync pc -> smartphone works

a new event in pc is well synced to smartphone

a new event in smartphone is not synced to pc

a deleted event in smartphone is not synced to pc

a deleted event in pc is not synced to smartphone
Comment 22 promeneur 2014-01-16 07:26:47 UTC
i found this in the log
******************************************************************************
[2014-01-16 07:56:21.752] libedataserver-1.2.so not found (tried major versions 7 to 65)
libebook-1.2.so not found (tried major versions 5 to 62)
using libebook-1.2.so.14 - might not be compatible!
libecal-1.2.so not found (tried major versions 3 to 60)
using libecal-1.2.so.16 - might not be compatible!
using libical.so.1
using libical.so.1
using libbluetooth.so.3
sdp_extract_pdu_safe not found
sdp_extract_seqtype_safe not found
*******************************************************************************

i checked that following packets are installed :
libedataserver-1_2-18
with files
/usr/lib64/libedataserver-1.2.so.18
/usr/lib64/libedataserver-1.2.so.18.0.0

libebook-1_2-14
with files
/usr/lib64/libebook-1.2.so.14
/usr/lib64/libebook-1.2.so.14.3.1

 
libecal-1_2-16
with files
/usr/lib64/libecal-1.2.so.16
/usr/lib64/libecal-1.2.so.16.0.0
 

and why it wants to use libbluetooth for a direct smartphone - pc via http server ?
Comment 23 Patrick Ohly 2014-01-16 07:31:55 UTC
This issue has turned into a general interoperability problem description. Other's have gone through that with Funambol-based clients and quite frankly, they gave up and simply used the Synthesis client instead.

I am willing to investigate the KWallet password issue. However, I am still not seeing a log where syncURL wasn't set, so I am stuck on that.

Regarding interoperability, if the maintainer of the Memotoo/Funambol client is willing to work on interoperability with SyncEvolution as server, then I will help, but only then.
Comment 24 Patrick Ohly 2014-01-16 07:32:29 UTC
(In reply to comment #22)
> i found this in the log
> *****************************************************************************
> *
> [2014-01-16 07:56:21.752] libedataserver-1.2.so not found (tried major
> versions 7 to 65)
> libebook-1.2.so not found (tried major versions 5 to 62)
> using libebook-1.2.so.14 - might not be compatible!
> libecal-1.2.so not found (tried major versions 3 to 60)
> using libecal-1.2.so.16 - might not be compatible!
> using libical.so.1
> using libical.so.1
> using libbluetooth.so.3
> sdp_extract_pdu_safe not found
> sdp_extract_seqtype_safe not found
> *****************************************************************************
> **
[...]
> and why it wants to use libbluetooth for a direct smartphone - pc via http
> server ?

It checks for the libraries without actually using them.
Comment 25 Patrick Ohly 2014-07-14 11:47:44 UTC
No further information received, therefore I am closing this.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.