Aller au contenu


Synchro caldav dans le webmail


  • Veuillez vous connecter pour répondre
7 réponses à ce sujet

#1 el-irlandas

el-irlandas

    Membre

  • Membres
  • 18 messages

Posté 08 octobre 2020 - 11:49

Bonjour à tous,

Je cherche à importer (synchroniser via caldav) un calendrier depuis SOGo (https://sogo.nu/) vers le webmail zimbra.
Si possible sans rendre l'agenda public. Le calendrier n'ayant pas vocation à être public...
La synchro Zimbra vers SOGo a l'air de fonctionner, mais pas l'inverse ...

Est ce que quelqu'un a déjà tenté / réussi ce genre de chose. Je suis preneur de tout retour d'expérience réussi (ou non).

Actuellement j'ai ça dans mailbox.log :
com.zimbra.common.service.ServiceException: system failure: error importing CalDAV data
ExceptionId:ScheduledTask-3:1601991237931:b69c3d14b576021f
Code:service.FAILURE
	 at com.zimbra.common.service.ServiceException.FAILURE(ServiceException.java:288)
	 at com.zimbra.cs.datasource.CalDavDataImport.importData(CalDavDataImport.java:103)
	 at com.zimbra.cs.datasource.DataSourceManager.importData(DataSourceManager.java:406)
	 at com.zimbra.cs.datasource.DataSourceManager.importData(DataSourceManager.java:362)
	 at com.zimbra.cs.datasource.DataSourceTask.call(DataSourceTask.java:83)
	 at com.zimbra.cs.datasource.DataSourceTask.call(DataSourceTask.java:31)
	 at com.zimbra.common.util.TaskScheduler$TaskRunner.call(TaskScheduler.java:79)
	 at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	 at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
	 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	 at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.apache.http.NoHttpResponseException: dnsduserveursogo.com:443 failed to respond

A noter que la synchro CALDAV fonctionne correctement sur thunderbird et android (via appli caldav) ...
Donc, soit l'implémentation CALDAV sur zimbra OSE n'est pas complète, soit la requête est mal formatée pour une autre raison (certificats par exemple).

Quelqu'un a une idée pour m'aider ?
Je vais également essayer de récupérer des logs de l'équipe technique qui gère le SOGo ...

Merci.
Zimbra 8.8.15_GA_3847 (build 20190823100304) - Ubuntu 14.04.6

#2 Zimbra Guy

Zimbra Guy

    Zimbra Jedi

  • Modérateurs
  • 5 757 messages
  • LocalisationPlanète Terre

Posté 08 octobre 2020 - 14:50

Bonjour,

question bête : tu arrives à récupérer le Caldav depuis le serveur Zimbra en ligne de commande ? Genre un curl ?

Cordialement,
Guy Carré, professionel certifié Zimbra, Contributeur Zimbra
tel : +33 (0)6 63 18 08 XX / mail : guy.carre+zimbrafr@libremail.fr
http://www.scalesi.fr/

#3 el-irlandas

el-irlandas

    Membre

  • Membres
  • 18 messages

Posté 08 octobre 2020 - 16:29

En 2011, on avait ce "bug" chez SOGo : https://sogo.nu/bugs/view.php?id=1528

-> DAV ne spécifiant pas de GET, le GET n'est pas implémenté.

Logiquement on a donc :
curl -u "utilisateur@domaine.tld:motdepasse" https://dnsduserveur...endar/personal/
<?xml version="1.0" encoding="ISO-8859-1"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<body><h3>An error occurred during object publishing</h3><p>no WebDAV GET support?!</p></body>
</html>

Mais
curl -u "utilisateur@domaine.tld:motdepasse" -X PROPFIND https://dnsduserveur...endar/personal/
<?xml version="1.0" encoding="utf-8"?>
<D:multistatus xmlns:ap="http://apache.org/dav/props/" xmlns:D="DAV:"><D:response><D:href>/SOGo/dav/utilisateur@domaine.tld/Calendar/personal/3393-5F7C6C80-69-66ACCC80.ics</D:href><D:propstat><D:status>HTTP/1.1 200 OK</D:status><D:prop><D:creationdate>Tue, 06 Oct 2020 15:09:12 +0200</D:creationdate><D:getcontentlength>766</D:getcontentlength><D:getlastmodified>Thu, 08 Oct 2020 13:08:14 +0200</D:getlastmodified><D:getetag>&quot;gcs00000001&quot;</D:getetag><D:resourcetype/><D:getcontenttype>text/calendar</D:getcontenttype><D:displayname>3393-5F7C6C80-69-66ACCC80.ics</D:displayname><D:href>/SOGo/dav/[font=courier new,courier,monospace][font=courier new,courier,monospace]utilisateur@domaine.tld/[/font][/font]Calendar/personal/3393-5F7C6C80-69-66ACCC80.ics</D:href><ap:executable>0</ap:executable></D:prop></D:propstat></D:response><D:response><D:href>/SOGo/dav/[font=courier new,courier,monospace][font=courier new,courier,monospace]utilisateur@domaine.tld[/font][/font]/Calendar/personal/443-5F6C7E00-3-B1B6E60.ics</D:href><D:propstat><D:status>HTTP/1.1 200 OK</D:status><D:prop><D:creationdate>Thu, 24 Sep 2020 13:08:10 +0200</D:creationdate><D:getcontentlength>751</D:getcontentlength><D:getlastmodified>Thu, 24 Sep 2020 13:08:10 +0200</D:getlastmodified><D:getetag>&quot;gcs00000000&quot;</D:getetag><D:resourcetype/><D:getcontenttype>text/calendar</D:getcontenttype><D:displayname>443-5F6C7E00-3-B1B6E60.ics</D:displayname><D:href>/SOGo/dav/[font=courier new,courier,monospace][font=courier new,courier,monospace]utilisateur@domaine.tld[/font][/font]/Calendar/personal/443-5F6C7E00-3-B1B6E60.ics</D:href><ap:executable>0</ap:executable></D:prop></D:propstat></D:response><D:response><D:href>/SOGo/dav/[font=courier new,courier,monospace][font=courier new,courier,monospace]utilisateur@domaine.tld[/font][/font]/Calendar/personal/485-5F578380-5-6C367A80.ics</D:href><D:propstat><D:status>HTTP/1.1 200 OK</D:status><D:prop><D:creationdate>Tue, 08 Sep 2020 15:13:13 +0200</D:creationdate><D:getcontentlength>752</D:getcontentlength><D:getlastmodified>Tue, 08 Sep 2020 15:13:13 +0200</D:getlastmodified><D:getetag>&quot;gcs00000000&quot;</D:getetag><D:resourcetype/><D:getcontenttype>text/calendar</D:getcontenttype><D:displayname>485-5F578380-5-6C367A80.ics</D:displayname><D:href>/SOGo/dav/[font=courier new,courier,monospace][font=courier new,courier,monospace]utilisateur@domaine.tld[/font][/font]/Calendar/personal/485-5F578380-5-6C367A80.ics</D:href><ap:executable>0</ap:executable></D:prop></D:propstat></D:response><D:response><D:href>/SOGo/dav/[font=courier new,courier,monospace][font=courier new,courier,monospace]utilisateur@domaine.tld[/font][/font]/Calendar/personal/ab5df684-c089-4032-8bbc-669848d14d85.ics</D:href><D:propstat><D:status>HTTP/1.1 200 OK</D:status><D:prop><D:creationdate>Thu, 24 Sep 2020 13:13:17 +0200</D:creationdate><D:getcontentlength>763</D:getcontentlength><D:getlastmodified>Thu, 24 Sep 2020 13:13:42 +0200</D:getlastmodified><D:getetag>&quot;gcs00000003&quot;</D:getetag><D:resourcetype/><D:getcontenttype>text/calendar</D:getcontenttype><D:displayname>ab5df684-c089-4032-8bbc-669848d14d85.ics</D:displayname><D:href>/SOGo/dav/[font=courier new,courier,monospace][font=courier new,courier,monospace]utilisateur@domaine.tld[/font][/font]/Calendar/personal/ab5df684-c089-4032-8bbc-669848d14d85.ics</D:href><ap:executable>0</ap:executable></D:prop></D:propstat></D:response></D:multistatus>


Après, est ce que Zimbra fait un GET lorsqu'il récupère un calendrier caldav ? Normalement non sauf si c'est mal implémenté ...

Zimbra 8.8.15_GA_3847 (build 20190823100304) - Ubuntu 14.04.6

#4 Klug

Klug

    Zimbra Jedi

  • Membres
  • PipPipPipPip
  • 10 447 messages
  • LocalisationPlaisians - Drôme

Posté 08 octobre 2020 - 17:12

"la synchro Zimbra vers SOGO fonctionne"...
C'est à dire ?
Lequel est serveur, lequel est client ?

CALDAV fonctionne dans les deux sens, donc une seule déclaration de la synchro est suffisante (un client, un serveur).

#5 el-irlandas

el-irlandas

    Membre

  • Membres
  • 18 messages

Posté 09 octobre 2020 - 09:36

Oui..., SOGo en tant que client, peut importer des calendriers hébergés par Zimbra, mais juste en ics, pas de synchro bidirectionnelle.

Moi je souhaiterais plutôt que Zimbra soit client et SOGo le serveur. La raison principale est que SOGo ne permet pas de repartager un calendrier importé. J'ai besoin que le calendrier en question soit accessible à une 30aine de comptes dans SOGo, ce qui reviendrait à déclarer une 30aine de synchro. De plus, côté SOGo, on a plusieurs secrétaires qui ont besoin d'éditer cet agenda directement.

Le schéma ci dessous explique la situation ... :
https://drive.google...iew?usp=sharing
Zimbra 8.8.15_GA_3847 (build 20190823100304) - Ubuntu 14.04.6

#6 el-irlandas

el-irlandas

    Membre

  • Membres
  • 18 messages

Posté 09 octobre 2020 - 09:48

Je n'ai pas essayé ça :
https://wiki.zimbra....imbra_calendars
Si Google est le serveur, et SOGo et Zimbra les clients, ça pourrait fonctionner aussi...
Zimbra 8.8.15_GA_3847 (build 20190823100304) - Ubuntu 14.04.6

#7 el-irlandas

el-irlandas

    Membre

  • Membres
  • 18 messages

Posté 09 octobre 2020 - 16:11

Oui oui ... pour revenir à nos moutons, ci dessous le retour de l'équipe technique derrière SOGo :

Citation

Côté Sogo, rien dans les logs.
Côté serveur Web en front (nginx), on voit bien les requêtes arriver:

xx.xx.xx.xx - - [09/Oct/2020:13:10:15 +0200] "PROPFIND /.well-known/caldav HTTP/1.1" 301 178 "-" "Zimbra ZCS/8.8.15_GA_3847 (20190823-1041)"
xx.xx.xx.xx - - [09/Oct/2020:13:10:15 +0200] "PROPFIND /principals/users/utilisateur@domaine.tld HTTP/1.1" 301 178 "-" "Zimbra ZCS/8.8.15_GA_3847 (20190823-1041)"
xx.xx.xx.xx - - [09/Oct/2020:13:10:34 +0200] "PROPFIND /.well-known/caldav HTTP/1.1" 301 178 "-" "Zimbra ZCS/8.8.15_GA_3847 (20190823-1041)"
xx.xx.xx.xx - - [09/Oct/2020:13:10:35 +0200] "PROPFIND /principals/users/utilisateur@domaine.tld HTTP/1.1" 301 178 "-" "Zimbra ZCS/8.8.15_GA_3847 (20190823-1041)"
xx.xx.xx.xx - - [09/Oct/2020:13:12:15 +0200] "PROPFIND /.well-known/caldav HTTP/1.1" 301 178 "-" "Zimbra ZCS/8.8.15_GA_3847 (20190823-1041)"
xx.xx.xx.xx - - [09/Oct/2020:13:12:16 +0200] "PROPFIND /principals/users/utilisateur@domaine.tld HTTP/1.1" 301 178 "-" "Zimbra ZCS/8.8.15_GA_3847 (20190823-1041)"
xx.xx.xx.xx - - [09/Oct/2020:13:12:35 +0200] "PROPFIND /.well-known/caldav HTTP/1.1" 301 178 "-" "Zimbra ZCS/8.8.15_GA_3847 (20190823-1041)"
xx.xx.xx.xx - - [09/Oct/2020:13:12:35 +0200] "PROPFIND /principals/users/utilisateur@domaine.tld HTTP/1.1" 301 178 "-" "Zimbra ZCS/8.8.15_GA_3847 (20190823-1041)"


A noter qu'il y a ces règles de redirection côté serveur :

rewrite ^/.well-known/caldav /SOGo/dav permanent;
rewrite ^/.well-known/carddav   /SOGo/dav permanent;
rewrite ^/principals /SOGo/dav permanent;

Bon, zimbra semble modifier les chemins dans l'url. J'ai l'impression que ça ne pourra jamais marcher.
Zimbra 8.8.15_GA_3847 (build 20190823100304) - Ubuntu 14.04.6

#8 Klug

Klug

    Zimbra Jedi

  • Membres
  • PipPipPipPip
  • 10 447 messages
  • LocalisationPlaisians - Drôme

Posté 13 octobre 2020 - 08:54

C'est pas ZImbra qui modifie les chemins, c'est sogo avec ses rewrites.

Moi j'essaie de configurer Zimbra en tant que client (facile depuis le webmail), en utilisant l'URL définitif (après rewrite) de sogo.




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)