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.
37 lines
1.3 KiB
37 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
|
|
|