Archiv von discourse.mafiasi.de vom Saturday September 21, 2019.

(DavDroid <-> SOGo)-Synchronisationsproblem

Nils

Mit der neusten DAVDroid Version (>0.9) gibt es im zusammenspiel mit unserer Version vom SOGo das Problem das Kontakte nicht mehr korrekt synchronisiert werden . Das hat meist zur folge das alle Kontakte auf dem Handy verschwinden, auf dem Server sind sie noch da. Ein Workaround ist eine ältere DAVDroid Version zu nutzen.

Die Server-AG arbeitet bereits daran den Fix im SOGo zu integrieren.

Der unterliegende Bug ist der hier: Sogo Bug 3370

11wiedema

Da ein selbstgebautes Paket mit dem Fix das Problem leider nicht behebt, kann das leider noch etwas dauern :expressionless:

11wiedema

Behoben.

11hellwig

Mehr Informationen bitte. Wir sind Informatiker und wollen verstehen, was da grad abging :smiley:

11wiedema

Hallo lieber Marcel,

die neue DAVdroid-Version nutzt eine geänderte Abfrage zur Synchronisation bei CardDAV. Dabei stellt sie eine Anfrage, bei der laut RFC Filter angegeben werden müssen. DAVdroid macht das und da es alle Kontakte haben möchte, gibt einfach eine leere Liste an. Das mag aber SOGo wiederrum nicht so sehr, es gibt nämlich einfach eine leere Liste von Kontakten zurück. Das wiederrum findet DAVdroid Scheiße und daher löscht es alle deine synchronisierten Kontake auf deinem Smartphone.

Die Community hat diesen Fehler bereits gemeldet, hier ist der Bugreport: http://sogo.nu/bugs/view.php?id=3370 Dort wird auf ein Patch verwiesen, der das Problem beheben soll. Nachdem wir SOGo mit dem Patch neugebaut haben, mussten wir feststellen, dass das zumindest bei unserer Konfiguration nicht funktioniert. Nun wird es langsam spannend.

Die Idee des Patches war folgende: Wenn kein Filter angegeben ist, füge einen Filter hinzu, der auf alle Kontakte matcht. Konkret wird folgender Filter hinzugefügt: mail contains .

Nach etwas Stöbern im Quellcode von SOGo, es ist in Objective-C geschrieben, haben wir einige Erkenntnisse gesammelt: SOGo ignoriert zum Beispiel, dass man angibt, dass es nur nach der mail-Eigenschaft filtern soll. Es filtert einfach immer nach Name und E-Mail. Und der Filterinhalt wird unverändert in eine SQL-Abfrage eingesetzt. (Aber sanatized wird es schon....) Da dort der LIKE-Operator benutzt wird, ist also der Filter, der auf alles matcht, ein %. Kurz neugebaut, funktioniert. Bug-Report ist geschrieben http://sogo.nu/bugs/view.php?id=3373

Mal schauen, was die dazu sagen.

Gruß,

Deine Server-AG