Thunderbird dont save CalDAV password because of missing httpRealm or formSubmitURL

Nextcloud : 19.0.3
Operating system and version : Ubuntu 20.04
Apache version : 2.4.41
PHP version: 7.4.3
Thunderbird: 68.10.0
Lighing: 68.10.0

Hello, I used Nextcloud with Ubuntu 16.04 and Thunderbird with Lightning and the CalDAV-calendar.
Now I switched to an new Server with Ubuntu 20.04 and Thunderbird is no longer saving my password in his password manager, debug info:

Error: Can't add a login without a httpRealm or formSubmitURL.​

Any Ideas? Thanks

Assert failed: [Exception… “[JavaScript Error: “Can’t add a login without a httpRealm or formSubmitURL.” {file: “resource://gre/modules/LoginManager.jsm” line: 287}]‘[JavaScript Error: “Can’t add a login without a httpRealm or formSubmitURL.” {file: “resource://gre/modules/LoginManager.jsm” line: 287}]’ when calling method: [nsILoginManager::addLogin]” nsresult: “0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)” location: “JS frame :: resource://calendar/modules/utils/calAuthUtils.jsm :: passwordManagerSave :: line 434” data: yes]

ASSERT resource://calendar/modules/calUtils.jsm:139
passwordManagerSave resource://calendar/modules/utils/calAuthUtils.jsm:438
promptAuth resource://calendar/modules/utils/calAuthUtils.jsm:248
onPromptStart resource://calendar/modules/utils/calAuthUtils.jsm:272
onPromptStartAsync resource://calendar/modules/utils/calAuthUtils.jsm:268
_promiseAuthPrompt jar:file:///usr/lib/thunderbird/omni.ja!/components/msgAsyncPrompter.js:26
_promiseAuthPrompt jar:file:///usr/lib/thunderbird/omni.ja!/components/msgAsyncPrompter.js:24
run jar:file:///usr/lib/thunderbird/omni.ja!/components/msgAsyncPrompter.js:49
InterpretGeneratorResume self-hosted:1284
AsyncFunctionNext self-hosted:839

1 Like

Please EXPLAIN IN DETAIL how you try to add a calendar link to Thunderbird, otherwise it will be difficult to narrow down the problem. Have you set “calendar.network.multirealm = true” in the Thunderbird configuration editor?

Hello, I used the recommended way, exactly: https://docs.nextcloud.com/server/19/user_manual/pim/sync_thunderbird.html#recommended-method
But I also tried a few other methods later with new Thunderbird profile…
Your workaround with “calendar.network.multirealm = true” is working, thanks a lot. Where did you get this information from?
Other thing is, I think this is only a workaround, and the problem is still this missing header information. This is an old Nextcloud installation, first installed five years ago and updated since then. I dont have this problem with a new, fresh installed Nextcloud instance or other DAV-Servers, like Baikal.
While I can live with your tip, it would be nice to find the reason :slight_smile: Thanks

1 Like

This is not a workaround but a known Thunderbird parameter to handle multiple accounts on the same server domain in parallel. By default Thunderbird can only handle one set of credentials for a server address domain. By setting this parameter, it accepts multiple credentials of multiple accounts.

Thanks for your reply. It is only one account, I use it since five years without this parameter. So I guess this it not the reason for my problem.

1 Like

Each calendar is counted separately, independent if it is owned by the same user or not. I don’t remember with which Thunderbird versions this parameter has been introduced but based on my experience it’s essential to get a reliable connection to the server established. If you search the internet, you will find many matches covering this issue.

Ok, so I have tried now to disabled multirealm parameter (set so false), disabled all calendars and adressbooks and enable only one calendar. Thunderbird is no longer asking for password, fine.
Then I enabled again the other calendars and adressbooks, it is still not asking for passwords now.
Then I deleted all stored passwords, and after restarting Thunderbird, I only get asked for one password… no longer get asked for every calendar, still with multirealm disabled. Strange.

I changed one thing a few hours ago: Settings - Theming - Name, and then it was asking for password for every calendar after restarting.

So I try now with new Thunderbird profile - add one calendar ,password is saved ! Second calendar, like expected, it don’t ask for any password.

So, to verify this is a Settings - Theming - Name problem, I tried to remove the name, message: Name cannot be empty", but it seems to be saved empty anyway.
Ok, new Thunderbird profile, add one calendar ,password is not saved !

I also tried this two times with only Lightning and two times with the AddOn TBSync, sale results.

In conclusion I can say:

  1. You don’t have to use calendar.network.multirealm = true, not even for multiple calendars from one user.
  2. You don’t have to use TBSync (but then you need something else for adressbooks), DAV-calendars are working with Lightning only
  3. You have to set a Name in Settings - Theming - Name
2 Likes

Hello,

@zentrix where is this Settings - Theming - Name configuration item ?
I think I have the same problem as yours and I’d like to try your solution but I can’t find this setting :confused:

Thanks

Actually setting calendar.network.multirealm = true solved this issue for me too !
Thanks

1 Like

YOUR_NEXTCLOUD_DOMAIN/index.php/settings/admin/theming

I love you, I have this issue since several years, I tried this method, and it perfectly worked… A no-named nextcloud can’t be stored in Thunderbird database for agendas… Thanks a lot, you’re my life savior !

Another two years later, I stumbled across the same issue. Setting a name in theming settings is still the correct solution, in case you see the “missing httpRealm” error in Thunderbird console.

The realm is actually a mandatory part of the basic HTTP authentication header: WWW-Authenticate - HTTP | MDN
Not sure what Nextcloud sends in case the name was not set, probably an empty string. Surprising that this is not causing a lot more issues.

I’ll see if I can open a PR to have a default realm, or a default name (resulting in a realm) set. “Nextcloud” should do.

EDIT: PR up: fix(dav): fallback realm for HTTP authentication by MichaIng · Pull Request #42459 · nextcloud/server · GitHub