Closed Bug 1725612 Opened 3 years ago Closed 3 years ago

Thunderbird doesn't recognize carddav address books

Categories

(Thunderbird :: Address Book, defect)

Thunderbird 91
defect

Tracking

(thunderbird_esr78 wontfix, thunderbird_esr91+ fixed, thunderbird92 fixed)

RESOLVED FIXED
93 Branch
Tracking Status
thunderbird_esr78 --- wontfix
thunderbird_esr91 + fixed
thunderbird92 --- fixed

People

(Reporter: Mikeyy, Assigned: darktrojan)

References

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0

Steps to reproduce:

Since I already have working TB and upgraded from 78.x.x to TB 91, I went to Address book / File / New / Carddav address book

  • enter address book name
  • entered address book URL which is "https://domain.com/carddav/"
  • pressed "Next" and it prompted me for username / password
  • entered username / password

Actual results:

TB failed to recognize address books.

These messages were in "error console":
Prompter: internal dialogs not available in this context. Falling back to window prompt. Prompter.jsm:1084
set modalType resource://gre/modules/Prompter.jsm:1084
ModalPrompter resource://gre/modules/Prompter.jsm:1040
pickPrompter resource://gre/modules/Prompter.jsm:44
promptAuth resource://gre/modules/Prompter.jsm:671
promptAuth resource:///modules/CardDAVUtils.jsm:621
PROPFINDhttps://domain.com/.well-known/carddav
[HTTP/1.1 405 Method Not Allowed 123ms]

carddav.setup:
Exception { name: "NS_ERROR_FAILURE", message: "Address book discovery failed", result: 2147500037, filename: "resource:///modules/CardDAVUtils.jsm", lineNumber: 426, columnNumber: 0, data: null, stack: "detectAddressBooks@resource:///modules/CardDAVUtils.jsm:426:13\n", location: XPCWrappedNative_NoHelper }
abCardDAVDialog.js:140:9

Expected results:

TB should have detected 2 address books, one read only, one regular.

Sabredav 4.1.5 is used for carddav (GroupOffice suite).
Addressbooks are located at these URLs:
https://domain.com/carddav/addressbooks/my.email@domain.com/347/
https://domain.com/carddav/addressbooks/my.email@domain.com/376/

Tried entering:
https://domain.com/carddav/addressbooks/ - failed
https://domain.com/carddav/addressbooks/my.email@domain.com/ - failed

Only when I entered direct address book URL, it succeeded.
https://domain.com/carddav/addressbooks/my.email@domain.com/347/

But then, it failed to sync ANY contacts. Tried few times with read-only address book and I couldn't force it to sync any contacts. Didn't want to risk other address book and test on it since I could delete my contacts.

https://searchfox.org/comm-central/rev/6820aaa407ab48a2c1b7a7477015e0dac1dc5daf/mailnews/addrbook/modules/CardDAVUtils.jsm#268
Can you try setting the carddav.setup.loglevel pref to "All", then check the Error Console while it's doing the setup?

Component: Untriaged → Address Book
Blocks: tb91found

Also try using the Network tab of the developer toolbox to see what requests are being made and the responses.

