[BUGFIX] Remove dependency check on openSSL 18/62918/2
authorBenni Mack <benni@typo3.org>
Wed, 15 Jan 2020 17:41:11 +0000 (18:41 +0100)
committerGeorg Ringer <georg.ringer@gmail.com>
Thu, 16 Jan 2020 10:10:12 +0000 (11:10 +0100)
OpenSSL was only needed for EXT:rsaauth,
so a check in the installer / system maintenance
should be avoided. It is now rather a suggestion.

Resolves: #83643
Releases: master, 9.5
Change-Id: If62b7fc1ddc211083fa8b4f793019e61cf2046eb
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62918
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Steffen Frese <steffenf14@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Steffen Frese <steffenf14@gmail.com>
Reviewed-by: Tobi Kretschmann <tobi@tobishome.de>
Reviewed-by: Jörg Bösche <typo3@joergboesche.de>
Reviewed-by: Felix P. <f.pachowsky@neusta.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
composer.json
composer.lock
typo3/sysext/core/composer.json
typo3/sysext/install/Classes/SystemEnvironment/Check.php

index 80d559b..92dae65 100644 (file)
@@ -86,7 +86,7 @@
                "ext-fileinfo": "Used for proper file type detection in the file abstraction layer",
                "ext-zlib": "TYPO3 uses zlib for amongst others output compression and un/packing t3x extension files",
                "ext-intl": "Used for locale-aware operations",
-               "ext-openssl": "",
+               "ext-openssl": "OpenSSL is required for sending SMTP mails over an encrypted channel endpoint, and for extensions such as \"rsaauth\"",
                "ext-zip": "",
                "ext-mysqli": ""
        },
index 789cc45..4ece61f 100644 (file)
             "authors": [
                 {
                     "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
+                    "role": "lead",
+                    "email": "sebastian@phpunit.de"
                 }
             ],
             "description": "Utility class for timing",
             "authors": [
                 {
                     "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
+                    "role": "lead",
+                    "email": "sebastian@phpunit.de"
                 }
             ],
             "description": "Collection of value objects that represent the types of the PHP type system",
index 11f955f..1f25392 100644 (file)
@@ -64,7 +64,7 @@
                "ext-gd": "GDlib/Freetype is required for building images with text (GIFBUILDER) and can also be used to scale images",
                "ext-intl": "TYPO3 with unicode-based filesystems",
                "ext-mysqli": "",
-               "ext-openssl": "",
+               "ext-openssl": "OpenSSL is required for sending SMTP mails over an encrypted channel endpoint, and for extensions such as \"rsaauth\"",
                "ext-zip": "",
                "ext-zlib": "TYPO3 uses zlib for amongst others output compression and un/packing t3x extension files"
        },
index 0807428..1467691 100644 (file)
@@ -64,7 +64,6 @@ class Check implements CheckInterface
         'hash',
         'json',
         'mysqli',
-        'openssl',
         'session',
         'SPL',
         'standard',
@@ -78,7 +77,8 @@ class Check implements CheckInterface
      */
     protected $suggestedPhpExtensions = [
         'fileinfo' => 'This extension is used for proper file type detection in the File Abstraction Layer.',
-        'intl' => 'This extension is used for correct language and locale handling.'
+        'intl' => 'This extension is used for correct language and locale handling.',
+        'openssl' => 'This extension is used for sending SMTP mails over an encrypted channel endpoint, and for extensions such as "rsaauth".'
     ];
 
     /**
@@ -100,7 +100,6 @@ class Check implements CheckInterface
         $this->checkDocRoot();
         $this->checkOpenBaseDir();
         $this->checkXdebugMaxNestingLevel();
-        $this->checkOpenSslInstalled();
 
         $this->checkMaxInputVars();
         $this->checkReflectionDocComment();
@@ -520,38 +519,6 @@ class Check implements CheckInterface
     }
 
     /**
-     * Check accessibility and functionality of OpenSSL
-     */
-    protected function checkOpenSslInstalled()
-    {
-        if (extension_loaded('openssl')) {
-            $testKey = @openssl_pkey_new();
-            if (is_resource($testKey)) {
-                openssl_free_key($testKey);
-                $this->messageQueue->enqueue(new FlashMessage(
-                    '',
-                    'PHP OpenSSL extension installed properly'
-                ));
-            } else {
-                $this->messageQueue->enqueue(new FlashMessage(
-                    'Something went wrong while trying to create a new private key for testing.'
-                        . ' Please check the integration of the PHP OpenSSL extension and if it is installed correctly.',
-                    'PHP OpenSSL extension not working',
-                    FlashMessage::ERROR
-                ));
-            }
-        } else {
-            $this->messageQueue->enqueue(new FlashMessage(
-                'OpenSSL is a PHP extension to encrypt/decrypt data between requests.'
-                    . ' TYPO3 CMS requires it to be able to encrypt stored passwords to improve the security in the'
-                    . ' database layer.',
-                'PHP OpenSSL extension not loaded',
-                FlashMessage::ERROR
-            ));
-        }
-    }
-
-    /**
      * Get max_input_vars status
      */
     protected function checkMaxInputVars()