|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
diff --git a/toolkit/mozapps/extensions/content/extensions.js b/toolkit/mozapps/extensions/content/extensions.js
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
--- a/toolkit/mozapps/extensions/content/extensions.js
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
+++ b/toolkit/mozapps/extensions/content/extensions.js
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
@@ -195,19 +195,25 @@ function loadView(aViewId) {
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
gViewController.loadInitialView(aViewId);
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
} else {
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
gViewController.loadView(aViewId);
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
}
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
}
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
function isCorrectlySigned(aAddon) {
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
- // temporary add-ons do not require signing
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
+ // Temporary add-ons do not require signing.
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
if (aAddon.scope == AddonManager.SCOPE_TEMPORARY)
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
return true;
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
+ // On UNIX platforms except OSX, an additional location for system add-ons
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
+ // exists in /usr/{lib,share}/mozilla/extensions. Add-ons installed there
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
+ // do not require signing either.
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
+ if (aAddon.scope == AddonManager.SCOPE_SYSTEM &&
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
+ Services.appinfo.OS != "Darwin")
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
+ return true;
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
if (aAddon.signedState <= AddonManager.SIGNEDSTATE_MISSING)
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
return false;
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
return true;
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
}
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
function isDiscoverEnabled() {
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
if (Services.prefs.getPrefType(PREF_DISCOVERURL) == Services.prefs.PREF_INVALID)
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
return false;
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
diff --git a/toolkit/mozapps/extensions/internal/XPIProvider.jsm b/toolkit/mozapps/extensions/internal/XPIProvider.jsm
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
--- a/toolkit/mozapps/extensions/internal/XPIProvider.jsm
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
+++ b/toolkit/mozapps/extensions/internal/XPIProvider.jsm
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
@@ -682,18 +682,23 @@ function isUsableAddon(aAddon) {
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
// Hack to ensure the default theme is always usable
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
if (aAddon.type == "theme" && aAddon.internalName == XPIProvider.defaultSkin)
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
return true;
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
if (aAddon._installLocation.name == KEY_APP_SYSTEM_ADDONS &&
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
aAddon.signedState != AddonManager.SIGNEDSTATE_SYSTEM) {
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
return false;
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
}
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
- // temporary and system add-ons do not require signing
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
- if ((aAddon._installLocation.name != KEY_APP_SYSTEM_DEFAULTS &&
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
+ // Temporary and system add-ons do not require signing.
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
+ // On UNIX platforms except OSX, an additional location for system add-ons
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
+ // exists in /usr/{lib,share}/mozilla/extensions. Add-ons installed there
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
+ // do not require signing either.
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
+ if (((aAddon._installLocation.scope != AddonManager.SCOPE_SYSTEM ||
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
+ Services.appinfo.OS == "Darwin") &&
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
+ aAddon._installLocation.name != KEY_APP_SYSTEM_DEFAULTS &&
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
aAddon._installLocation.name != KEY_APP_TEMPORARY) &&
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
mustSign(aAddon.type)) {
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
if (aAddon.signedState <= AddonManager.SIGNEDSTATE_MISSING)
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
return false;
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
}
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
if (aAddon.blocklistState == Blocklist.STATE_BLOCKED)
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
return false;
|
|
![](https://seccdn.libravatar.org/avatar/7ef8adee4aad4a9c36b8af537200b83c3e67e02079a3087b786c7a643fce3830?s=16&d=retro) |
dba86ea |
|