Closed Bug 1584358 Opened 5 years ago Closed 5 years ago

autoconfig scripts do not work in Thunderbird version 68.x

Categories

(Thunderbird :: Untriaged, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: marinar, Unassigned)

Details

(Keywords: regression)

User Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Firefox/68.0

Steps to reproduce:

Install Thunderbird version 68.1.#
Launch Thunderbird for the new user, user that does not have Thunderbird profile.

Actual results:

Auto configuration does not work with Thunderbird version 68.#
It seems that configuration files had not be read/loaded.
The autoconfig script cache file failover.jsc had not been created/downloaded.

Expected results:

Any previous versions of Thunderbird, up to 60.9, the autoconfiguration
mechanism, described in https://developer.mozilla.org/en-US/docs/Archive/Misc_top_level/MCD,_Mission_Control_Desktop_AKA_AutoConfig,
sets user preferences.

The C:\Program Files (x86)\Mozilla Thunderbird\defaults\pref\autoconfig.js sets configuration file - C:\Program Files (x86)\Mozilla Thunderbird\Thunderbird.cfg
pref('general.config.obscure_value',0);
pref('general.config.filename', 'thunderbird.cfg');
pref('general.config.vendor', 'thunderbird');

The Thunderbird.cfg file redirects to autoconfig script on the web site

lockPref("general.config.vendor", "thunderbird");
lockPref("autoadmin.global_config_url","http://www.myweb.edu/cgi-bin/thunderbirdprefs.cgi");
lockPref("autoadmin.append_emailaddr",false);

thunderbirdprefs.cgi script executed Thunderbirdconfiguration.cfg that uses getLDAPAttribute function to read user AD/LDAP attributes and setup Thunderbird preferences.

Please advise how to sets centralized Thunderbird auto configuration.

So you are saying this worked in version 60?

Flags: needinfo?(marinar)

Yes, that was said: Any previous versions of Thunderbird, up to 60.9, the autoconfiguration mechanism, described in ... sets user preferences.

That document describes some deprecated functionality. Magnus, Ben, are you aware of this?

Flags: needinfo?(mkmelin+mozilla)
Flags: needinfo?(marinar)
Flags: needinfo?(ben.bucksch)

AFAIK it should work, we should really create a dedicated article on DTN (or SUMO) about how this works nowadays.

I'd suspect it's just bug 1576364. marinar, are you using ldap over SSL?

Flags: needinfo?(mkmelin+mozilla)

If that is the issue, setting security.OCSP.enabled to 0 should make it work.

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

If that is the issue, setting security.OCSP.enabled to 0 should make it work.

Disabling security.OCSP.enabled setting did not fix the problem.

Is there any documentation how to setup Global autoconfig script for Thunderbird 68.x?

I ran Wireshark and it seems that Thunderbird reads autoadmin.global_config_url .cgi file from the web server, but does not execute this .cgi script that reads/output javascript cfg file for Thunderbird autoconfiguration.

Everything works fine for with Thunderbird 60.9

Any suggestions

Thank you

We ran into the exact same issue after Updating from 60.X to 68.X with Autoconfig.

Could it be the autoconfig.js file must use Unix end-of-line (LF), even on Windows systems with Geko 60 or higher.

Thunderbird reads C:\Program Files (x86)\Mozilla Thunderbird\defaults\pref\autoconf.js without any problems.

I can see in Wireshark log that it is reading .cgi from the web site.

But then it is not loading .cfg file and not even send DNS request for ldap server.

Flags: needinfo?(ben.bucksch)
Summary: Autoconfiguration does not work in Thunderbird version 68.x → autoconfig scripts do not work in Thunderbird version 68.x

The autoconfig scripts are completely unrelated to the account creation "Autoconfiguration" methods, and share only the name.

This is an old mechanism from Mozilla Suite / Firefox, and I'm not surprised that it died. CCK2 died, too. The replacement are MSI and their configuration options (obviously only on Windows).

Keywords: regression

So what is the way to setup centralized Thunderbird auto configuration for large organizations?

I have the same isue

This page says that the autoconfig support must be enabled during the build process.

http://web.mit.edu/~thunderbird/www/maintainers/autoconfig.html

In about:buildconfig i don't see this option

I think I might have found a solution. It works in ver. 68.x:

My channel-prefs.js:
pref('general.config.obscure_value', 0);
pref('general.config.filename', 'thunderbird.cfg');

What my thunderbird.cfg looked like before:
var env_user = getenv("USERNAME");
lockPref("autoadmin.global_config_url","http://thunderbirdautoconfig.mycompany.pl/thunderbird.php?user="+env_user);
lockPref("autoadmin.append_emailaddr",false);

(PHP server creates unique config file for each user - with e-mail address, name, e-mail footer etc. They only provide a password.)

Then I looked at my IIS web server's logs - and at these requests Thunderbird was making, there was not user=xxxx GET parameter.
So I made a URL rewrite rule to make the username part of the path and modified thunderbird.cfg to:
var env_user = getenv("USERNAME");
lockPref("autoadmin.global_config_url","http://thunderbirdautoconfig.mycompany.pl/"+env_user+"/");
lockPref("autoadmin.append_emailaddr",false);

And it works like a charm!
I know it may not be useful for OP case, but my method works under 68.x. Maybe it would be best to check your web server logs.

Since Firefox 62, autoconfig is sandboxed, and "only functions in prefcalls.js can be called[1]". The same thing happen in TB 68.x, but no one write this information in any release notes.

Exists a new option 'general.config.sandbox_enabled[2]' to disable the sandbox. Adding :

pref('general.config.sandbox_enabled', false);

solve the issue in TB 68.x.

1: https://bugzilla.mozilla.org/show_bug.cgi?id=1292444
2: https://dxr.mozilla.org/comm-central/source/extensions/pref/autoconfig/src/nsReadConfig.cpp#150

Thank you

Adding pref('general.config.sandbox_enabled', false); to c:\Program Files (x86)\Mozilla Thunderbird\defaults\pref\autoconfig.js fixed autoconfiguration problem.

So we're done here?

Status: UNCONFIRMED → RESOLVED
Closed: 5 years ago
Resolution: --- → WORKSFORME

(In reply to Jorg K (GMT+2) from comment #17)

So we're done here?

Yes Thank you

You need to log in before you can comment on or make changes to this bug.