[!!!][TASK] Remove option to allow uploading system extensions 08/54008/3
authorBenni Mack <benni@typo3.org>
Fri, 8 Sep 2017 10:54:12 +0000 (12:54 +0200)
committerChristian Kuhn <lolli@schwarzbu.ch>
Fri, 8 Sep 2017 14:17:33 +0000 (16:17 +0200)
The extension manager has the option to upload an extension
into typo3/sysext/, which is no recommendation and should
not be an option from the Backend UI itself, as it is heavily
conflicting with core updates where typo3_src/ / sysext is
exchanged.

The option is removed without substitution, if somebody
wants to play with typo3/sysext/ it's at the admins own risk,
and should not be encouraged or mentioned neither in the install
tool (All Configuration) nor Extension Manager.

Resolves: #82377
Releases: master
Change-Id: I19782a4960bb52bd2012b79e912e483610d297d8
Reviewed-on: https://review.typo3.org/54008
Reviewed-by: Andreas Fernandez <typo3@scripting-base.de>
Tested-by: Andreas Fernandez <typo3@scripting-base.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
typo3/sysext/core/Configuration/DefaultConfiguration.php
typo3/sysext/core/Configuration/DefaultConfigurationDescription.yaml
typo3/sysext/core/Documentation/Changelog/master/Breaking-82377-OptionToAllowUploadingSystemExtensionsRemoved.rst [new file with mode: 0644]
typo3/sysext/extensionmanager/Classes/Domain/Model/Extension.php
typo3/sysext/install/Classes/Service/SilentConfigurationUpgradeService.php
typo3/sysext/install/Configuration/ExtensionScanner/Php/ArrayDimensionMatcher.php

index ae74ded..01b4d1e 100644 (file)
@@ -808,7 +808,6 @@ return [
     'EXT' => [ // Options related to the Extension Management
         'allowGlobalInstall' => false,
         'allowLocalInstall' => true,
-        'allowSystemInstall' => false,
         'excludeForPackaging' => '(?:\\..*(?!htaccess)|.*~|.*\\.swp|.*\\.bak|\\.sass-cache|node_modules|bower_components)',
         'extConf' => [
             'saltedpasswords' => serialize([
index 6578bd2..d8aaad8 100644 (file)
@@ -227,9 +227,6 @@ EXT:
         allowLocalInstall:
             type: bool
             description: 'If set, local extensions in typo3conf/ext/ are allowed to be installed, updated and deleted etc.'
-        allowSystemInstall:
-            type: bool
-            description: 'If set, you can install extensions in the sysext/ dir.'
         excludeForPackaging:
             type: list
             description: 'List of directories and files which will not be packaged into extensions nor taken into account otherwise by the Extension Manager. Perl regular expression syntax!'
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-82377-OptionToAllowUploadingSystemExtensionsRemoved.rst b/typo3/sysext/core/Documentation/Changelog/master/Breaking-82377-OptionToAllowUploadingSystemExtensionsRemoved.rst
new file mode 100644 (file)
index 0000000..9454153
--- /dev/null
@@ -0,0 +1,45 @@
+.. include:: ../../Includes.txt
+
+======================================================================
+Breaking: #82377 - Option to allow uploading system extensions removed
+======================================================================
+
+See :issue:`82377`
+
+Description
+===========
+
+The option to allow uploading additional extensions as system extensions in TYPO3 has been removed
+without substitution.
+
+Disclaimer: It is highly discouraged by the TYPO3 Core to modify anything within `typo3/sysext/`,
+especially adding extensions, as typo3conf/ is the folder to add or override extensions.
+
+If an administrator needs to do changes within `typo3/sysext/` it's at his/her own risk,
+and should not be encouraged to be possible from TYPO3 itself.
+
+
+Impact
+======
+
+The possibility to upload an extension into `typo3/sysext/` via the Extension Manager / TYPO3 Backend
+interface is removed. System extensions can only be added or modified via the file system now.
+
+
+Affected Installations
+======================
+
+TYPO3 instances having the option `$GLOBALS['TYPO3_CONF_VARS']['EXT']['allowSystemInstall']` enabled and do not
+run in TYPO3's Composer Mode.
+
+As this option was disabled by default for over 10 years, it is highly unlikely this change will
+affect a regular instance.
+
+
+Migration
+=========
+
+The mentioned option, if set, is automatically removed when accessing the Install Tool through
+the SilentMigrationService.
+
+.. index:: LocalConfiguration, FullyScanned
index 0d8a595..7628d16 100644 (file)
@@ -467,9 +467,6 @@ class Extension extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
     public static function returnAllowedInstallPaths()
     {
         $installPaths = self::returnInstallPaths();
-        if (empty($GLOBALS['TYPO3_CONF_VARS']['EXT']['allowSystemInstall'])) {
-            unset($installPaths['System']);
-        }
         if (empty($GLOBALS['TYPO3_CONF_VARS']['EXT']['allowGlobalInstall'])) {
             unset($installPaths['Global']);
         }
index 028cc33..66febc9 100644 (file)
@@ -100,6 +100,8 @@ class SilentConfigurationUpgradeService
         // #82162
         'SYS/enable_errorDLOG',
         'SYS/enable_exceptionDLOG',
+        // #82377
+        'EXT/allowSystemInstall',
     ];
 
     public function __construct(ConfigurationManager $configurationManager = null)
index b6d0b5b..aca7d12 100644 (file)
@@ -69,4 +69,9 @@ return [
             'Deprecation-82254-DeprecateGLOBALSTYPO3_CONF_VARSEXTextConf.rst',
         ],
     ],
+    '$GLOBALS[\'TYPO3_CONF_VARS\'][\'EXT\'][\'allowSystemInstall\']' => [
+        'restFiles' => [
+            'Breaking-82377-OptionToAllowUploadingSystemExtensionsRemoved.rst',
+        ],
+    ],
 ];