From 866858c1052cea976cdb6a228a087e00928a6970 Mon Sep 17 00:00:00 2001
From: Christian Kuhn <lolli@schwarzbu.ch>
Date: Fri, 8 Sep 2017 23:44:24 +0200
Subject: [PATCH] [TASK] Restrict em & lang module to system maintainer

Both extension manager and language pack adiminstration
change system configuration and should be restricted to
system maintainers.

Change-Id: I456ece7726b79a81c375eec0c949a5c63fd97df2
Resolves: #82395
Releases: master
Reviewed-on: https://review.typo3.org/54047
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benjamin Kott <benjamin.kott@outlook.com>
Tested-by: Benjamin Kott <benjamin.kott@outlook.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
---
 .../master/Feature-82266-BackendUsersSystemMaintainers.rst     | 3 +++
 typo3/sysext/extensionmanager/ext_tables.php                   | 2 +-
 typo3/sysext/lang/ext_tables.php                               | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-82266-BackendUsersSystemMaintainers.rst b/typo3/sysext/core/Documentation/Changelog/master/Feature-82266-BackendUsersSystemMaintainers.rst
index 32a739be89a9..2fad14b951d8 100644
--- a/typo3/sysext/core/Documentation/Changelog/master/Feature-82266-BackendUsersSystemMaintainers.rst
+++ b/typo3/sysext/core/Documentation/Changelog/master/Feature-82266-BackendUsersSystemMaintainers.rst
@@ -14,6 +14,9 @@ are able to access the install tool modules from within the TYPO3 Backend, thus,
 to modify the system-wide configuration located in :php:``$TYPO3_CONF_VARS``, respectively
 LocalConfiguration.php.
 
+Extension management and language pack handling are also "system management" and thus restricted
+to the new system management role.
+
 The list of allowed admins that are assigned as system maintainers can only be done within the TYPO3
 Install Tool or by modifying the new configuration option :php:``TYPO3_CONF_VARS[SYS][systemMaintainers]``.
 
diff --git a/typo3/sysext/extensionmanager/ext_tables.php b/typo3/sysext/extensionmanager/ext_tables.php
index 14f6610160dc..256b4aacbb55 100644
--- a/typo3/sysext/extensionmanager/ext_tables.php
+++ b/typo3/sysext/extensionmanager/ext_tables.php
@@ -18,7 +18,7 @@ if (TYPO3_MODE === 'BE') {
             'Distribution' => 'show'
         ],
         [
-            'access' => 'admin',
+            'access' => 'systemMaintainer',
             'icon' => 'EXT:extensionmanager/Resources/Public/Icons/module-extensionmanager.svg',
             'labels' => 'LLL:EXT:extensionmanager/Resources/Private/Language/locallang_mod.xlf',
         ]
diff --git a/typo3/sysext/lang/ext_tables.php b/typo3/sysext/lang/ext_tables.php
index c8dafb1d7496..5765b16b9a40 100644
--- a/typo3/sysext/lang/ext_tables.php
+++ b/typo3/sysext/lang/ext_tables.php
@@ -13,7 +13,7 @@ if (TYPO3_MODE === 'BE' && !(TYPO3_REQUESTTYPE & TYPO3_REQUESTTYPE_INSTALL)) {
             'Language' => 'listLanguages, listTranslations, getTranslations, updateLanguage, updateTranslation, activateLanguage, deactivateLanguage, removeLanguage',
         ],
         [
-            'access' => 'admin',
+            'access' => 'systemMaintainer',
             'icon' => 'EXT:lang/Resources/Public/Icons/module-lang.svg',
             'labels' => 'LLL:EXT:lang/Resources/Private/Language/locallang_mod.xlf',
         ]
-- 
GitLab