diff --git a/src/Composer/Command/SelfUpdateCommand.php b/src/Composer/Command/SelfUpdateCommand.php index 3782a5c62..8c300e117 100644 --- a/src/Composer/Command/SelfUpdateCommand.php +++ b/src/Composer/Command/SelfUpdateCommand.php @@ -56,9 +56,18 @@ EOT protected function execute(InputInterface $input, OutputInterface $output) { - $baseUrl = (extension_loaded('openssl') ? 'https' : 'http') . '://' . self::HOMEPAGE; - $remoteFilesystem = new RemoteFilesystem($this->getIO()); $config = Factory::createConfig(); + if (!extension_loaded('openssl')) { + $output->writeln('The openssl extension is required for SSL/TLS protection.'); + $output->writeln('You can disable this error, at your own risk, by setting the \'disable-tls\' option to "false".'); + return 1; + } elseif($config->get('disable-tls') === true) { + $output->writeln('You are running Composer with SSL/TLS protection disabled.'); + $baseUrl = 'http://' . self::HOMEPAGE; + } else { + $baseUrl = 'https://' . self::HOMEPAGE; + } + $remoteFilesystem = new RemoteFilesystem($this->getIO()); $cacheDir = $config->get('cache-dir'); $rollbackDir = $config->get('home'); $localFilename = realpath($_SERVER['argv'][0]) ?: $_SERVER['argv'][0];