Kozea / Radicale

A simple CalDAV (calendar) and CardDAV (contact) server.
https://radicale.org
GNU General Public License v3.0
3.36k stars 437 forks source link

Collections discovery not working #292

Closed Desiderius77 closed 8 years ago

Desiderius77 commented 9 years ago

Hi all

I have problems with collections discovery between Radicale and Davdroid.

I have a Radicale server running on a Linux desktop with local adress 192.168.XX.XX and the base prefix is the defaut one ( "/").Collections under this base are "Profs" and "Etudiants"

With Lightning, I give the URL : http://192.168.XX.XX/Profs/courtaud_didier.ics/ and everything works fine !

With Davdroid, I gave http://192.168.XX.XX/ or http://192.168.XX.XX/Profs/ and after a long moment, Davdroid says "OK I found a Caldav server" and displays an empty page saying "What collections do you want to synchronize ?"

What is wrong with these URLS ?

( I have tested Radicale 0.10 and Radicale 1.0pre cloned from Github )

chris5560 commented 9 years ago

I think it's not a Radicale problem. Have a look at https://github.com/bitfireAT/davdroid/issues/249 It's a long story ;-( . But as soon you are connected it works really good.

guillaume-uH57J9 commented 9 years ago

Same here, spent some time investigating this :(

If you managed to get Radical working with android, I'm interested in your app suggestions.

Update: "DAVDroid" and "CalDav Sync Adapter" both display error "Invalid server response" when connecting to Radicale. Logs shows PROPFIND requests are received.

Update 2: "aCal" also does not work with Radicale. No error is reported, the applications display a message saying the setup was successful and the server supports CalDAV. However my calendar is NOT imported.

chris5560 commented 9 years ago

I using Radicale on OpenWrt router software with Radicale buildin HTTPS support and self signed certificates. Radicale is listening only to LAN-side (security). To access via WAN I need to establish a secure channel (OpenVPN). I sync my mobile normally at home via WLAN ;-). Clients:

Configuration:

[server]
hosts = 0.0.0.0:5232, [::]:5232
realm = CalDAV/CardDAV-Server: Bitte Benutzer und Passwort eingeben !!!
dns_lookup = True
protocol = PROTOCOL_SSLv23
key = /etc/radicale/ssl/radicale.key
certificate = /etc/radicale/ssl/radicale.crt
ssl = True

[encoding]
[well-known]
[git]

[auth]
htpasswd_filename = /etc/radicale/users
htpasswd_encryption = crypt
type = htpasswd

[rights]
file = /etc/radicale/rights
type = from_file

[storage]
filesystem_folder = /srv/radicale
type = filesystem

[logging]
config = /var/etc/radicale/logging
debug = False

[headers]
Access-Control-Expose-Headers = Etag
Access-Control-Allow-Headers = User-Agent, Authorization, Content-type, Depth, If-match, If-None-Match, Lock-Token, Timeout, Destination, Overwrite, X-client, X-Requested-With
Access-Control-Allow-Methods = GET, POST, OPTIONS, PROPFIND, PROPPATCH, REPORT, PUT, MOVE, DELETE, LOCK, UNLOCK
Access-Control-Allow-Origin = *

Rights:

# Give write access to owners
[owner-write]
user: .+
#collection: ^%(login)s$|^%(login)s/.+$   # doesn't work
collection: ^%(login)s(/.+)?$
permission: rw

# Allow authenticated user to read 'familie' collections
[authenticated]
user: .+
#collection: ^familie$|^familie/.+$   # doesn't work
collection: ^familie(/.+)?$
permission: rw

# rw any collection
[admin]
user: root
collection: .+
permission: rw

# Allow caldavzap, carddavmate and infcloud to work
[infcloud]
user: .*
collection: /
permission: r

below server directory /srv/radicale are located the subdirectory for every user and inside user-dir are the various user files. Normally for the shared "familie" directory you need no additional user. For DAVdroid to work you need one, because DAVdroid only looks into "User" directory for files. Also DAVdroid does not support full url. Only https://server.example.com/[user] works without problems. Same to InfCloud. Here you need to configure " additionalResources: ['familie']," inside config.js. to find shared recources (but you need no additional user).

var globalNetworkCheckSettings={
  href: 'https://router.lan:5232/',
  hrefLabel: null,
  crossDomain: null,
  additionalResources: ['familie'],
  forceReadOnly: null,
  withCredentials: false,
  showHeader: true,
  settingsAccount: true,
  syncInterval: 60000,
  timeOut: 30000,
  lockTimeOut: 10000,
  delegation: false,
  ignoreAlarms: false,
  backgroundCalendars: []}

Hope this help. Christian

guillaume-uH57J9 commented 9 years ago

The issue persist, with DAVDroid 0.8.1, and Radical 0.7.1 / 0.8 / 0.10. Note I tried multiple version, since Debian initially installed me v0.7.1, and I then manually upgraded hoping to benefit from bug fixes.

Radicale is setup properly enough to work with Evolution. But still no success with DAVDroid.

Radicale 0.10.0 logs when using DAVDroid:

2015-07-12 21:03:09,975 - INFO: PROPFIND request at /guillaume/.well-known/carddav received 2015-07-12 21:03:10,138 - INFO: PROPFIND request at /guillaume/ received 2015-07-12 21:03:10,347 - INFO: PROPFIND request at /guillaume/ received 2015-07-12 21:03:10,564 - INFO: PROPFIND request at /guillaume/.well-known/caldav received 2015-07-12 21:03:10,752 - INFO: PROPFIND request at /guillaume/ received 2015-07-12 21:03:10,962 - INFO: PROPFIND request at /guillaume/ received

nginx logs for the same requests:

79.143.250.134 - guillaume [12/Jul/2015:20:59:16 +0200] "PROPFIND /calendar/guillaume//.well-known/carddav HTTP/1.1" 207 339 "-" "DAVdroid/0.8.1" 79.143.250.134 - guillaume [12/Jul/2015:20:59:16 +0200] "PROPFIND /calendar/guillaume/ HTTP/1.1" 207 319 "-" "DAVdroid/0.8.1" 79.143.250.134 - guillaume [12/Jul/2015:20:59:17 +0200] "PROPFIND /calendar/guillaume/ HTTP/1.1" 207 499 "-" "DAVdroid/0.8.1" 79.143.250.134 - guillaume [12/Jul/2015:20:59:17 +0200] "PROPFIND /calendar/guillaume//.well-known/caldav HTTP/1.1" 207 338 "-" "DAVdroid/0.8.1" 79.143.250.134 - guillaume [12/Jul/2015:20:59:17 +0200] "PROPFIND /calendar/guillaume/ HTTP/1.1" 207 319 "-" "DAVdroid/0.8.1" 79.143.250.134 - guillaume [12/Jul/2015:20:59:17 +0200] "PROPFIND /calendar/guillaume/ HTTP/1.1" 207 499 "-" "DAVdroid/0.8.1"

chris5560 commented 9 years ago

Why is nginx log is different to Radicale log? DAVDroid will see nginx not Radicale and DAVDroid want to see http://host.example.com/[user]/ ! Try to direct connect to Radicale, if this works you should look into you nginx config. Sorry cannot help with nginx.

guillaume-uH57J9 commented 9 years ago

Logs are different because nginx does URL rewriting (removing the /calendar from the path). Because there are multiple services behing the same host, each one use it's own root directory. I have a single SSL certificate, so in order to secure services I am putting them all behind nginx, on the same host.

For debugging's sake, I asked nginx to proxy to radicale, but WITHOUT rewriting URLs. It allowed me to solve that DAVDroid error.

Thanks for the help, I'll check on DADDroid's side if I can be used with a subdirectory (doesn't sound like such as fancy feature).

Desiderius77 commented 9 years ago

After many tests with Radicale 1.0 pre ( git clone ) :

floppy5-25 commented 9 years ago

Running 0.9 on Debian

Having similar collection discovery issues but only with cardav, the calendars are working fine.

Tried with KDE/akonadi and cardav-sync on Android.

Will a debug log help? (It is pretty long and I do not want to dump it here unless it is useful)

Thank you.

liZe commented 8 years ago

This issue is probably fixed in the current master branch. If you're interested in testing, please be sure to use a brand new installation of Radicale with a different folder to store calendars, because the storage format has change.

liZe commented 8 years ago

Can I close this ticket?

Desiderius77 commented 8 years ago

Yes you can

Le 14/07/2016 01:53, Guillaume Ayoub a écrit :

Can I close this ticket?

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/Kozea/Radicale/issues/292#issuecomment-232520072, or mute the thread https://github.com/notifications/unsubscribe/ADsah69d0YJBMsKF-A8S9Zs6QIpYw_4_ks5qVXqNgaJpZM4FRVIu.

Didier COURTAUD Professeur UFR Sciences Fondamentales et Appliquées +33 1 64 85 34 44 didier.courtaud@univ-evry.fr mailto:didier.courtaud@univ-evry.fr Institut de Biologie Génétique et Bio-Informatique (IBGBI) 23, Boulevard de France 91037 Evry Cedex - France www.univ-evry.fr http://www.univ-evry.fr Rejoignez-nous sur twitter @UnivEvry https://twitter.com/UnivEvry et Facebook ! https://www.facebook.com/pages/Universit%C3%A9-dEvry-Val-dEssonne/309222508983Toutes nos vidéos sur notre webTV http://www.webtv.univ-evry.fr/