diff options
author | dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> | 2022-03-30 01:31:02 +0300 |
---|---|---|
committer | Carl Schwan <carl@carlschwan.eu> | 2022-04-03 14:14:19 +0300 |
commit | b57a003176975ee97b0db830f57feefa7044ebd2 (patch) | |
tree | 98b33972cc325baa8a4be1cdbcd39d2ccd461851 | |
parent | 41d5f9752c7e0f2b690480a38ef5b9dddc357166 (diff) |
Bump guzzlehttp/psr7 from 1.8.3 to 1.8.5
Bumps [guzzlehttp/psr7](https://github.com/guzzle/psr7) from 1.8.3 to 1.8.5.
- [Release notes](https://github.com/guzzle/psr7/releases)
- [Changelog](https://github.com/guzzle/psr7/blob/1.8.5/CHANGELOG.md)
- [Commits](https://github.com/guzzle/psr7/compare/1.8.3...1.8.5)
---
updated-dependencies:
- dependency-name: guzzlehttp/psr7
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
-rw-r--r-- | composer.json | 5 | ||||
-rw-r--r-- | composer.lock | 22 | ||||
-rw-r--r-- | composer/ClassLoader.php | 2 | ||||
-rw-r--r-- | composer/InstalledVersions.php | 2 | ||||
-rw-r--r-- | composer/autoload_classmap.php | 2 | ||||
-rw-r--r-- | composer/autoload_files.php | 8 | ||||
-rw-r--r-- | composer/autoload_namespaces.php | 2 | ||||
-rw-r--r-- | composer/autoload_psr4.php | 2 | ||||
-rw-r--r-- | composer/autoload_real.php | 30 | ||||
-rw-r--r-- | composer/autoload_static.php | 6 | ||||
-rw-r--r-- | composer/include_paths.php | 2 | ||||
-rw-r--r-- | composer/installed.json | 22 | ||||
-rw-r--r-- | composer/installed.php | 10 | ||||
-rw-r--r-- | composer/package-versions-deprecated/src/PackageVersions/Versions.php | 140 | ||||
-rw-r--r-- | guzzlehttp/psr7/CHANGELOG.md | 12 | ||||
-rw-r--r-- | guzzlehttp/psr7/composer.json | 5 | ||||
-rw-r--r-- | guzzlehttp/psr7/src/MessageTrait.php | 66 |
17 files changed, 154 insertions, 184 deletions
diff --git a/composer.json b/composer.json index 22b9b86f..5de38bea 100644 --- a/composer.json +++ b/composer.json @@ -10,7 +10,10 @@ "platform": { "php": "7.3.0" }, - "sort-packages": true + "sort-packages": true, + "allow-plugins": { + "cweagans/composer-patches": true + } }, "require": { "php": "^7.3|^8.0", diff --git a/composer.lock b/composer.lock index 903da6c0..c6d50c8f 100644 --- a/composer.lock +++ b/composer.lock @@ -1426,16 +1426,16 @@ }, { "name": "guzzlehttp/psr7", - "version": "1.8.3", + "version": "1.8.5", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "1afdd860a2566ed3c2b0b4a3de6e23434a79ec85" + "reference": "337e3ad8e5716c15f9657bd214d16cc5e69df268" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/1afdd860a2566ed3c2b0b4a3de6e23434a79ec85", - "reference": "1afdd860a2566ed3c2b0b4a3de6e23434a79ec85", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/337e3ad8e5716c15f9657bd214d16cc5e69df268", + "reference": "337e3ad8e5716c15f9657bd214d16cc5e69df268", "shasum": "" }, "require": { @@ -1460,12 +1460,12 @@ } }, "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, "files": [ "src/functions_include.php" - ] + ], + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1516,7 +1516,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/1.8.3" + "source": "https://github.com/guzzle/psr7/tree/1.8.5" }, "funding": [ { @@ -1532,7 +1532,7 @@ "type": "tidelift" } ], - "time": "2021-10-05T13:56:00+00:00" + "time": "2022-03-20T21:51:18+00:00" }, { "name": "guzzlehttp/uri-template", @@ -6122,5 +6122,5 @@ "platform-overrides": { "php": "7.3.0" }, - "plugin-api-version": "2.1.0" + "plugin-api-version": "2.2.0" } diff --git a/composer/ClassLoader.php b/composer/ClassLoader.php index 0cd6055d..afef3fa2 100644 --- a/composer/ClassLoader.php +++ b/composer/ClassLoader.php @@ -149,7 +149,7 @@ class ClassLoader /** * @return string[] Array of classname => path - * @psalm-var array<string, string> + * @psalm-return array<string, string> */ public function getClassMap() { diff --git a/composer/InstalledVersions.php b/composer/InstalledVersions.php index d50e0c9f..41bc143c 100644 --- a/composer/InstalledVersions.php +++ b/composer/InstalledVersions.php @@ -21,6 +21,8 @@ use Composer\Semver\VersionParser; * See also https://getcomposer.org/doc/07-runtime.md#installed-versions * * To require its presence, you can require `composer-runtime-api ^2.0` + * + * @final */ class InstalledVersions { diff --git a/composer/autoload_classmap.php b/composer/autoload_classmap.php index 86687cfd..7092f706 100644 --- a/composer/autoload_classmap.php +++ b/composer/autoload_classmap.php @@ -2,7 +2,7 @@ // autoload_classmap.php @generated by Composer -$vendorDir = dirname(dirname(__FILE__)); +$vendorDir = dirname(__DIR__); $baseDir = $vendorDir; return array( diff --git a/composer/autoload_files.php b/composer/autoload_files.php index e74b083d..02b06c86 100644 --- a/composer/autoload_files.php +++ b/composer/autoload_files.php @@ -2,17 +2,16 @@ // autoload_files.php @generated by Composer -$vendorDir = dirname(dirname(__FILE__)); +$vendorDir = dirname(__DIR__); $baseDir = $vendorDir; return array( - 'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php', - '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php', '383eaff206634a77a1be54e64e6459c7' => $vendorDir . '/sabre/uri/lib/functions.php', + 'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php', '7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php', 'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php', 'a0edc8309cc5e1d60e3047b5df6b7052' => $vendorDir . '/guzzlehttp/psr7/src/functions_include.php', - '0d59ee240a4cd96ddbb4ff164fccea4d' => $vendorDir . '/symfony/polyfill-php73/bootstrap.php', + '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php', '6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php', 'a4ecaeafb8cfb009ad0e052c90355e98' => $vendorDir . '/beberlei/assert/lib/Assert/functions.php', '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php', @@ -26,6 +25,7 @@ return array( 'f598d06aa772fa33d905e87be6398fb1' => $vendorDir . '/symfony/polyfill-intl-idn/bootstrap.php', 'ebdb698ed4152ae445614b69b5e4bb6a' => $vendorDir . '/sabre/http/lib/functions.php', '320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php', + '0d59ee240a4cd96ddbb4ff164fccea4d' => $vendorDir . '/symfony/polyfill-php73/bootstrap.php', 'b067bc7112e384b61c701452d53a14a8' => $vendorDir . '/mtdowling/jmespath.php/src/JmesPath.php', 'e39a8b23c42d4e1452234d762b03835a' => $vendorDir . '/ramsey/uuid/src/functions.php', 'def43f6c87e4f8dfd0c9e1b1bab14fe8' => $vendorDir . '/symfony/polyfill-iconv/bootstrap.php', diff --git a/composer/autoload_namespaces.php b/composer/autoload_namespaces.php index f0513451..225f7eb6 100644 --- a/composer/autoload_namespaces.php +++ b/composer/autoload_namespaces.php @@ -2,7 +2,7 @@ // autoload_namespaces.php @generated by Composer -$vendorDir = dirname(dirname(__FILE__)); +$vendorDir = dirname(__DIR__); $baseDir = $vendorDir; return array( diff --git a/composer/autoload_psr4.php b/composer/autoload_psr4.php index 30c5203b..518c268b 100644 --- a/composer/autoload_psr4.php +++ b/composer/autoload_psr4.php @@ -2,7 +2,7 @@ // autoload_psr4.php @generated by Composer -$vendorDir = dirname(dirname(__FILE__)); +$vendorDir = dirname(__DIR__); $baseDir = $vendorDir; return array( diff --git a/composer/autoload_real.php b/composer/autoload_real.php index 51e19b2d..5ed00812 100644 --- a/composer/autoload_real.php +++ b/composer/autoload_real.php @@ -25,33 +25,20 @@ class ComposerAutoloaderInit2f23f73bc0cc116b4b1eee1521aa8652 require __DIR__ . '/platform_check.php'; spl_autoload_register(array('ComposerAutoloaderInit2f23f73bc0cc116b4b1eee1521aa8652', 'loadClassLoader'), true, true); - self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__))); + self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); spl_autoload_unregister(array('ComposerAutoloaderInit2f23f73bc0cc116b4b1eee1521aa8652', 'loadClassLoader')); $includePaths = require __DIR__ . '/include_paths.php'; $includePaths[] = get_include_path(); set_include_path(implode(PATH_SEPARATOR, $includePaths)); - $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); - if ($useStaticLoader) { - require __DIR__ . '/autoload_static.php'; - - call_user_func(\Composer\Autoload\ComposerStaticInit2f23f73bc0cc116b4b1eee1521aa8652::getInitializer($loader)); - } else { - $classMap = require __DIR__ . '/autoload_classmap.php'; - if ($classMap) { - $loader->addClassMap($classMap); - } - } + require __DIR__ . '/autoload_static.php'; + \Composer\Autoload\ComposerStaticInit2f23f73bc0cc116b4b1eee1521aa8652::getInitializer($loader)(); $loader->setClassMapAuthoritative(true); $loader->register(true); - if ($useStaticLoader) { - $includeFiles = Composer\Autoload\ComposerStaticInit2f23f73bc0cc116b4b1eee1521aa8652::$files; - } else { - $includeFiles = require __DIR__ . '/autoload_files.php'; - } + $includeFiles = \Composer\Autoload\ComposerStaticInit2f23f73bc0cc116b4b1eee1521aa8652::$files; foreach ($includeFiles as $fileIdentifier => $file) { composerRequire2f23f73bc0cc116b4b1eee1521aa8652($fileIdentifier, $file); } @@ -60,11 +47,16 @@ class ComposerAutoloaderInit2f23f73bc0cc116b4b1eee1521aa8652 } } +/** + * @param string $fileIdentifier + * @param string $file + * @return void + */ function composerRequire2f23f73bc0cc116b4b1eee1521aa8652($fileIdentifier, $file) { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { - require $file; - $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; + + require $file; } } diff --git a/composer/autoload_static.php b/composer/autoload_static.php index bdc89eb3..94aa4916 100644 --- a/composer/autoload_static.php +++ b/composer/autoload_static.php @@ -7,13 +7,12 @@ namespace Composer\Autoload; class ComposerStaticInit2f23f73bc0cc116b4b1eee1521aa8652 { public static $files = array ( - 'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php', - '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', '383eaff206634a77a1be54e64e6459c7' => __DIR__ . '/..' . '/sabre/uri/lib/functions.php', + 'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php', '7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php', 'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php', 'a0edc8309cc5e1d60e3047b5df6b7052' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/functions_include.php', - '0d59ee240a4cd96ddbb4ff164fccea4d' => __DIR__ . '/..' . '/symfony/polyfill-php73/bootstrap.php', + '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', '6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php', 'a4ecaeafb8cfb009ad0e052c90355e98' => __DIR__ . '/..' . '/beberlei/assert/lib/Assert/functions.php', '37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php', @@ -27,6 +26,7 @@ class ComposerStaticInit2f23f73bc0cc116b4b1eee1521aa8652 'f598d06aa772fa33d905e87be6398fb1' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/bootstrap.php', 'ebdb698ed4152ae445614b69b5e4bb6a' => __DIR__ . '/..' . '/sabre/http/lib/functions.php', '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php', + '0d59ee240a4cd96ddbb4ff164fccea4d' => __DIR__ . '/..' . '/symfony/polyfill-php73/bootstrap.php', 'b067bc7112e384b61c701452d53a14a8' => __DIR__ . '/..' . '/mtdowling/jmespath.php/src/JmesPath.php', 'e39a8b23c42d4e1452234d762b03835a' => __DIR__ . '/..' . '/ramsey/uuid/src/functions.php', 'def43f6c87e4f8dfd0c9e1b1bab14fe8' => __DIR__ . '/..' . '/symfony/polyfill-iconv/bootstrap.php', diff --git a/composer/include_paths.php b/composer/include_paths.php index e7d0ea32..8c87e2c2 100644 --- a/composer/include_paths.php +++ b/composer/include_paths.php @@ -2,7 +2,7 @@ // include_paths.php @generated by Composer -$vendorDir = dirname(dirname(__FILE__)); +$vendorDir = dirname(__DIR__); $baseDir = $vendorDir; return array( diff --git a/composer/installed.json b/composer/installed.json index b2167da5..a7d07aa9 100644 --- a/composer/installed.json +++ b/composer/installed.json @@ -1480,17 +1480,17 @@ }, { "name": "guzzlehttp/psr7", - "version": "1.8.3", - "version_normalized": "1.8.3.0", + "version": "1.8.5", + "version_normalized": "1.8.5.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "1afdd860a2566ed3c2b0b4a3de6e23434a79ec85" + "reference": "337e3ad8e5716c15f9657bd214d16cc5e69df268" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/1afdd860a2566ed3c2b0b4a3de6e23434a79ec85", - "reference": "1afdd860a2566ed3c2b0b4a3de6e23434a79ec85", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/337e3ad8e5716c15f9657bd214d16cc5e69df268", + "reference": "337e3ad8e5716c15f9657bd214d16cc5e69df268", "shasum": "" }, "require": { @@ -1508,7 +1508,7 @@ "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" }, - "time": "2021-10-05T13:56:00+00:00", + "time": "2022-03-20T21:51:18+00:00", "type": "library", "extra": { "branch-alias": { @@ -1517,12 +1517,12 @@ }, "installation-source": "dist", "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, "files": [ "src/functions_include.php" - ] + ], + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1573,7 +1573,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/1.8.3" + "source": "https://github.com/guzzle/psr7/tree/1.8.5" }, "funding": [ { diff --git a/composer/installed.php b/composer/installed.php index 02c48f72..d863325e 100644 --- a/composer/installed.php +++ b/composer/installed.php @@ -5,7 +5,7 @@ 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), - 'reference' => 'f6e3fb0265ac03394420525b26ab7f306ae373d5', + 'reference' => '609d7c54d2b9a6e39e7ec1e19a126fa3011a624a', 'name' => 'nextcloud/3rdparty', 'dev' => false, ), @@ -191,12 +191,12 @@ 'dev_requirement' => false, ), 'guzzlehttp/psr7' => array( - 'pretty_version' => '1.8.3', - 'version' => '1.8.3.0', + 'pretty_version' => '1.8.5', + 'version' => '1.8.5.0', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/psr7', 'aliases' => array(), - 'reference' => '1afdd860a2566ed3c2b0b4a3de6e23434a79ec85', + 'reference' => '337e3ad8e5716c15f9657bd214d16cc5e69df268', 'dev_requirement' => false, ), 'guzzlehttp/uri-template' => array( @@ -286,7 +286,7 @@ 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), - 'reference' => 'f6e3fb0265ac03394420525b26ab7f306ae373d5', + 'reference' => '609d7c54d2b9a6e39e7ec1e19a126fa3011a624a', 'dev_requirement' => false, ), 'nextcloud/lognormalizer' => array( diff --git a/composer/package-versions-deprecated/src/PackageVersions/Versions.php b/composer/package-versions-deprecated/src/PackageVersions/Versions.php index eb5b6d65..9cbf1877 100644 --- a/composer/package-versions-deprecated/src/PackageVersions/Versions.php +++ b/composer/package-versions-deprecated/src/PackageVersions/Versions.php @@ -6,16 +6,17 @@ namespace PackageVersions; use Composer\InstalledVersions; use OutOfBoundsException; +use UnexpectedValueException; class_exists(InstalledVersions::class); /** - * This class is generated by composer/package-versions-deprecated, specifically by - * @see \PackageVersions\Installer + * This is a stub class: it is in place only for scenarios where PackageVersions + * is installed with a `--no-scripts` flag, in which scenarios the Versions class + * is not being replaced. * - * This file is overwritten at every run of `composer install` or `composer update`. - * - * @deprecated in favor of the Composer\InstalledVersions class provided by Composer 2. Require composer-runtime-api:^2 to ensure it is present. + * If you are reading this docBlock inside your `vendor/` dir, then this means + * that PackageVersions didn't correctly install, and is in "fallback" mode. */ final class Versions { @@ -23,105 +24,10 @@ final class Versions * @deprecated please use {@see self::rootPackageName()} instead. * This constant will be removed in version 2.0.0. */ - const ROOT_PACKAGE_NAME = 'nextcloud/3rdparty'; + const ROOT_PACKAGE_NAME = 'unknown/root-package@UNKNOWN'; - /** - * Array of all available composer packages. - * Dont read this array from your calling code, but use the \PackageVersions\Versions::getVersion() method instead. - * - * @var array<string, string> - * @internal - */ - const VERSIONS = array ( - 'aws/aws-sdk-php' => '3.184.6@0b7187c96ced465d400ad9427157e05ddee68edc', - 'bantu/ini-get-wrapper' => 'v1.0.1@4770c7feab370c62e23db4f31c112b7c6d90aee2', - 'beberlei/assert' => 'v3.3.1@5e721d7e937ca3ba2cdec1e1adf195f9e5188372', - 'brick/math' => '0.9.2@dff976c2f3487d42c1db75a3b180e2b9f0e72ce0', - 'christophwurst/id3parser' => 'v0.1.4@050c9d81ea89b0cf53e23a27efc4e1840f9ab260', - 'composer/package-versions-deprecated' => '1.11.99.4@b174585d1fe49ceed21928a945138948cb394600', - 'cweagans/composer-patches' => '1.7.1@9888dcc74993c030b75f3dd548bb5e20cdbd740c', - 'deepdiver/zipstreamer' => '2.0.0@b8c59647ff34fb97e8937aefb2a65de2bc4b4755', - 'deepdiver1975/tarstreamer' => '2.0.0@ad48505d1ab54a8e94e6b1cc5297bbed72e956de', - 'doctrine/cache' => '2.1.1@331b4d5dbaeab3827976273e9356b3b453c300ce', - 'doctrine/dbal' => '3.1.4@821b4f01a36ce63ed36c090ea74767b72db367e9', - 'doctrine/deprecations' => 'v0.5.3@9504165960a1f83cc1480e2be1dd0a0478561314', - 'doctrine/event-manager' => '1.1.1@41370af6a30faa9dc0368c4a6814d596e81aba7f', - 'doctrine/lexer' => '1.2.1@e864bbf5904cb8f5bb334f99209b48018522f042', - 'egulias/email-validator' => '3.1.1@c81f18a3efb941d8c4d2e025f6183b5c6d697307', - 'fgrosse/phpasn1' => 'v2.3.0@20299033c35f4300eb656e7e8e88cf52d1d6694e', - 'giggsey/libphonenumber-for-php' => '8.12.38@0a6293c57de9256f4bd0d673280fbfbfd1e47533', - 'giggsey/locale' => '2.1@8d324583b5899e6280a875c43bf1fc9658bc6962', - 'guzzlehttp/guzzle' => '7.4.0@868b3571a039f0ebc11ac8f344f4080babe2cb94', - 'guzzlehttp/promises' => '1.5.1@fe752aedc9fd8fcca3fe7ad05d419d32998a06da', - 'guzzlehttp/psr7' => '1.8.3@1afdd860a2566ed3c2b0b4a3de6e23434a79ec85', - 'guzzlehttp/uri-template' => 'v0.2.0@db46525d6d8fee71033b73cc07160f3e5271a8ce', - 'icewind/searchdav' => 'v2.0.0@c69806d900c2c9a5954bfabc80178d6eb0d63df4', - 'icewind/streams' => 'v0.7.5@0c6aae16ebdadb257f0bd089c1e1e4cf5e20ddc2', - 'justinrainbow/json-schema' => '5.2.10@2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b', - 'league/uri' => '6.4.0@09da64118eaf4c5d52f9923a1e6a5be1da52fd9a', - 'league/uri-interfaces' => '2.2.0@667f150e589d65d79c89ffe662e426704f84224f', - 'microsoft/azure-storage-blob' => '1.5.2@2475330963372d519387cb8135d6a9cfd42272da', - 'microsoft/azure-storage-common' => '1.5.1@e5738035891546075bd369954e8af121d65ebd6d', - 'mtdowling/jmespath.php' => '2.6.1@9b87907a81b87bc76d19a7fb2d61e61486ee9edb', - 'nextcloud/lognormalizer' => 'v1.0.0@87445d69225c247aaff64643b1fc83c6d6df741f', - 'nikic/php-parser' => 'v4.10.5@4432ba399e47c66624bc73c8c0f811e5c109576f', - 'opis/closure' => '3.6.2@06e2ebd25f2869e54a306dda991f7db58066f7f6', - 'pear/archive_tar' => '1.4.14@4d761c5334c790e45ef3245f0864b8955c562caa', - 'pear/console_getopt' => 'v1.4.3@a41f8d3e668987609178c7c4a9fe48fecac53fa0', - 'pear/pear-core-minimal' => 'v1.10.10@625a3c429d9b2c1546438679074cac1b089116a7', - 'pear/pear_exception' => 'v1.0.2@b14fbe2ddb0b9f94f5b24cf08783d599f776fff0', - 'php-ds/php-ds' => 'v1.3.0@b98396862fb8a13cbdbbaf4d18be28ee5c01ed3c', - 'php-http/guzzle7-adapter' => '1.0.0@fb075a71dbfa4847cf0c2938c4e5a9c478ef8b01', - 'php-http/httplug' => '2.2.0@191a0a1b41ed026b717421931f8d3bd2514ffbf9', - 'php-http/promise' => '1.1.0@4c4c1f9b7289a2ec57cde7f1e9762a5789506f88', - 'php-opencloud/openstack' => 'v3.1.0@7b0eeb63defe533fb802514af3c70855c45eaf1e', - 'phpseclib/phpseclib' => '2.0.32@f5c4c19880d45d0be3e7d24ae8ac434844a898cd', - 'pimple/pimple' => 'v3.5.0@a94b3a4db7fb774b3d78dad2315ddc07629e1bed', - 'psr/container' => '1.1.1@8622567409010282b7aeebe4bb841fe98b58dcaf', - 'psr/event-dispatcher' => '1.0.0@dbefd12671e8a14ec7f180cab83036ed26714bb0', - 'psr/http-client' => '1.0.1@2dfb5f6c5eff0e91e20e913f8c5452ed95b86621', - 'psr/http-factory' => '1.0.1@12ac7fcd07e5b077433f5f2bee95b3a771bf61be', - 'psr/http-message' => '1.0.1@f6561bf28d520154e4b0ec72be95418abe6d9363', - 'psr/log' => '1.1.4@d49695b909c3b7628b6289db5479a1c204601f11', - 'punic/punic' => '1.6.5@7bc85ce1137cf52db4d2a6298256a4c4a24da99a', - 'ralouphie/getallheaders' => '3.0.3@120b605dfeb996808c31b6477290a714d356e822', - 'ramsey/collection' => '1.1.3@28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1', - 'ramsey/uuid' => '4.1.1@cd4032040a750077205918c86049aa0f43d22947', - 'sabre/dav' => '4.2.1@5e651f9ddc2b05745f5b28cd697c8e8c6a0b6146', - 'sabre/event' => '5.1.4@d7da22897125d34d7eddf7977758191c06a74497', - 'sabre/http' => '5.1.3@315f592adfcba8aeb73c2fd64285205747acbbd7', - 'sabre/uri' => '2.2.2@7cb0f489578afad5006e85cd60f18ff33f2d440d', - 'sabre/vobject' => '4.4.1@06feff370141fd3118609f808e86d9315864bf14', - 'sabre/xml' => '2.2.5@a6af111850e7536d200d9637c34885cd3c77a86c', - 'scssphp/scssphp' => 'v1.8.1@5e37759a63caf54392a4b709358a39ac7425a69f', - 'spomky-labs/base64url' => 'v2.0.4@7752ce931ec285da4ed1f4c5aa27e45e097be61d', - 'spomky-labs/cbor-php' => 'v2.0.1@9776578000be884cd7864eeb7c37a4ac92d8c995', - 'stecman/symfony-console-completion' => '0.11.0@a9502dab59405e275a9f264536c4e1cb61fc3518', - 'swiftmailer/swiftmailer' => 'v6.2.7@15f7faf8508e04471f666633addacf54c0ab5933', - 'symfony/console' => 'v4.4.30@a3f7189a0665ee33b50e9e228c46f50f5acbed22', - 'symfony/deprecation-contracts' => 'v2.5.0@6f981ee24cf69ee7ce9736146d1c57c2780598a8', - 'symfony/event-dispatcher' => 'v4.4.30@2fe81680070043c4c80e7cedceb797e34f377bac', - 'symfony/event-dispatcher-contracts' => 'v1.1.9@84e23fdcd2517bf37aecbd16967e83f0caee25a7', - 'symfony/polyfill-ctype' => 'v1.23.0@46cd95797e9df938fdd2b03693b5fca5e64b01ce', - 'symfony/polyfill-iconv' => 'v1.23.0@63b5bb7db83e5673936d6e3b8b3e022ff6474933', - 'symfony/polyfill-intl-grapheme' => 'v1.23.1@16880ba9c5ebe3642d1995ab866db29270b36535', - 'symfony/polyfill-intl-idn' => 'v1.23.0@65bd267525e82759e7d8c4e8ceea44f398838e65', - 'symfony/polyfill-intl-normalizer' => 'v1.23.0@8590a5f561694770bdcd3f9b5c69dde6945028e8', - 'symfony/polyfill-mbstring' => 'v1.23.1@9174a3d80210dca8daa7f31fec659150bbeabfc6', - 'symfony/polyfill-php72' => 'v1.23.0@9a142215a36a3888e30d0a9eeea9766764e96976', - 'symfony/polyfill-php73' => 'v1.23.0@fba8933c384d6476ab14fb7b8526e5287ca7e010', - 'symfony/polyfill-php80' => 'v1.23.1@1100343ed1a92e3a38f9ae122fc0eb21602547be', - 'symfony/process' => 'v4.4.30@13d3161ef63a8ec21eeccaaf9a4d7f784a87a97d', - 'symfony/routing' => 'v4.4.30@9ddf033927ad9f30ba2bfd167a7b342cafa13e8e', - 'symfony/service-contracts' => 'v2.4.0@f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb', - 'symfony/translation' => 'v4.4.30@db0ba1e85280d8ff11e38d53c70f8814d4d740f5', - 'symfony/translation-contracts' => 'v2.4.0@95c812666f3e91db75385749fe219c5e494c7f95', - 'thecodingmachine/safe' => 'v1.3.3@a8ab0876305a4cdaef31b2350fcb9811b5608dbc', - 'web-auth/cose-lib' => 'v3.3.9@ed172d2dc1a6b87b5c644c07c118cd30c1b3819b', - 'web-auth/metadata-service' => 'v3.3.9@8488d3a832a38cc81c670fce05de1e515c6e64b1', - 'web-auth/webauthn-lib' => 'v3.3.9@04b98ee3d39cb79dad68a7c15c297c085bf66bfe', - 'nextcloud/3rdparty' => 'dev-master@f6e3fb0265ac03394420525b26ab7f306ae373d5', -); + /** @internal */ + const VERSIONS = []; private function __construct() { @@ -135,7 +41,7 @@ final class Versions */ public static function rootPackageName() : string { - if (!self::composer2ApiUsable()) { + if (!class_exists(InstalledVersions::class, false) || !InstalledVersions::getRawData()) { return self::ROOT_PACKAGE_NAME; } @@ -143,28 +49,24 @@ final class Versions } /** - * @throws OutOfBoundsException If a version cannot be located. - * - * @psalm-param key-of<self::VERSIONS> $packageName - * @psalm-pure - * - * @psalm-suppress ImpureMethodCall we know that {@see InstalledVersions} interaction does not - * cause any side effects here. + * @throws OutOfBoundsException if a version cannot be located. + * @throws UnexpectedValueException if the composer.lock file could not be located. */ public static function getVersion(string $packageName): string { - if (self::composer2ApiUsable()) { - return InstalledVersions::getPrettyVersion($packageName) - . '@' . InstalledVersions::getReference($packageName); + if (!self::composer2ApiUsable()) { + return FallbackVersions::getVersion($packageName); } - if (isset(self::VERSIONS[$packageName])) { - return self::VERSIONS[$packageName]; + /** @psalm-suppress DeprecatedConstant */ + if ($packageName === self::ROOT_PACKAGE_NAME) { + $rootPackage = InstalledVersions::getRootPackage(); + + return $rootPackage['pretty_version'] . '@' . $rootPackage['reference']; } - throw new OutOfBoundsException( - 'Required package "' . $packageName . '" is not installed: check your ./vendor/composer/installed.json and/or ./composer.lock files' - ); + return InstalledVersions::getPrettyVersion($packageName) + . '@' . InstalledVersions::getReference($packageName); } private static function composer2ApiUsable(): bool diff --git a/guzzlehttp/psr7/CHANGELOG.md b/guzzlehttp/psr7/CHANGELOG.md index f40736c4..f177f583 100644 --- a/guzzlehttp/psr7/CHANGELOG.md +++ b/guzzlehttp/psr7/CHANGELOG.md @@ -9,6 +9,18 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## Unreleased +## 1.8.5 - 2022-03-20 + +### Fixed + +- Correct header value validation + +## 1.8.4 - 2022-03-20 + +### Fixed + +- Validate header values properly + ## 1.8.3 - 2021-10-05 ### Fixed diff --git a/guzzlehttp/psr7/composer.json b/guzzlehttp/psr7/composer.json index bfa7cfdc..7ecdc8ba 100644 --- a/guzzlehttp/psr7/composer.json +++ b/guzzlehttp/psr7/composer.json @@ -68,6 +68,9 @@ }, "config": { "preferred-install": "dist", - "sort-packages": true + "sort-packages": true, + "allow-plugins": { + "bamarni/composer-bin-plugin": true + } } } diff --git a/guzzlehttp/psr7/src/MessageTrait.php b/guzzlehttp/psr7/src/MessageTrait.php index 99203bb4..0ac8663d 100644 --- a/guzzlehttp/psr7/src/MessageTrait.php +++ b/guzzlehttp/psr7/src/MessageTrait.php @@ -157,17 +157,22 @@ trait MessageTrait } } + /** + * @param mixed $value + * + * @return string[] + */ private function normalizeHeaderValue($value) { if (!is_array($value)) { - return $this->trimHeaderValues([$value]); + return $this->trimAndValidateHeaderValues([$value]); } if (count($value) === 0) { throw new \InvalidArgumentException('Header value can not be an empty array.'); } - return $this->trimHeaderValues($value); + return $this->trimAndValidateHeaderValues($value); } /** @@ -178,13 +183,13 @@ trait MessageTrait * header-field = field-name ":" OWS field-value OWS * OWS = *( SP / HTAB ) * - * @param string[] $values Header values + * @param mixed[] $values Header values * * @return string[] Trimmed header values * * @see https://tools.ietf.org/html/rfc7230#section-3.2.4 */ - private function trimHeaderValues(array $values) + private function trimAndValidateHeaderValues(array $values) { return array_map(function ($value) { if (!is_scalar($value) && null !== $value) { @@ -194,10 +199,20 @@ trait MessageTrait )); } - return trim((string) $value, " \t"); + $trimmed = trim((string) $value, " \t"); + $this->assertValue($trimmed); + + return $trimmed; }, array_values($values)); } + /** + * @see https://tools.ietf.org/html/rfc7230#section-3.2 + * + * @param mixed $header + * + * @return void + */ private function assertHeader($header) { if (!is_string($header)) { @@ -210,5 +225,46 @@ trait MessageTrait if ($header === '') { throw new \InvalidArgumentException('Header name can not be empty.'); } + + if (! preg_match('/^[a-zA-Z0-9\'`#$%&*+.^_|~!-]+$/', $header)) { + throw new \InvalidArgumentException( + sprintf( + '"%s" is not valid header name', + $header + ) + ); + } + } + + /** + * @param string $value + * + * @return void + * + * @see https://tools.ietf.org/html/rfc7230#section-3.2 + * + * field-value = *( field-content / obs-fold ) + * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ] + * field-vchar = VCHAR / obs-text + * VCHAR = %x21-7E + * obs-text = %x80-FF + * obs-fold = CRLF 1*( SP / HTAB ) + */ + private function assertValue($value) + { + // The regular expression intentionally does not support the obs-fold production, because as + // per RFC 7230#3.2.4: + // + // A sender MUST NOT generate a message that includes + // line folding (i.e., that has any field-value that contains a match to + // the obs-fold rule) unless the message is intended for packaging + // within the message/http media type. + // + // Clients must not send a request with line folding and a server sending folded headers is + // likely very rare. Line folding is a fairly obscure feature of HTTP/1.1 and thus not accepting + // folding is not likely to break any legitimate use case. + if (! preg_match('/^[\x20\x09\x21-\x7E\x80-\xFF]*$/', $value)) { + throw new \InvalidArgumentException(sprintf('"%s" is not valid header value', $value)); + } } } |