freeipa/install/share/preferences.html.template
Martin Kosek dbc268d964 Browser configuration support for Firefox 4
Support of navigator.preferences that is used to access browser
configuration was dropped in Firefox 4. This disables automatic
configuration of user preferences in this browser that is needed
to use Kerberos single sign-on.

This patch detectes a lack of this interface and tries to
configure the browser using new Services module introduced in
Gecko 2 (used in Firefox 4, SeaMonkey 2.1).

https://fedorahosted.org/freeipa/ticket/975
2011-02-17 12:12:23 -05:00

54 lines
2.0 KiB
Plaintext

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Automatically set browser preferences</title>
</head>
<body>
<form action="undefined" method="get">
<input type=button onclick="setPreferences()" name="prefs" value="Configure Firefox">
</form>
<script type="text/javascript">
function setPreferences() {
if (typeof navigator.preference == 'undefined') {
// From Firefox 4 and SeaMonkey 2.1, navigator.preference intefrace is dropped
// Use new Gecko2 Services.jsm JavaScript code module instead.
var privilege = 'UniversalXPConnect';
netscape.security.PrivilegeManager.enablePrivilege(privilege);
Components.utils.import("resource://gre/modules/Services.jsm");
var prefFuncChar = function(par, val) {Services.prefs.setCharPref(par, val)};
var prefFuncBool = function(par, val) {Services.prefs.setBoolPref(par, val)};
} else {
var privilege = 'UniversalPreferencesWrite';
netscape.security.PrivilegeManager.enablePrivilege(privilege);
var prefFuncChar = function(par, val) {navigator.preference(par, val)};
var prefFuncBool = prefFuncChar; // same function for bool and char
}
try {
try {
prefFuncBool('network.negotiate-auth.using-native-gsslib', true);
prefFuncChar('network.negotiate-auth.delegation-uris', '.$DOMAIN');
prefFuncChar('network.negotiate-auth.trusted-uris', '.$DOMAIN');
prefFuncBool('network.negotiate-auth.allow-proxies', true);
} catch (e) {
alert("Unable to store preferences: " + e);
return;
}
netscape.security.PrivilegeManager.disablePrivilege(privilege);
alert("Successfully configured Firefox for single sign-on.");
} catch (e) {
alert("Unable to apply recommended settings.\n\n" +
"Click on the Certificate Authority link and select trust for all, " +
"then reload this page and try again.\n\nThe error returned was: " + e);
return;
}
}
</script>
</body>
</html>