Hi!
About the first problem, that’s exactly it! I’ve worked around the problem from the cyrus side, by configuring it to accept the complete email address as username (I meant to update this post but never got around - sorry). However I will file a bug report. Here’s the bug report:
On the second problem, discourse ate the parts I had between < and > signs… I think I’ve escaped them with \ and they did appear on the preview but now they’re gone.
Anyway what I meant to say was:
The URI used by cyrus is in the form: https://<host>/dav/calendars/user/<myuser>
but I have no way to indicate the <myuser>
part on the well known URI.
This was a mistake on my part. Cyrus accepts the URI in the form https://<host>/dav/calendars/user/
without the username and Thunderbird negotiates its way until it has CalDAV and CardDAV configured.
The remaining problem I have is the CardDAV auto-configuration. If I try to manually add an address book it works great:
Add CardDAV Address Book
On the address book, I choose “Add CardDAV Address Book” using the well-known URI I am able to add the address book, the process goes like this:
- Insert username and the URI;
- Authenticate;
- Authenticate again (maybe Thunderbird should remember the auth credentials, no?);
- The address book is found, click “continue” and the address book is configured.
If we look at the cyrus log while doing this we get:
May 1 11:34:00 host cyrus/http[9837]: localhost [127.0.0.1] with "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1" via SESSIONID=<cyrus-1682937240-9837-1-16998625211162465167>; "PROPFIND /dav/addressbooks/user HTTP/1.1" (origin=https://host; depth=0) => "HTTP/1.1 401 Unauthorized" (error=Must authenticate to access the specified target) [timing: cmd=0.000621 net=0.000016 total=0.000637]
May 1 11:34:07 host cyrus/http[9832]: login: localhost [127.0.0.1] myuser Basic User logged in SESSIONID=<cyrus-1682937164-9832-1-15662988253688790517>
May 1 11:34:07 host cyrus/http[9832]: localhost [127.0.0.1] as "myuser" with "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1" via SESSIONID=<cyrus-1682937164-9832-1-15662988253688790517>; "PROPFIND /dav/addressbooks/user HTTP/1.1" (origin=https://host; auth=Basic; type=prop; depth=0) => "HTTP/1.1 207 Multi-Status" (tx-encoding=chunked; cnt-encoding=gzip) [timing: cmd=0.004505 net=0.000093 total=0.004598]
May 1 11:34:07 host cyrus/http[9832]: localhost [127.0.0.1] with "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1" via SESSIONID=<cyrus-1682937164-9832-1-15662988253688790517>; "PROPFIND /dav/principals/user/myuser/ HTTP/1.1" (origin=https://host; auth=Basic; depth=0) => "HTTP/1.1 401 Unauthorized" (error=Must authenticate to access the specified target) [timing: cmd=0.000535 net=0.000126 total=0.000661]
May 1 11:34:12 host cyrus/http[9832]: login: localhost [127.0.0.1] myuser Basic User logged in SESSIONID=<cyrus-1682937164-9832-1-15662988253688790517>
May 1 11:34:12 host cyrus/http[9832]: localhost [127.0.0.1] as "myuser" with "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1" via SESSIONID=<cyrus-1682937164-9832-1-15662988253688790517>; "PROPFIND /dav/principals/user/myuser/ HTTP/1.1" (origin=https://host; auth=Basic; type=prop; depth=0) => "HTTP/1.1 207 Multi-Status" (tx-encoding=chunked; cnt-encoding=gzip) [timing: cmd=0.006562 net=0.000115 total=0.006677]
May 1 11:34:12 host cyrus/http[9832]: login: localhost [127.0.0.1] myuser Basic User logged in SESSIONID=<cyrus-1682937164-9832-1-15662988253688790517>
May 1 11:34:12 host cyrus/http[9832]: localhost [127.0.0.1] as "myuser" with "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1" via SESSIONID=<cyrus-1682937164-9832-1-15662988253688790517>; "PROPFIND /dav/addressbooks/user/myuser/ HTTP/1.1" (origin=https://host; auth=Basic; type=prop; depth=1) => "HTTP/1.1 207 Multi-Status" (tx-encoding=chunked; cnt-encoding=gzip) [timing: cmd=0.006161 net=0.000127 total=0.006288]
Parsing this log we have:
- PROPFIND /dav/addressbooks/user → HTTP/1.1 401 Unauthorized
- Authenticate
- PROPFIND /dav/addressbooks/user → HTTP/1.1 207 Multi-Status
- PROPFIND /dav/principals/user/myuser/ → HTTP/1.1 401 Unauthorized
- Authenticate
- PROPFIND /dav/principals/user/myuser/ → HTTP/1.1 207 Multi-Status
- PROPFIND /dav/addressbooks/user/myuser/→ HTTP/1.1 207 Multi-Status
CardDAV auto-configuration
Now if I try the auto-configuration, the log on the cyrus side is:
May 1 11:52:59 host cyrus/http[10189]: localhost [127.0.0.1] with "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1" via SESSIONID=<cyrus-1682938379-10189-1-10509838640564374749>; "PROPFIND /dav/addressbooks/user HTTP/1.1" (origin=https://host1; depth=0) => "HTTP/1.1 401 Unauthorized" (error=Must authenticate to access the specified target) [timing: cmd=0.000412 net=0.000011 total=0.000423]
May 1 11:52:59 host cyrus/http[10189]: login: localhost [127.0.0.1] myuser Basic User logged in SESSIONID=<cyrus-1682938379-10189-1-10509838640564374749>
May 1 11:52:59 host cyrus/http[10189]: localhost [127.0.0.1] as "myuser" with "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1" via SESSIONID=<cyrus-1682938379-10189-1-10509838640564374749>; "PROPFIND /dav/addressbooks/user HTTP/1.1" (origin=https://host0; auth=Basic; type=prop; depth=0) => "HTTP/1.1 207 Multi-Status" (tx-encoding=chunked; cnt-encoding=gzip) [timing: cmd=0.008740 net=0.000029 total=0.008769]
May 1 11:53:00 host cyrus/http[10194]: localhost [127.0.0.1] with "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1" via SESSIONID=<cyrus-1682938380-10194-1-2616905796624467734>; "PROPFIND /dav/calendars/user HTTP/1.1" (origin=https://host1; depth=0) => "HTTP/1.1 401 Unauthorized" (error=Must authenticate to access the specified target) [timing: cmd=0.000390 net=0.000013 total=0.000403]
May 1 11:53:00 host cyrus/http[10194]: login: localhost [127.0.0.1] myuser Basic User logged in SESSIONID=<cyrus-1682938380-10194-1-2616905796624467734>
May 1 11:53:00 host cyrus/http[10194]: localhost [127.0.0.1] as "myuser" with "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1" via SESSIONID=<cyrus-1682938380-10194-1-2616905796624467734>; "PROPFIND /dav/calendars/user HTTP/1.1" (origin=https://host1; auth=Basic; type=prop; depth=0) => "HTTP/1.1 207 Multi-Status" (tx-encoding=chunked; cnt-encoding=gzip) [timing: cmd=0.009220 net=0.000080 total=0.009300]
May 1 11:53:00 host cyrus/http[10482]: localhost [127.0.0.1] with "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1" via SESSIONID=<cyrus-1682938380-10482-1-17730980932789859610>; "PROPFIND /dav/principals/user/myuser/ HTTP/1.1" (origin=https://host; depth=0) => "HTTP/1.1 401 Unauthorized" (error=Must authenticate to access the specified target) [timing: cmd=0.000619 net=0.000013 total=0.000632]
May 1 11:53:00 host cyrus/http[10482]: login: localhost [127.0.0.1] myuser Basic User logged in SESSIONID=<cyrus-1682938380-10482-1-17730980932789859610>
May 1 11:53:00 host cyrus/http[10482]: localhost [127.0.0.1] as "myuser" with "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1" via SESSIONID=<cyrus-1682938380-10482-1-17730980932789859610>; "PROPFIND /dav/principals/user/myuser/ HTTP/1.1" (origin=https://host; auth=Basic; type=prop; depth=0) => "HTTP/1.1 207 Multi-Status" (tx-encoding=chunked; cnt-encoding=gzip) [timing: cmd=0.007418 net=0.000029 total=0.007447]
May 1 11:53:01 host cyrus/http[10483]: localhost [127.0.0.1] with "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1" via SESSIONID=<cyrus-1682938381-10483-1-14909944397349242573>; "PROPFIND /dav/calendars/user/myuser/ HTTP/1.1" (origin=https://host; depth=1) => "HTTP/1.1 401 Unauthorized" (error=Must authenticate to access the specified target) [timing: cmd=0.000641 net=0.000016 total=0.000657]
May 1 11:53:01 host cyrus/http[10483]: login: localhost [127.0.0.1] myuser Basic User logged in SESSIONID=<cyrus-1682938381-10483-1-14909944397349242573>
May 1 11:53:01 host cyrus/http[10483]: localhost [127.0.0.1] as "myuser" with "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1" via SESSIONID=<cyrus-1682938381-10483-1-14909944397349242573>; "PROPFIND /dav/calendars/user/myuser/ HTTP/1.1" (origin=https://host; auth=Basic; type=prop; depth=1) => "HTTP/1.1 207 Multi-Status" (tx-encoding=chunked; cnt-encoding=gzip) [timing: cmd=0.007152 net=0.000021 total=0.007173]
We have:
- PROPFIND /dav/addressbooks/user → HTTP/1.1 401 Unauthorized
- Authenticate
- PROPFIND /dav/addressbooks/user → HTTP/1.1 207 Multi-Status
- PROPFIND /dav/calendars/user → HTTP/1.1 401 Unauthorized
- Authenticate
- PROPFIND /dav/calendars/user → HTTP/1.1 207 Multi-Status
- PROPFIND /dav/principals/user/myuser/ → HTTP/1.1 401 Unauthorized
- Authenticate
- PROPFIND /dav/principals/user/myuser/ → HTTP/1.1 207 Multi-Status
- PROPFIND /dav/calendars/user/myuser/ → HTTP/1.1 401 Unauthorized
- Authenticate
- PROPFIND /dav/calendars/user/myuser/ → HTTP/1.1 207 Multi-Status
The calendar conversation goes all the way to the end, I just have to click on “Connect” to have the calendar configured.
The discovery of address books fails.
For now I’m out of ideas on how to work around this.
Can this be a cyrus bug?