(In reply to Magnus Melin [:mkmelin] from comment #1)

https://searchfox.org/comm-central/rev/6820aaa407ab48a2c1b7a7477015e0dac1dc5daf/mailnews/addrbook/modules/CardDAVUtils.jsm#268
Can you try setting the carddav.setup.loglevel pref to "All", then check the Error Console while it's doing the setup?

carddav.setup: Attempting to connect to https://domain.com/carddav/ CardDAVUtils.jsm:392:11
Prompter: internal dialogs not available in this context. Falling back to window prompt. Prompter.jsm:1084
set modalType resource://gre/modules/Prompter.jsm:1084
ModalPrompter resource://gre/modules/Prompter.jsm:1040
pickPrompter resource://gre/modules/Prompter.jsm:44
promptAuth resource://gre/modules/Prompter.jsm:671
promptAuth resource:///modules/CardDAVUtils.jsm:621
carddav.setup: https://domain.com/carddav/ ... success CardDAVUtils.jsm:395:13
carddav.setup: Attempting to connect to https://domain.com/.well-known/carddav CardDAVUtils.jsm:392:11
PROPFINDhttps://domain.com/.well-known/carddav
[HTTP/1.1 405 Method Not Allowed 116ms]

PROPFIND
https://domain.com/.well-known/carddav
Stanje405
Method Not Allowed
VerzijaHTTP/1.1
Preneseno438 B (225 B veličina)

Allow
GET,POST,OPTIONS,HEAD,TRACE
Connection
keep-alive
Content-Length
225
Content-Type
text/html; charset=iso-8859-1
Date
Mon, 16 Aug 2021 05:06:20 GMT
Server
nginx

Accept
/
Accept-Encoding
gzip, deflate, br
Accept-Language
hr,hr-HR;q=0.8,en-US;q=0.5,en;q=0.3
Connection
keep-alive
Content-Length
108
Content-Type
text/xml
Depth
0
Host
domain.com
Origin
https://domain.com
Sec-Fetch-Dest
empty
Sec-Fetch-Mode
no-cors
Sec-Fetch-Site
same-origin
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.0
carddav.setup: https://domain.com/.well-known/carddav ... response was "405 Method Not Allowed" CardDAVUtils.jsm:397:13
carddav.setup: Attempting to connect to https://domain.com/ CardDAVUtils.jsm:392:11
carddav.setup: https://domain.com/ ... response was "200 OK" CardDAVUtils.jsm:397:13
carddav.setup:
Exception { name: "NS_ERROR_FAILURE", message: "Address book discovery failed", result: 2147500037, filename: "resource:///modules/CardDAVUtils.jsm", lineNumber: 426, columnNumber: 0, data: null, stack: "detectAddressBooks@resource:///modules/CardDAVUtils.jsm:426:13\n", location: XPCWrappedNative_NoHelper }
abCardDAVDialog.js:140:9
NS_ERROR_NOT_AVAILABLE


I can make test account and send it to you or Geoff so you can test your self?

@Geoff
I had network tab opened also, but I don't see anything different there. And not sure how to paste that here.

Yes, a test account would be useful.

Sent you and Geoff test account details via email.
Just checked carddav for that account and read-only address book is visible, but user account isn't. Must check with provider, maybe there is some bug.
Anyway, you can test with 1 address book for now until second one becomes visible.

Okay, I've got it. The URL you're entering is part-way through a multi-step process, but Thunderbird is expecting an URL for one of the first steps, or the last step, so it's not got the response it expected. Now to fix it without breaking anything else…

Assignee: nobody → geoff
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true

(Actually, that's not quite true. The server doesn't respond with the information we need to get from here to the end, but we can infer it from what the server will tell us and hope it works.)

Pushed by geoff@darktrojan.net:
https://hg.mozilla.org/comm-central/rev/0afbe6cf5a3f
When detecting address books, ask for and use current-user-principal. r=mkmelin

Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 93 Branch

Comment on attachment 9236432 [details]
Bug 1725612 - When detecting address books, ask for and use current-user-principal. r=mkmelin

[Approval Request Comment]
Regression caused by (bug #): never worked
User impact if declined: address book auto-detection would not work in this edge case
Testing completed (on c-c, etc.): on c-c since last week, although there's been no Linux/Windows nightlies since then
Risk to taking this patch (and alternatives if risky): low

Attachment #9236432 - Flags: approval-comm-beta?

Comment on attachment 9236432 [details]
Bug 1725612 - When detecting address books, ask for and use current-user-principal. r=mkmelin

[Triage Comment]
Approved for beta

Attachment #9236432 - Flags: approval-comm-beta? → approval-comm-beta+

Comment on attachment 9236432 [details]
Bug 1725612 - When detecting address books, ask for and use current-user-principal. r=mkmelin

[Approval Request Comment]
Regression caused by (bug #): never worked
User impact if declined: address book auto-detection would not work in this edge case
Testing completed (on c-c, etc.): in 92.0b3
Risk to taking this patch (and alternatives if risky): low

Attachment #9236432 - Flags: approval-comm-esr91?

Comment on attachment 9236432 [details]
Bug 1725612 - When detecting address books, ask for and use current-user-principal. r=mkmelin

[Triage Comment]
Approved for esr91

Attachment #9236432 - Flags: approval-comm-esr91? → approval-comm-esr91+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: