diff --git a/typo3/sysext/core/Configuration/DefaultConfiguration.php b/typo3/sysext/core/Configuration/DefaultConfiguration.php index ae74ded3a5aa453ff27bb75f287f30c5f8fb8fa2..01b4d1e90818414710d998e5f4fc0431a07beda7 100644 --- a/typo3/sysext/core/Configuration/DefaultConfiguration.php +++ b/typo3/sysext/core/Configuration/DefaultConfiguration.php @@ -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([ diff --git a/typo3/sysext/core/Configuration/DefaultConfigurationDescription.yaml b/typo3/sysext/core/Configuration/DefaultConfigurationDescription.yaml index 6578bd2ac43f3e58fa15d7e650c91a01660d0a88..d8aaad8139572a0be79826f0e591025588b51312 100644 --- a/typo3/sysext/core/Configuration/DefaultConfigurationDescription.yaml +++ b/typo3/sysext/core/Configuration/DefaultConfigurationDescription.yaml @@ -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 index 0000000000000000000000000000000000000000..945415384f4a4aba2cf1173c16c344a235efeb49 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/master/Breaking-82377-OptionToAllowUploadingSystemExtensionsRemoved.rst @@ -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 diff --git a/typo3/sysext/extensionmanager/Classes/Domain/Model/Extension.php b/typo3/sysext/extensionmanager/Classes/Domain/Model/Extension.php index 0d8a595e3ff457c530d4989fbaa6f448cc15e6f6..7628d16d359777b6e0cb0521d1831f27f52d1b57 100644 --- a/typo3/sysext/extensionmanager/Classes/Domain/Model/Extension.php +++ b/typo3/sysext/extensionmanager/Classes/Domain/Model/Extension.php @@ -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']); } diff --git a/typo3/sysext/install/Classes/Service/SilentConfigurationUpgradeService.php b/typo3/sysext/install/Classes/Service/SilentConfigurationUpgradeService.php index 028cc33ed75868bfd49da201f804f9fd2b7f45b4..66febc9ed4b5a39c3903f7ee8193f61d228078e0 100644 --- a/typo3/sysext/install/Classes/Service/SilentConfigurationUpgradeService.php +++ b/typo3/sysext/install/Classes/Service/SilentConfigurationUpgradeService.php @@ -100,6 +100,8 @@ class SilentConfigurationUpgradeService // #82162 'SYS/enable_errorDLOG', 'SYS/enable_exceptionDLOG', + // #82377 + 'EXT/allowSystemInstall', ]; public function __construct(ConfigurationManager $configurationManager = null) diff --git a/typo3/sysext/install/Configuration/ExtensionScanner/Php/ArrayDimensionMatcher.php b/typo3/sysext/install/Configuration/ExtensionScanner/Php/ArrayDimensionMatcher.php index b6d0b5bed71dcc01465fd37c39a7cabc481a7ae3..aca7d122c0b53575b950800b14f0858a7223507e 100644 --- a/typo3/sysext/install/Configuration/ExtensionScanner/Php/ArrayDimensionMatcher.php +++ b/typo3/sysext/install/Configuration/ExtensionScanner/Php/ArrayDimensionMatcher.php @@ -69,4 +69,9 @@ return [ 'Deprecation-82254-DeprecateGLOBALSTYPO3_CONF_VARSEXTextConf.rst', ], ], + '$GLOBALS[\'TYPO3_CONF_VARS\'][\'EXT\'][\'allowSystemInstall\']' => [ + 'restFiles' => [ + 'Breaking-82377-OptionToAllowUploadingSystemExtensionsRemoved.rst', + ], + ], ];