Kozea / Radicale

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

Radicale 3.1.7 error "No calendar home was specified for the account" using macOS calendar 11.0 #1247

Open username33333333 opened 2 years ago

username33333333 commented 2 years ago

I think it might be related to the rights file not being set up correctly. My rights file looks like this:

[root]
user: .+
collection:
permissions: rwRW

[rw_own]
user: .+
collection: {user}
permissions: rwRW

[rw_own2]
user: .+
collection: {user}/[^/]+
permissions: rwRW

and my config like this:

[server]
hosts = 0.0.0.0:5232, [::]:5232
max_connections = 20
max_content_length = 1000000
timeout = 30

[auth]
type = htpasswd
htpasswd_filename = .htpasswd
htpasswd_encryption = bcrypt
delay = 1

[rights]
type=from_file
file=rights

I have also tried setting up some calendars in the web interface, but that didn't help either.

AvdN commented 2 years ago

Have you tried other clients, or directly connecting with a browser to the calendar URL? I am getting the same error on the macOS calendar, on a setup server setup that works fine with Outlook (Windows) and Thunderbird (macOS) Looking at the server I can see the login succeeds.

1217 indicates this should be possible.

I am running my server behind Apache (handling the certificate), and mapping https://hostname/cdav to the port of a Radicale instance running in a docker container. Then connecting using https://hostname/cdav/username/calendar.ics/ I suspect the /cdav might be the issue (going to ask in the other issue)

bsima commented 1 year ago

I got the same issue as @username33333333, and have a similar rights file.

The calendar was in a manually-created collection called /public/<user>/. In Fantastical I was able to connect just fine. In Apple/iOS Calendar it would error with "No calendar home" and then it would rewrite the path input box in the account settings screen until it found /<user>/ to be the working (but incorrect) path.

On my server I saw nginx log entries like this:

<ip address> - - [07/Nov/2023:11:25:09 -0500] "PROPFIND /public/ben/ HTTP/2.0" 401 61 "-" "macOS/14.0 (23A344) dataaccessd/1.0"                                                                                                                                                                                                                             
<ip address> - ben [07/Nov/2023:11:25:09 -0500] "PROPFIND /public/ben/ HTTP/2.0" 207 501 "-" "macOS/14.0 (23A344) dataaccessd/1.0"
<ip address> - - [07/Nov/2023:11:25:09 -0500] "OPTIONS /public/ben/ HTTP/2.0" 200 0 "-" "macOS/14.0 (23A344) dataaccessd/1.0"
<ip address> - - [07/Nov/2023:11:25:18 -0500] "PROPFIND /.well-known/caldav HTTP/2.0" 301 35 "-" "macOS/14.0 (23A344) dataaccessd/1.0"
<ip address> - - [07/Nov/2023:11:25:18 -0500] "PROPFIND / HTTP/2.0" 401 61 "-" "macOS/14.0 (23A344) dataaccessd/1.0"
<ip address> - ben [07/Nov/2023:11:25:18 -0500] "PROPFIND / HTTP/2.0" 207 228 "-" "macOS/14.0 (23A344) dataaccessd/1.0"
<ip address> - - [07/Nov/2023:11:25:18 -0500] "OPTIONS /ben/ HTTP/2.0" 200 0 "-" "macOS/14.0 (23A344) dataaccessd/1.0"

So Apple Calendar is doing some automatic discovery of the calendar, even though I was in the "advanced" mode and explicitly setting the path.

The solution in Apple/iOS Calendar was to "subscribe" to the calendar, so I clicked File > New Calendar Subscription and put in the full address like https://example.com/public/ben/ and this allowed me to at least view the calendar.

I can't edit the public calendar in Apple/iOS, but that's fine because I use Fantastical or Thunderbird for my main calendar program and just wanted a way for other people to view my calendar.