You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.3 KiB
36 lines
1.3 KiB
From c18b7b7819f17f5d14be1ba2760653f3d93b81b1 Mon Sep 17 00:00:00 2001 |
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org> |
|
Date: Mon, 1 Feb 2021 18:26:00 +0100 |
|
Subject: [PATCH] extensionDownloader: Refuse to override system extensions |
|
|
|
The website allows to "update" system extensions by installing the |
|
upstream version into the user's home directory. |
|
|
|
Prevent that by refusing to download and install extensions that are |
|
already installed system-wide. |
|
--- |
|
js/ui/extensionDownloader.js | 8 ++++++++ |
|
1 file changed, 8 insertions(+) |
|
|
|
diff --git a/js/ui/extensionDownloader.js b/js/ui/extensionDownloader.js |
|
index 6a3b2b488..471ddab14 100644 |
|
--- a/js/ui/extensionDownloader.js |
|
+++ b/js/ui/extensionDownloader.js |
|
@@ -17,6 +17,14 @@ var REPOSITORY_URL_UPDATE = 'https://extensions.gnome.org/update-info/'; |
|
let _httpSession; |
|
|
|
function installExtension(uuid, invocation) { |
|
+ const oldExt = Main.extensionManager.lookup(uuid); |
|
+ if (oldExt && oldExt.type === ExtensionUtils.ExtensionType.SYSTEM) { |
|
+ log('extensionDownloader: Trying to replace system extension %s'.format(uuid)); |
|
+ invocation.return_dbus_error('org.gnome.Shell.InstallError', |
|
+ 'System extensions cannot be replaced'); |
|
+ return; |
|
+ } |
|
+ |
|
let params = { uuid, |
|
shell_version: Config.PACKAGE_VERSION }; |
|
|
|
-- |
|
2.31.1 |
|
|
|
|