Good morning!
On Tue, 23 Nov 2010, Patrick Ohly wrote:
Let's compare notes... is sysync::TLocalEngineDS::isDatastore called? Is
it the same call stack as in my email?
Yes, it is. I must have been disoriented in the code during the last
(nightly) debugging session.
I've attached a cleaner patch.
The synchronisation of my address book seems to work, currently only as
slow-sync and with repeated duplication of some (not all) entries.
syncevolution still reports an error
[ERROR] OBEX Request 1 got a failed response Internal server error
[ERROR] ObexTransprotAgent: Underlying transport error
I'll send you the syncevolution-log.html by private mail (loglevel=2,
7MB).
Calendar synchronisation shows similar symptoms.
BTW: loglevel = 4 in conjunction with over 700 contacts and slow sync
generates a really huge log file :) Maybe too large for Firefox ;)
Kind regards,
Franz
--
Franz Knipp, Dipl.-Ing.
---------------------------------------------------------------------
[email protected]
+43 660 4859550
https://www.xing.com/profile/Franz_Knipp
---------------------------------------------------------------------
m-otion GmbH
Favoritenstr 4-6/III, 1040 Wien
+43 1 205705 (Fax 99)
---------------------------------------------------------------------
www.m-otion.com
diff -ur /home/knipp/Downloads/syncevolution-1.1/src/synthesis/src/sysync/syncsession.cpp sysync/syncsession.cpp
--- /home/knipp/Downloads/syncevolution-1.1/src/synthesis/src/sysync/syncsession.cpp 2010-10-19 15:03:03.000000000 +0200
+++ sysync/syncsession.cpp 2010-11-24 09:32:36.000000000 +0100
@@ -3625,6 +3625,10 @@
// - search for datastore and obtain possible CGI
fLocalSyncDatastoreP = findLocalDataStoreByURI(SessionRelativeURI(aLocalDatastoreURI),&cgiOptions);
if (!fLocalSyncDatastoreP) {
+ // fallback for Sony Ericsson C510
+ fLocalSyncDatastoreP = findLocalDataStoreByURI(SessionRelativeURI(aRemoteDatastoreURI),&cgiOptions);
+ }
+ if (!fLocalSyncDatastoreP) {
// no such local datastore
return 404;
}
@@ -4790,7 +4794,7 @@
case 204:
case 205:
// Sync resume alert
- case 225:
+ case 225: {
// Synchronisation initialisation alerts
// - test if context is ok
if (fIncomingState!=psta_init && fIncomingState!=psta_initsync) {
@@ -4804,8 +4808,13 @@
return NULL; // no alert sent back
}
// find requested database by URI
+ string target = smlSrcTargLocURIToCharP(aItemP->target); // target as sent from remote
+ if (target.empty()) {
+ // fallback for Sony Ericsson C510
+ target = smlSrcTargLocURIToCharP(aItemP->source);
+ }
datastoreP = findLocalDataStoreByURI(
- smlSrcTargLocURIToCharP(aItemP->target), // target as sent from remote
+ target.c_str(),
&optionsCGI, // options, if any
&identifyingTargetURI // identifying part of URI (CGI removed)
);
@@ -4850,6 +4859,7 @@
aStatusCommand.addItem(itemP); // add it to status
}
break;
+ }
case 224 :
// Suspend alert
SuspendSession(514);
_______________________________________________
SyncEvolution mailing list
[email protected]
http://lists.syncevolution.org/listinfo/syncevolution