firefox/Allow-unsigned-addons-in-us...

38 lines
1.7 KiB
Diff

From: Mike Hommey <mh@glandium.org>
Date: Sat, 5 Dec 2015 18:23:58 +0900
Subject: Allow unsigned addons in /usr/{lib,share}/mozilla/extensions
See rhbz#1293874
---
toolkit/mozapps/extensions/content/extensions.js | 2 ++
toolkit/mozapps/extensions/internal/XPIProvider.jsm | 3 ++-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/toolkit/mozapps/extensions/content/extensions.js b/toolkit/mozapps/extensions/content/extensions.js
index 8625097..9152096 100644
--- a/toolkit/mozapps/extensions/content/extensions.js
+++ b/toolkit/mozapps/extensions/content/extensions.js
@@ -211,6 +211,8 @@ function isCorrectlySigned(aAddon) {
// temporary add-ons do not require signing
if (aAddon.scope == AddonManager.SCOPE_TEMPORARY)
return true;
+ if (aAddon.scope == AddonManager.SCOPE_SYSTEM)
+ return true;
if (aAddon.signedState <= AddonManager.SIGNEDSTATE_MISSING)
return false;
if (aAddon.foreignInstall && aAddon.signedState < AddonManager.SIGNEDSTATE_SIGNED)
diff --git a/toolkit/mozapps/extensions/internal/XPIProvider.jsm b/toolkit/mozapps/extensions/internal/XPIProvider.jsm
index 343c087..de62d8a 100644
--- a/toolkit/mozapps/extensions/internal/XPIProvider.jsm
+++ b/toolkit/mozapps/extensions/internal/XPIProvider.jsm
@@ -682,7 +682,8 @@ function isUsableAddon(aAddon) {
return false;
}
// temporary and system add-ons do not require signing
- if ((aAddon._installLocation.name != KEY_APP_SYSTEM_DEFAULTS &&
+ if ((aAddon._installLocation.scope != AddonManager.SCOPE_SYSTEM &&
+ aAddon._installLocation.name != KEY_APP_SYSTEM_DEFAULTS &&
aAddon._installLocation.name != KEY_APP_TEMPORARY) &&
mustSign(aAddon.type)) {
if (aAddon.signedState <= AddonManager.SIGNEDSTATE_MISSING)