From 3821e1209b377f77bbd3f16ec7911c4c0a100948 Mon Sep 17 00:00:00 2001 From: Carl Schwan Date: Fri, 24 Jun 2022 15:47:27 +0200 Subject: [PATCH] [stable24] Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5 Signed-off-by: Carl Schwan --- composer.lock | 38 ++-- composer/InstalledVersions.php | 14 +- composer/autoload_classmap.php | 1 + composer/autoload_static.php | 1 + composer/installed.json | 42 ++-- composer/installed.php | 188 +++++++++--------- guzzlehttp/guzzle/src/Cookie/CookieJar.php | 5 + guzzlehttp/guzzle/src/Cookie/SetCookie.php | 6 +- .../guzzle/src/Exception/RequestException.php | 2 +- .../guzzle/src/Handler/CurlMultiHandler.php | 8 +- .../guzzle/src/Handler/StreamHandler.php | 9 +- guzzlehttp/guzzle/src/MessageFormatter.php | 2 +- guzzlehttp/guzzle/src/RedirectMiddleware.php | 26 ++- .../vendor-bin/php-cs-fixer/composer.json | 9 - .../guzzle/vendor-bin/phpstan/composer.json | 10 - .../guzzle/vendor-bin/psalm/composer.json | 9 - guzzlehttp/psr7/CHANGELOG.md | 10 +- guzzlehttp/psr7/README.md | 24 ++- guzzlehttp/psr7/composer.json | 2 +- guzzlehttp/psr7/src/UriComparator.php | 55 +++++ 20 files changed, 273 insertions(+), 188 deletions(-) delete mode 100644 guzzlehttp/guzzle/vendor-bin/php-cs-fixer/composer.json delete mode 100644 guzzlehttp/guzzle/vendor-bin/phpstan/composer.json delete mode 100644 guzzlehttp/guzzle/vendor-bin/psalm/composer.json create mode 100644 guzzlehttp/psr7/src/UriComparator.php diff --git a/composer.lock b/composer.lock index a03c64d62..8ae606d14 100644 --- a/composer.lock +++ b/composer.lock @@ -1218,25 +1218,25 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.4.0", + "version": "7.4.5", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "868b3571a039f0ebc11ac8f344f4080babe2cb94" + "reference": "1dd98b0564cb3f6bd16ce683cb755f94c10fbd82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/868b3571a039f0ebc11ac8f344f4080babe2cb94", - "reference": "868b3571a039f0ebc11ac8f344f4080babe2cb94", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/1dd98b0564cb3f6bd16ce683cb755f94c10fbd82", + "reference": "1dd98b0564cb3f6bd16ce683cb755f94c10fbd82", "shasum": "" }, "require": { "ext-json": "*", "guzzlehttp/promises": "^1.5", - "guzzlehttp/psr7": "^1.8.3 || ^2.1", + "guzzlehttp/psr7": "^1.9 || ^2.4", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", - "symfony/deprecation-contracts": "^2.2" + "symfony/deprecation-contracts": "^2.2 || ^3.0" }, "provide": { "psr/http-client-implementation": "1.0" @@ -1260,12 +1260,12 @@ } }, "autoload": { - "psr-4": { - "GuzzleHttp\\": "src/" - }, "files": [ "src/functions_include.php" - ] + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1322,7 +1322,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.4.0" + "source": "https://github.com/guzzle/guzzle/tree/7.4.5" }, "funding": [ { @@ -1338,7 +1338,7 @@ "type": "tidelift" } ], - "time": "2021-10-18T09:52:00+00:00" + "time": "2022-06-20T22:16:13+00:00" }, { "name": "guzzlehttp/promises", @@ -1426,16 +1426,16 @@ }, { "name": "guzzlehttp/psr7", - "version": "1.8.5", + "version": "1.9.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "337e3ad8e5716c15f9657bd214d16cc5e69df268" + "reference": "e98e3e6d4f86621a9b75f623996e6bbdeb4b9318" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/337e3ad8e5716c15f9657bd214d16cc5e69df268", - "reference": "337e3ad8e5716c15f9657bd214d16cc5e69df268", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/e98e3e6d4f86621a9b75f623996e6bbdeb4b9318", + "reference": "e98e3e6d4f86621a9b75f623996e6bbdeb4b9318", "shasum": "" }, "require": { @@ -1456,7 +1456,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7-dev" + "dev-master": "1.9-dev" } }, "autoload": { @@ -1516,7 +1516,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/1.8.5" + "source": "https://github.com/guzzle/psr7/tree/1.9.0" }, "funding": [ { @@ -1532,7 +1532,7 @@ "type": "tidelift" } ], - "time": "2022-03-20T21:51:18+00:00" + "time": "2022-06-20T21:43:03+00:00" }, { "name": "guzzlehttp/uri-template", diff --git a/composer/InstalledVersions.php b/composer/InstalledVersions.php index 41bc143c1..c6b54af7b 100644 --- a/composer/InstalledVersions.php +++ b/composer/InstalledVersions.php @@ -28,7 +28,7 @@ class InstalledVersions { /** * @var mixed[]|null - * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array}|array{}|null + * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array}|array{}|null */ private static $installed; @@ -39,7 +39,7 @@ class InstalledVersions /** * @var array[] - * @psalm-var array}> + * @psalm-var array}> */ private static $installedByVendor = array(); @@ -243,7 +243,7 @@ public static function getInstallPath($packageName) /** * @return array - * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string} + * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool} */ public static function getRootPackage() { @@ -257,7 +257,7 @@ public static function getRootPackage() * * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect. * @return array[] - * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} + * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} */ public static function getRawData() { @@ -280,7 +280,7 @@ public static function getRawData() * Returns the raw data of all installed.php which are currently loaded for custom implementations * * @return array[] - * @psalm-return list}> + * @psalm-return list}> */ public static function getAllRawData() { @@ -303,7 +303,7 @@ public static function getAllRawData() * @param array[] $data A vendor/composer/installed.php data set * @return void * - * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} $data + * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $data */ public static function reload($data) { @@ -313,7 +313,7 @@ public static function reload($data) /** * @return array[] - * @psalm-return list}> + * @psalm-return list}> */ private static function getInstalled() { diff --git a/composer/autoload_classmap.php b/composer/autoload_classmap.php index 7092f706a..ac3cf9595 100644 --- a/composer/autoload_classmap.php +++ b/composer/autoload_classmap.php @@ -1409,6 +1409,7 @@ 'GuzzleHttp\\Psr7\\StreamWrapper' => $vendorDir . '/guzzlehttp/psr7/src/StreamWrapper.php', 'GuzzleHttp\\Psr7\\UploadedFile' => $vendorDir . '/guzzlehttp/psr7/src/UploadedFile.php', 'GuzzleHttp\\Psr7\\Uri' => $vendorDir . '/guzzlehttp/psr7/src/Uri.php', + 'GuzzleHttp\\Psr7\\UriComparator' => $vendorDir . '/guzzlehttp/psr7/src/UriComparator.php', 'GuzzleHttp\\Psr7\\UriNormalizer' => $vendorDir . '/guzzlehttp/psr7/src/UriNormalizer.php', 'GuzzleHttp\\Psr7\\UriResolver' => $vendorDir . '/guzzlehttp/psr7/src/UriResolver.php', 'GuzzleHttp\\Psr7\\Utils' => $vendorDir . '/guzzlehttp/psr7/src/Utils.php', diff --git a/composer/autoload_static.php b/composer/autoload_static.php index 94aa49168..ac1dd778a 100644 --- a/composer/autoload_static.php +++ b/composer/autoload_static.php @@ -2040,6 +2040,7 @@ class ComposerStaticInit2f23f73bc0cc116b4b1eee1521aa8652 'GuzzleHttp\\Psr7\\StreamWrapper' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/StreamWrapper.php', 'GuzzleHttp\\Psr7\\UploadedFile' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UploadedFile.php', 'GuzzleHttp\\Psr7\\Uri' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Uri.php', + 'GuzzleHttp\\Psr7\\UriComparator' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriComparator.php', 'GuzzleHttp\\Psr7\\UriNormalizer' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriNormalizer.php', 'GuzzleHttp\\Psr7\\UriResolver' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriResolver.php', 'GuzzleHttp\\Psr7\\Utils' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Utils.php', diff --git a/composer/installed.json b/composer/installed.json index ca3f50b86..a3f43ada6 100644 --- a/composer/installed.json +++ b/composer/installed.json @@ -1266,26 +1266,26 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.4.0", - "version_normalized": "7.4.0.0", + "version": "7.4.5", + "version_normalized": "7.4.5.0", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "868b3571a039f0ebc11ac8f344f4080babe2cb94" + "reference": "1dd98b0564cb3f6bd16ce683cb755f94c10fbd82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/868b3571a039f0ebc11ac8f344f4080babe2cb94", - "reference": "868b3571a039f0ebc11ac8f344f4080babe2cb94", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/1dd98b0564cb3f6bd16ce683cb755f94c10fbd82", + "reference": "1dd98b0564cb3f6bd16ce683cb755f94c10fbd82", "shasum": "" }, "require": { "ext-json": "*", "guzzlehttp/promises": "^1.5", - "guzzlehttp/psr7": "^1.8.3 || ^2.1", + "guzzlehttp/psr7": "^1.9 || ^2.4", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", - "symfony/deprecation-contracts": "^2.2" + "symfony/deprecation-contracts": "^2.2 || ^3.0" }, "provide": { "psr/http-client-implementation": "1.0" @@ -1302,7 +1302,7 @@ "ext-intl": "Required for Internationalized Domain Name (IDN) support", "psr/log": "Required for using the Log middleware" }, - "time": "2021-10-18T09:52:00+00:00", + "time": "2022-06-20T22:16:13+00:00", "type": "library", "extra": { "branch-alias": { @@ -1311,12 +1311,12 @@ }, "installation-source": "dist", "autoload": { - "psr-4": { - "GuzzleHttp\\": "src/" - }, "files": [ "src/functions_include.php" - ] + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1373,7 +1373,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.4.0" + "source": "https://github.com/guzzle/guzzle/tree/7.4.5" }, "funding": [ { @@ -1480,17 +1480,17 @@ }, { "name": "guzzlehttp/psr7", - "version": "1.8.5", - "version_normalized": "1.8.5.0", + "version": "1.9.0", + "version_normalized": "1.9.0.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "337e3ad8e5716c15f9657bd214d16cc5e69df268" + "reference": "e98e3e6d4f86621a9b75f623996e6bbdeb4b9318" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/337e3ad8e5716c15f9657bd214d16cc5e69df268", - "reference": "337e3ad8e5716c15f9657bd214d16cc5e69df268", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/e98e3e6d4f86621a9b75f623996e6bbdeb4b9318", + "reference": "e98e3e6d4f86621a9b75f623996e6bbdeb4b9318", "shasum": "" }, "require": { @@ -1508,11 +1508,11 @@ "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" }, - "time": "2022-03-20T21:51:18+00:00", + "time": "2022-06-20T21:43:03+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7-dev" + "dev-master": "1.9-dev" } }, "installation-source": "dist", @@ -1573,7 +1573,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/1.8.5" + "source": "https://github.com/guzzle/psr7/tree/1.9.0" }, "funding": [ { diff --git a/composer/installed.php b/composer/installed.php index 8e52ef362..91618aed0 100644 --- a/composer/installed.php +++ b/composer/installed.php @@ -1,310 +1,310 @@ array( + 'name' => 'nextcloud/3rdparty', 'pretty_version' => 'dev-master', 'version' => 'dev-master', + 'reference' => 'b7964c17e8a2198313ee31f6117c1eb692f6e2c9', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), - 'reference' => '6d82f0c103262a2f7c26514b5debe55557cfe7b6', - 'name' => 'nextcloud/3rdparty', 'dev' => true, ), 'versions' => array( 'aws/aws-sdk-php' => array( 'pretty_version' => '3.184.6', 'version' => '3.184.6.0', + 'reference' => '0b7187c96ced465d400ad9427157e05ddee68edc', 'type' => 'library', 'install_path' => __DIR__ . '/../aws/aws-sdk-php', 'aliases' => array(), - 'reference' => '0b7187c96ced465d400ad9427157e05ddee68edc', 'dev_requirement' => false, ), 'bantu/ini-get-wrapper' => array( 'pretty_version' => 'v1.0.1', 'version' => '1.0.1.0', + 'reference' => '4770c7feab370c62e23db4f31c112b7c6d90aee2', 'type' => 'library', 'install_path' => __DIR__ . '/../bantu/ini-get-wrapper', 'aliases' => array(), - 'reference' => '4770c7feab370c62e23db4f31c112b7c6d90aee2', 'dev_requirement' => false, ), 'beberlei/assert' => array( 'pretty_version' => 'v3.3.1', 'version' => '3.3.1.0', + 'reference' => '5e721d7e937ca3ba2cdec1e1adf195f9e5188372', 'type' => 'library', 'install_path' => __DIR__ . '/../beberlei/assert', 'aliases' => array(), - 'reference' => '5e721d7e937ca3ba2cdec1e1adf195f9e5188372', 'dev_requirement' => false, ), 'brick/math' => array( 'pretty_version' => '0.9.2', 'version' => '0.9.2.0', + 'reference' => 'dff976c2f3487d42c1db75a3b180e2b9f0e72ce0', 'type' => 'library', 'install_path' => __DIR__ . '/../brick/math', 'aliases' => array(), - 'reference' => 'dff976c2f3487d42c1db75a3b180e2b9f0e72ce0', 'dev_requirement' => false, ), 'christophwurst/id3parser' => array( 'pretty_version' => 'v0.1.4', 'version' => '0.1.4.0', + 'reference' => '050c9d81ea89b0cf53e23a27efc4e1840f9ab260', 'type' => 'library', 'install_path' => __DIR__ . '/../christophwurst/id3parser', 'aliases' => array(), - 'reference' => '050c9d81ea89b0cf53e23a27efc4e1840f9ab260', 'dev_requirement' => false, ), 'composer/package-versions-deprecated' => array( 'pretty_version' => '1.11.99.4', 'version' => '1.11.99.4', + 'reference' => 'b174585d1fe49ceed21928a945138948cb394600', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/./package-versions-deprecated', 'aliases' => array(), - 'reference' => 'b174585d1fe49ceed21928a945138948cb394600', 'dev_requirement' => false, ), 'cweagans/composer-patches' => array( 'pretty_version' => '1.7.1', 'version' => '1.7.1.0', + 'reference' => '9888dcc74993c030b75f3dd548bb5e20cdbd740c', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../cweagans/composer-patches', 'aliases' => array(), - 'reference' => '9888dcc74993c030b75f3dd548bb5e20cdbd740c', 'dev_requirement' => false, ), 'deepdiver/zipstreamer' => array( 'pretty_version' => '2.0.0', 'version' => '2.0.0.0', + 'reference' => 'b8c59647ff34fb97e8937aefb2a65de2bc4b4755', 'type' => 'library', 'install_path' => __DIR__ . '/../deepdiver/zipstreamer', 'aliases' => array(), - 'reference' => 'b8c59647ff34fb97e8937aefb2a65de2bc4b4755', 'dev_requirement' => false, ), 'deepdiver1975/tarstreamer' => array( 'pretty_version' => '2.0.0', 'version' => '2.0.0.0', + 'reference' => 'ad48505d1ab54a8e94e6b1cc5297bbed72e956de', 'type' => 'library', 'install_path' => __DIR__ . '/../deepdiver1975/tarstreamer', 'aliases' => array(), - 'reference' => 'ad48505d1ab54a8e94e6b1cc5297bbed72e956de', 'dev_requirement' => false, ), 'doctrine/cache' => array( 'pretty_version' => '2.1.1', 'version' => '2.1.1.0', + 'reference' => '331b4d5dbaeab3827976273e9356b3b453c300ce', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/cache', 'aliases' => array(), - 'reference' => '331b4d5dbaeab3827976273e9356b3b453c300ce', 'dev_requirement' => false, ), 'doctrine/dbal' => array( 'pretty_version' => '3.1.4', 'version' => '3.1.4.0', + 'reference' => '821b4f01a36ce63ed36c090ea74767b72db367e9', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/dbal', 'aliases' => array(), - 'reference' => '821b4f01a36ce63ed36c090ea74767b72db367e9', 'dev_requirement' => false, ), 'doctrine/deprecations' => array( 'pretty_version' => 'v0.5.3', 'version' => '0.5.3.0', + 'reference' => '9504165960a1f83cc1480e2be1dd0a0478561314', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/deprecations', 'aliases' => array(), - 'reference' => '9504165960a1f83cc1480e2be1dd0a0478561314', 'dev_requirement' => false, ), 'doctrine/event-manager' => array( 'pretty_version' => '1.1.1', 'version' => '1.1.1.0', + 'reference' => '41370af6a30faa9dc0368c4a6814d596e81aba7f', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/event-manager', 'aliases' => array(), - 'reference' => '41370af6a30faa9dc0368c4a6814d596e81aba7f', 'dev_requirement' => false, ), 'doctrine/lexer' => array( 'pretty_version' => '1.2.1', 'version' => '1.2.1.0', + 'reference' => 'e864bbf5904cb8f5bb334f99209b48018522f042', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/lexer', 'aliases' => array(), - 'reference' => 'e864bbf5904cb8f5bb334f99209b48018522f042', 'dev_requirement' => false, ), 'egulias/email-validator' => array( 'pretty_version' => '3.1.1', 'version' => '3.1.1.0', + 'reference' => 'c81f18a3efb941d8c4d2e025f6183b5c6d697307', 'type' => 'library', 'install_path' => __DIR__ . '/../egulias/email-validator', 'aliases' => array(), - 'reference' => 'c81f18a3efb941d8c4d2e025f6183b5c6d697307', 'dev_requirement' => false, ), 'fgrosse/phpasn1' => array( 'pretty_version' => 'v2.3.0', 'version' => '2.3.0.0', + 'reference' => '20299033c35f4300eb656e7e8e88cf52d1d6694e', 'type' => 'library', 'install_path' => __DIR__ . '/../fgrosse/phpasn1', 'aliases' => array(), - 'reference' => '20299033c35f4300eb656e7e8e88cf52d1d6694e', 'dev_requirement' => false, ), 'giggsey/libphonenumber-for-php' => array( 'pretty_version' => '8.12.38', 'version' => '8.12.38.0', + 'reference' => '0a6293c57de9256f4bd0d673280fbfbfd1e47533', 'type' => 'library', 'install_path' => __DIR__ . '/../giggsey/libphonenumber-for-php', 'aliases' => array(), - 'reference' => '0a6293c57de9256f4bd0d673280fbfbfd1e47533', 'dev_requirement' => false, ), 'giggsey/locale' => array( 'pretty_version' => '2.1', 'version' => '2.1.0.0', + 'reference' => '8d324583b5899e6280a875c43bf1fc9658bc6962', 'type' => 'library', 'install_path' => __DIR__ . '/../giggsey/locale', 'aliases' => array(), - 'reference' => '8d324583b5899e6280a875c43bf1fc9658bc6962', 'dev_requirement' => false, ), 'guzzlehttp/guzzle' => array( - 'pretty_version' => '7.4.0', - 'version' => '7.4.0.0', + 'pretty_version' => '7.4.5', + 'version' => '7.4.5.0', + 'reference' => '1dd98b0564cb3f6bd16ce683cb755f94c10fbd82', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/guzzle', 'aliases' => array(), - 'reference' => '868b3571a039f0ebc11ac8f344f4080babe2cb94', 'dev_requirement' => false, ), 'guzzlehttp/promises' => array( 'pretty_version' => '1.5.1', 'version' => '1.5.1.0', + 'reference' => 'fe752aedc9fd8fcca3fe7ad05d419d32998a06da', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/promises', 'aliases' => array(), - 'reference' => 'fe752aedc9fd8fcca3fe7ad05d419d32998a06da', 'dev_requirement' => false, ), 'guzzlehttp/psr7' => array( - 'pretty_version' => '1.8.5', - 'version' => '1.8.5.0', + 'pretty_version' => '1.9.0', + 'version' => '1.9.0.0', + 'reference' => 'e98e3e6d4f86621a9b75f623996e6bbdeb4b9318', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/psr7', 'aliases' => array(), - 'reference' => '337e3ad8e5716c15f9657bd214d16cc5e69df268', 'dev_requirement' => false, ), 'guzzlehttp/uri-template' => array( 'pretty_version' => 'v0.2.0', 'version' => '0.2.0.0', + 'reference' => 'db46525d6d8fee71033b73cc07160f3e5271a8ce', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/uri-template', 'aliases' => array(), - 'reference' => 'db46525d6d8fee71033b73cc07160f3e5271a8ce', 'dev_requirement' => false, ), 'icewind/searchdav' => array( 'pretty_version' => 'v3.0.1', 'version' => '3.0.1.0', + 'reference' => '52c8cfc21bd69271f224671c4924d260b0a8d4fb', 'type' => 'library', 'install_path' => __DIR__ . '/../icewind/searchdav', 'aliases' => array(), - 'reference' => '52c8cfc21bd69271f224671c4924d260b0a8d4fb', 'dev_requirement' => false, ), 'icewind/streams' => array( 'pretty_version' => 'v0.7.5', 'version' => '0.7.5.0', + 'reference' => '0c6aae16ebdadb257f0bd089c1e1e4cf5e20ddc2', 'type' => 'library', 'install_path' => __DIR__ . '/../icewind/streams', 'aliases' => array(), - 'reference' => '0c6aae16ebdadb257f0bd089c1e1e4cf5e20ddc2', 'dev_requirement' => false, ), 'justinrainbow/json-schema' => array( 'pretty_version' => '5.2.10', 'version' => '5.2.10.0', + 'reference' => '2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b', 'type' => 'library', 'install_path' => __DIR__ . '/../justinrainbow/json-schema', 'aliases' => array(), - 'reference' => '2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b', 'dev_requirement' => false, ), 'league/uri' => array( 'pretty_version' => '6.4.0', 'version' => '6.4.0.0', + 'reference' => '09da64118eaf4c5d52f9923a1e6a5be1da52fd9a', 'type' => 'library', 'install_path' => __DIR__ . '/../league/uri', 'aliases' => array(), - 'reference' => '09da64118eaf4c5d52f9923a1e6a5be1da52fd9a', 'dev_requirement' => false, ), 'league/uri-interfaces' => array( 'pretty_version' => '2.2.0', 'version' => '2.2.0.0', + 'reference' => '667f150e589d65d79c89ffe662e426704f84224f', 'type' => 'library', 'install_path' => __DIR__ . '/../league/uri-interfaces', 'aliases' => array(), - 'reference' => '667f150e589d65d79c89ffe662e426704f84224f', 'dev_requirement' => false, ), 'microsoft/azure-storage-blob' => array( 'pretty_version' => '1.5.2', 'version' => '1.5.2.0', + 'reference' => '2475330963372d519387cb8135d6a9cfd42272da', 'type' => 'library', 'install_path' => __DIR__ . '/../microsoft/azure-storage-blob', 'aliases' => array(), - 'reference' => '2475330963372d519387cb8135d6a9cfd42272da', 'dev_requirement' => false, ), 'microsoft/azure-storage-common' => array( 'pretty_version' => '1.5.1', 'version' => '1.5.1.0', + 'reference' => 'e5738035891546075bd369954e8af121d65ebd6d', 'type' => 'library', 'install_path' => __DIR__ . '/../microsoft/azure-storage-common', 'aliases' => array(), - 'reference' => 'e5738035891546075bd369954e8af121d65ebd6d', 'dev_requirement' => false, ), 'mtdowling/jmespath.php' => array( 'pretty_version' => '2.6.1', 'version' => '2.6.1.0', + 'reference' => '9b87907a81b87bc76d19a7fb2d61e61486ee9edb', 'type' => 'library', 'install_path' => __DIR__ . '/../mtdowling/jmespath.php', 'aliases' => array(), - 'reference' => '9b87907a81b87bc76d19a7fb2d61e61486ee9edb', 'dev_requirement' => false, ), 'nextcloud/3rdparty' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', + 'reference' => 'b7964c17e8a2198313ee31f6117c1eb692f6e2c9', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), - 'reference' => '6d82f0c103262a2f7c26514b5debe55557cfe7b6', 'dev_requirement' => false, ), 'nextcloud/lognormalizer' => array( 'pretty_version' => 'v1.0.0', 'version' => '1.0.0.0', + 'reference' => '87445d69225c247aaff64643b1fc83c6d6df741f', 'type' => 'library', 'install_path' => __DIR__ . '/../nextcloud/lognormalizer', 'aliases' => array(), - 'reference' => '87445d69225c247aaff64643b1fc83c6d6df741f', 'dev_requirement' => false, ), 'nikic/php-parser' => array( 'pretty_version' => 'v4.10.5', 'version' => '4.10.5.0', + 'reference' => '4432ba399e47c66624bc73c8c0f811e5c109576f', 'type' => 'library', 'install_path' => __DIR__ . '/../nikic/php-parser', 'aliases' => array(), - 'reference' => '4432ba399e47c66624bc73c8c0f811e5c109576f', 'dev_requirement' => false, ), 'ocramius/package-versions' => array( @@ -316,55 +316,55 @@ 'opis/closure' => array( 'pretty_version' => '3.6.2', 'version' => '3.6.2.0', + 'reference' => '06e2ebd25f2869e54a306dda991f7db58066f7f6', 'type' => 'library', 'install_path' => __DIR__ . '/../opis/closure', 'aliases' => array(), - 'reference' => '06e2ebd25f2869e54a306dda991f7db58066f7f6', 'dev_requirement' => false, ), 'pear/archive_tar' => array( 'pretty_version' => '1.4.14', 'version' => '1.4.14.0', + 'reference' => '4d761c5334c790e45ef3245f0864b8955c562caa', 'type' => 'library', 'install_path' => __DIR__ . '/../pear/archive_tar', 'aliases' => array(), - 'reference' => '4d761c5334c790e45ef3245f0864b8955c562caa', 'dev_requirement' => false, ), 'pear/console_getopt' => array( 'pretty_version' => 'v1.4.3', 'version' => '1.4.3.0', + 'reference' => 'a41f8d3e668987609178c7c4a9fe48fecac53fa0', 'type' => 'library', 'install_path' => __DIR__ . '/../pear/console_getopt', 'aliases' => array(), - 'reference' => 'a41f8d3e668987609178c7c4a9fe48fecac53fa0', 'dev_requirement' => false, ), 'pear/pear-core-minimal' => array( 'pretty_version' => 'v1.10.10', 'version' => '1.10.10.0', + 'reference' => '625a3c429d9b2c1546438679074cac1b089116a7', 'type' => 'library', 'install_path' => __DIR__ . '/../pear/pear-core-minimal', 'aliases' => array(), - 'reference' => '625a3c429d9b2c1546438679074cac1b089116a7', 'dev_requirement' => false, ), 'pear/pear_exception' => array( 'pretty_version' => 'v1.0.2', 'version' => '1.0.2.0', + 'reference' => 'b14fbe2ddb0b9f94f5b24cf08783d599f776fff0', 'type' => 'class', 'install_path' => __DIR__ . '/../pear/pear_exception', 'aliases' => array(), - 'reference' => 'b14fbe2ddb0b9f94f5b24cf08783d599f776fff0', 'dev_requirement' => false, ), 'php-ds/php-ds' => array( 'pretty_version' => 'v1.3.0', 'version' => '1.3.0.0', + 'reference' => 'b98396862fb8a13cbdbbaf4d18be28ee5c01ed3c', 'type' => 'library', 'install_path' => __DIR__ . '/../php-ds/php-ds', 'aliases' => array(), - 'reference' => 'b98396862fb8a13cbdbbaf4d18be28ee5c01ed3c', 'dev_requirement' => false, ), 'php-http/async-client-implementation' => array( @@ -382,73 +382,73 @@ 'php-http/guzzle7-adapter' => array( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', + 'reference' => 'fb075a71dbfa4847cf0c2938c4e5a9c478ef8b01', 'type' => 'library', 'install_path' => __DIR__ . '/../php-http/guzzle7-adapter', 'aliases' => array(), - 'reference' => 'fb075a71dbfa4847cf0c2938c4e5a9c478ef8b01', 'dev_requirement' => false, ), 'php-http/httplug' => array( 'pretty_version' => '2.2.0', 'version' => '2.2.0.0', + 'reference' => '191a0a1b41ed026b717421931f8d3bd2514ffbf9', 'type' => 'library', 'install_path' => __DIR__ . '/../php-http/httplug', 'aliases' => array(), - 'reference' => '191a0a1b41ed026b717421931f8d3bd2514ffbf9', 'dev_requirement' => false, ), 'php-http/promise' => array( 'pretty_version' => '1.1.0', 'version' => '1.1.0.0', + 'reference' => '4c4c1f9b7289a2ec57cde7f1e9762a5789506f88', 'type' => 'library', 'install_path' => __DIR__ . '/../php-http/promise', 'aliases' => array(), - 'reference' => '4c4c1f9b7289a2ec57cde7f1e9762a5789506f88', 'dev_requirement' => false, ), 'php-opencloud/openstack' => array( 'pretty_version' => 'v3.1.0', 'version' => '3.1.0.0', + 'reference' => '7b0eeb63defe533fb802514af3c70855c45eaf1e', 'type' => 'library', 'install_path' => __DIR__ . '/../php-opencloud/openstack', 'aliases' => array(), - 'reference' => '7b0eeb63defe533fb802514af3c70855c45eaf1e', 'dev_requirement' => false, ), 'phpseclib/phpseclib' => array( 'pretty_version' => '2.0.32', 'version' => '2.0.32.0', + 'reference' => 'f5c4c19880d45d0be3e7d24ae8ac434844a898cd', 'type' => 'library', 'install_path' => __DIR__ . '/../phpseclib/phpseclib', 'aliases' => array(), - 'reference' => 'f5c4c19880d45d0be3e7d24ae8ac434844a898cd', 'dev_requirement' => false, ), 'pimple/pimple' => array( 'pretty_version' => 'v3.5.0', 'version' => '3.5.0.0', + 'reference' => 'a94b3a4db7fb774b3d78dad2315ddc07629e1bed', 'type' => 'library', 'install_path' => __DIR__ . '/../pimple/pimple', 'aliases' => array(), - 'reference' => 'a94b3a4db7fb774b3d78dad2315ddc07629e1bed', 'dev_requirement' => false, ), 'psr/container' => array( 'pretty_version' => '1.1.1', 'version' => '1.1.1.0', + 'reference' => '8622567409010282b7aeebe4bb841fe98b58dcaf', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/container', 'aliases' => array(), - 'reference' => '8622567409010282b7aeebe4bb841fe98b58dcaf', 'dev_requirement' => false, ), 'psr/event-dispatcher' => array( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', + 'reference' => 'dbefd12671e8a14ec7f180cab83036ed26714bb0', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/event-dispatcher', 'aliases' => array(), - 'reference' => 'dbefd12671e8a14ec7f180cab83036ed26714bb0', 'dev_requirement' => false, ), 'psr/event-dispatcher-implementation' => array( @@ -460,10 +460,10 @@ 'psr/http-client' => array( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', + 'reference' => '2dfb5f6c5eff0e91e20e913f8c5452ed95b86621', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-client', 'aliases' => array(), - 'reference' => '2dfb5f6c5eff0e91e20e913f8c5452ed95b86621', 'dev_requirement' => false, ), 'psr/http-client-implementation' => array( @@ -475,19 +475,19 @@ 'psr/http-factory' => array( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', + 'reference' => '12ac7fcd07e5b077433f5f2bee95b3a771bf61be', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-factory', 'aliases' => array(), - 'reference' => '12ac7fcd07e5b077433f5f2bee95b3a771bf61be', 'dev_requirement' => false, ), 'psr/http-message' => array( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', + 'reference' => 'f6561bf28d520154e4b0ec72be95418abe6d9363', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-message', 'aliases' => array(), - 'reference' => 'f6561bf28d520154e4b0ec72be95418abe6d9363', 'dev_requirement' => false, ), 'psr/http-message-implementation' => array( @@ -499,10 +499,10 @@ 'psr/log' => array( 'pretty_version' => '1.1.4', 'version' => '1.1.4.0', + 'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/log', 'aliases' => array(), - 'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11', 'dev_requirement' => false, ), 'psr/log-implementation' => array( @@ -526,37 +526,37 @@ 'punic/punic' => array( 'pretty_version' => '1.6.5', 'version' => '1.6.5.0', + 'reference' => '7bc85ce1137cf52db4d2a6298256a4c4a24da99a', 'type' => 'library', 'install_path' => __DIR__ . '/../punic/punic', 'aliases' => array(), - 'reference' => '7bc85ce1137cf52db4d2a6298256a4c4a24da99a', 'dev_requirement' => false, ), 'ralouphie/getallheaders' => array( 'pretty_version' => '3.0.3', 'version' => '3.0.3.0', + 'reference' => '120b605dfeb996808c31b6477290a714d356e822', 'type' => 'library', 'install_path' => __DIR__ . '/../ralouphie/getallheaders', 'aliases' => array(), - 'reference' => '120b605dfeb996808c31b6477290a714d356e822', 'dev_requirement' => false, ), 'ramsey/collection' => array( 'pretty_version' => '1.1.3', 'version' => '1.1.3.0', + 'reference' => '28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1', 'type' => 'library', 'install_path' => __DIR__ . '/../ramsey/collection', 'aliases' => array(), - 'reference' => '28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1', 'dev_requirement' => false, ), 'ramsey/uuid' => array( 'pretty_version' => '4.1.1', 'version' => '4.1.1.0', + 'reference' => 'cd4032040a750077205918c86049aa0f43d22947', 'type' => 'library', 'install_path' => __DIR__ . '/../ramsey/uuid', 'aliases' => array(), - 'reference' => 'cd4032040a750077205918c86049aa0f43d22947', 'dev_requirement' => false, ), 'rhumsaa/uuid' => array( @@ -574,136 +574,136 @@ 'sabre/dav' => array( 'pretty_version' => '4.2.1', 'version' => '4.2.1.0', + 'reference' => '5e651f9ddc2b05745f5b28cd697c8e8c6a0b6146', 'type' => 'library', 'install_path' => __DIR__ . '/../sabre/dav', 'aliases' => array(), - 'reference' => '5e651f9ddc2b05745f5b28cd697c8e8c6a0b6146', 'dev_requirement' => false, ), 'sabre/event' => array( 'pretty_version' => '5.1.4', 'version' => '5.1.4.0', + 'reference' => 'd7da22897125d34d7eddf7977758191c06a74497', 'type' => 'library', 'install_path' => __DIR__ . '/../sabre/event', 'aliases' => array(), - 'reference' => 'd7da22897125d34d7eddf7977758191c06a74497', 'dev_requirement' => false, ), 'sabre/http' => array( 'pretty_version' => '5.1.3', 'version' => '5.1.3.0', + 'reference' => '315f592adfcba8aeb73c2fd64285205747acbbd7', 'type' => 'library', 'install_path' => __DIR__ . '/../sabre/http', 'aliases' => array(), - 'reference' => '315f592adfcba8aeb73c2fd64285205747acbbd7', 'dev_requirement' => false, ), 'sabre/uri' => array( 'pretty_version' => '2.2.2', 'version' => '2.2.2.0', + 'reference' => '7cb0f489578afad5006e85cd60f18ff33f2d440d', 'type' => 'library', 'install_path' => __DIR__ . '/../sabre/uri', 'aliases' => array(), - 'reference' => '7cb0f489578afad5006e85cd60f18ff33f2d440d', 'dev_requirement' => false, ), 'sabre/vobject' => array( 'pretty_version' => '4.4.1', 'version' => '4.4.1.0', + 'reference' => '06feff370141fd3118609f808e86d9315864bf14', 'type' => 'library', 'install_path' => __DIR__ . '/../sabre/vobject', 'aliases' => array(), - 'reference' => '06feff370141fd3118609f808e86d9315864bf14', 'dev_requirement' => false, ), 'sabre/xml' => array( 'pretty_version' => '2.2.5', 'version' => '2.2.5.0', + 'reference' => 'a6af111850e7536d200d9637c34885cd3c77a86c', 'type' => 'library', 'install_path' => __DIR__ . '/../sabre/xml', 'aliases' => array(), - 'reference' => 'a6af111850e7536d200d9637c34885cd3c77a86c', 'dev_requirement' => false, ), 'scssphp/scssphp' => array( 'pretty_version' => 'v1.8.1', 'version' => '1.8.1.0', + 'reference' => '5e37759a63caf54392a4b709358a39ac7425a69f', 'type' => 'library', 'install_path' => __DIR__ . '/../scssphp/scssphp', 'aliases' => array(), - 'reference' => '5e37759a63caf54392a4b709358a39ac7425a69f', 'dev_requirement' => false, ), 'spomky-labs/base64url' => array( 'pretty_version' => 'v2.0.4', 'version' => '2.0.4.0', + 'reference' => '7752ce931ec285da4ed1f4c5aa27e45e097be61d', 'type' => 'library', 'install_path' => __DIR__ . '/../spomky-labs/base64url', 'aliases' => array(), - 'reference' => '7752ce931ec285da4ed1f4c5aa27e45e097be61d', 'dev_requirement' => false, ), 'spomky-labs/cbor-php' => array( 'pretty_version' => 'v2.0.1', 'version' => '2.0.1.0', + 'reference' => '9776578000be884cd7864eeb7c37a4ac92d8c995', 'type' => 'library', 'install_path' => __DIR__ . '/../spomky-labs/cbor-php', 'aliases' => array(), - 'reference' => '9776578000be884cd7864eeb7c37a4ac92d8c995', 'dev_requirement' => false, ), 'stecman/symfony-console-completion' => array( 'pretty_version' => '0.11.0', 'version' => '0.11.0.0', + 'reference' => 'a9502dab59405e275a9f264536c4e1cb61fc3518', 'type' => 'library', 'install_path' => __DIR__ . '/../stecman/symfony-console-completion', 'aliases' => array(), - 'reference' => 'a9502dab59405e275a9f264536c4e1cb61fc3518', 'dev_requirement' => false, ), 'swiftmailer/swiftmailer' => array( 'pretty_version' => 'v6.2.7', 'version' => '6.2.7.0', + 'reference' => '15f7faf8508e04471f666633addacf54c0ab5933', 'type' => 'library', 'install_path' => __DIR__ . '/../swiftmailer/swiftmailer', 'aliases' => array(), - 'reference' => '15f7faf8508e04471f666633addacf54c0ab5933', 'dev_requirement' => false, ), 'symfony/console' => array( 'pretty_version' => 'v4.4.30', 'version' => '4.4.30.0', + 'reference' => 'a3f7189a0665ee33b50e9e228c46f50f5acbed22', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/console', 'aliases' => array(), - 'reference' => 'a3f7189a0665ee33b50e9e228c46f50f5acbed22', 'dev_requirement' => false, ), 'symfony/deprecation-contracts' => array( 'pretty_version' => 'v2.5.0', 'version' => '2.5.0.0', + 'reference' => '6f981ee24cf69ee7ce9736146d1c57c2780598a8', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/deprecation-contracts', 'aliases' => array(), - 'reference' => '6f981ee24cf69ee7ce9736146d1c57c2780598a8', 'dev_requirement' => false, ), 'symfony/event-dispatcher' => array( 'pretty_version' => 'v4.4.30', 'version' => '4.4.30.0', + 'reference' => '2fe81680070043c4c80e7cedceb797e34f377bac', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/event-dispatcher', 'aliases' => array(), - 'reference' => '2fe81680070043c4c80e7cedceb797e34f377bac', 'dev_requirement' => false, ), 'symfony/event-dispatcher-contracts' => array( 'pretty_version' => 'v1.1.9', 'version' => '1.1.9.0', + 'reference' => '84e23fdcd2517bf37aecbd16967e83f0caee25a7', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/event-dispatcher-contracts', 'aliases' => array(), - 'reference' => '84e23fdcd2517bf37aecbd16967e83f0caee25a7', 'dev_requirement' => false, ), 'symfony/event-dispatcher-implementation' => array( @@ -715,127 +715,127 @@ 'symfony/polyfill-ctype' => array( 'pretty_version' => 'v1.23.0', 'version' => '1.23.0.0', + 'reference' => '46cd95797e9df938fdd2b03693b5fca5e64b01ce', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-ctype', 'aliases' => array(), - 'reference' => '46cd95797e9df938fdd2b03693b5fca5e64b01ce', 'dev_requirement' => false, ), 'symfony/polyfill-iconv' => array( 'pretty_version' => 'v1.23.0', 'version' => '1.23.0.0', + 'reference' => '63b5bb7db83e5673936d6e3b8b3e022ff6474933', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-iconv', 'aliases' => array(), - 'reference' => '63b5bb7db83e5673936d6e3b8b3e022ff6474933', 'dev_requirement' => false, ), 'symfony/polyfill-intl-grapheme' => array( 'pretty_version' => 'v1.23.1', 'version' => '1.23.1.0', + 'reference' => '16880ba9c5ebe3642d1995ab866db29270b36535', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-grapheme', 'aliases' => array(), - 'reference' => '16880ba9c5ebe3642d1995ab866db29270b36535', 'dev_requirement' => false, ), 'symfony/polyfill-intl-idn' => array( 'pretty_version' => 'v1.23.0', 'version' => '1.23.0.0', + 'reference' => '65bd267525e82759e7d8c4e8ceea44f398838e65', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-idn', 'aliases' => array(), - 'reference' => '65bd267525e82759e7d8c4e8ceea44f398838e65', 'dev_requirement' => false, ), 'symfony/polyfill-intl-normalizer' => array( 'pretty_version' => 'v1.23.0', 'version' => '1.23.0.0', + 'reference' => '8590a5f561694770bdcd3f9b5c69dde6945028e8', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-normalizer', 'aliases' => array(), - 'reference' => '8590a5f561694770bdcd3f9b5c69dde6945028e8', 'dev_requirement' => false, ), 'symfony/polyfill-mbstring' => array( 'pretty_version' => 'v1.23.1', 'version' => '1.23.1.0', + 'reference' => '9174a3d80210dca8daa7f31fec659150bbeabfc6', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), - 'reference' => '9174a3d80210dca8daa7f31fec659150bbeabfc6', 'dev_requirement' => false, ), 'symfony/polyfill-php72' => array( 'pretty_version' => 'v1.23.0', 'version' => '1.23.0.0', + 'reference' => '9a142215a36a3888e30d0a9eeea9766764e96976', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php72', 'aliases' => array(), - 'reference' => '9a142215a36a3888e30d0a9eeea9766764e96976', 'dev_requirement' => false, ), 'symfony/polyfill-php73' => array( 'pretty_version' => 'v1.23.0', 'version' => '1.23.0.0', + 'reference' => 'fba8933c384d6476ab14fb7b8526e5287ca7e010', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php73', 'aliases' => array(), - 'reference' => 'fba8933c384d6476ab14fb7b8526e5287ca7e010', 'dev_requirement' => false, ), 'symfony/polyfill-php80' => array( 'pretty_version' => 'v1.23.1', 'version' => '1.23.1.0', + 'reference' => '1100343ed1a92e3a38f9ae122fc0eb21602547be', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php80', 'aliases' => array(), - 'reference' => '1100343ed1a92e3a38f9ae122fc0eb21602547be', 'dev_requirement' => false, ), 'symfony/process' => array( 'pretty_version' => 'v4.4.30', 'version' => '4.4.30.0', + 'reference' => '13d3161ef63a8ec21eeccaaf9a4d7f784a87a97d', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/process', 'aliases' => array(), - 'reference' => '13d3161ef63a8ec21eeccaaf9a4d7f784a87a97d', 'dev_requirement' => false, ), 'symfony/routing' => array( 'pretty_version' => 'v4.4.30', 'version' => '4.4.30.0', + 'reference' => '9ddf033927ad9f30ba2bfd167a7b342cafa13e8e', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/routing', 'aliases' => array(), - 'reference' => '9ddf033927ad9f30ba2bfd167a7b342cafa13e8e', 'dev_requirement' => false, ), 'symfony/service-contracts' => array( 'pretty_version' => 'v2.4.0', 'version' => '2.4.0.0', + 'reference' => 'f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/service-contracts', 'aliases' => array(), - 'reference' => 'f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb', 'dev_requirement' => false, ), 'symfony/translation' => array( 'pretty_version' => 'v4.4.41', 'version' => '4.4.41.0', + 'reference' => 'dcb67eae126e74507e0b4f0b9ac6ef35b37c3331', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation', 'aliases' => array(), - 'reference' => 'dcb67eae126e74507e0b4f0b9ac6ef35b37c3331', 'dev_requirement' => false, ), 'symfony/translation-contracts' => array( 'pretty_version' => 'v2.4.0', 'version' => '2.4.0.0', + 'reference' => '95c812666f3e91db75385749fe219c5e494c7f95', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation-contracts', 'aliases' => array(), - 'reference' => '95c812666f3e91db75385749fe219c5e494c7f95', 'dev_requirement' => false, ), 'symfony/translation-implementation' => array( @@ -847,37 +847,37 @@ 'thecodingmachine/safe' => array( 'pretty_version' => 'v1.3.3', 'version' => '1.3.3.0', + 'reference' => 'a8ab0876305a4cdaef31b2350fcb9811b5608dbc', 'type' => 'library', 'install_path' => __DIR__ . '/../thecodingmachine/safe', 'aliases' => array(), - 'reference' => 'a8ab0876305a4cdaef31b2350fcb9811b5608dbc', 'dev_requirement' => false, ), 'web-auth/cose-lib' => array( 'pretty_version' => 'v3.3.9', 'version' => '3.3.9.0', + 'reference' => 'ed172d2dc1a6b87b5c644c07c118cd30c1b3819b', 'type' => 'library', 'install_path' => __DIR__ . '/../web-auth/cose-lib', 'aliases' => array(), - 'reference' => 'ed172d2dc1a6b87b5c644c07c118cd30c1b3819b', 'dev_requirement' => false, ), 'web-auth/metadata-service' => array( 'pretty_version' => 'v3.3.9', 'version' => '3.3.9.0', + 'reference' => '8488d3a832a38cc81c670fce05de1e515c6e64b1', 'type' => 'library', 'install_path' => __DIR__ . '/../web-auth/metadata-service', 'aliases' => array(), - 'reference' => '8488d3a832a38cc81c670fce05de1e515c6e64b1', 'dev_requirement' => false, ), 'web-auth/webauthn-lib' => array( 'pretty_version' => 'v3.3.9', 'version' => '3.3.9.0', + 'reference' => '04b98ee3d39cb79dad68a7c15c297c085bf66bfe', 'type' => 'library', 'install_path' => __DIR__ . '/../web-auth/webauthn-lib', 'aliases' => array(), - 'reference' => '04b98ee3d39cb79dad68a7c15c297c085bf66bfe', 'dev_requirement' => false, ), ), diff --git a/guzzlehttp/guzzle/src/Cookie/CookieJar.php b/guzzlehttp/guzzle/src/Cookie/CookieJar.php index d6757c654..6ef8e8c1d 100644 --- a/guzzlehttp/guzzle/src/Cookie/CookieJar.php +++ b/guzzlehttp/guzzle/src/Cookie/CookieJar.php @@ -241,6 +241,11 @@ public function extractCookies(RequestInterface $request, ResponseInterface $res if (0 !== \strpos($sc->getPath(), '/')) { $sc->setPath($this->getCookiePathFromRequest($request)); } + if (!$sc->matchesDomain($request->getUri()->getHost())) { + continue; + } + // Note: At this point `$sc->getDomain()` being a public suffix should + // be rejected, but we don't want to pull in the full PSL dependency. $this->setCookie($sc); } } diff --git a/guzzlehttp/guzzle/src/Cookie/SetCookie.php b/guzzlehttp/guzzle/src/Cookie/SetCookie.php index 7c04034d2..a613c77bf 100644 --- a/guzzlehttp/guzzle/src/Cookie/SetCookie.php +++ b/guzzlehttp/guzzle/src/Cookie/SetCookie.php @@ -379,10 +379,12 @@ public function matchesDomain(string $domain): bool // Remove the leading '.' as per spec in RFC 6265. // https://tools.ietf.org/html/rfc6265#section-5.2.3 - $cookieDomain = \ltrim($cookieDomain, '.'); + $cookieDomain = \ltrim(\strtolower($cookieDomain), '.'); + + $domain = \strtolower($domain); // Domain not set or exact match. - if (!$cookieDomain || !\strcasecmp($domain, $cookieDomain)) { + if ('' === $cookieDomain || $domain === $cookieDomain) { return true; } diff --git a/guzzlehttp/guzzle/src/Exception/RequestException.php b/guzzlehttp/guzzle/src/Exception/RequestException.php index 54623cff0..c2d0a9ccc 100644 --- a/guzzlehttp/guzzle/src/Exception/RequestException.php +++ b/guzzlehttp/guzzle/src/Exception/RequestException.php @@ -99,7 +99,7 @@ public static function create( '%s: `%s %s` resulted in a `%s %s` response', $label, $request->getMethod(), - $uri, + $uri->__toString(), $response->getStatusCode(), $response->getReasonPhrase() ); diff --git a/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php b/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php index ace0d840c..2f5b3f69b 100644 --- a/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php +++ b/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php @@ -32,9 +32,9 @@ class CurlMultiHandler private $selectTimeout; /** - * @var resource|\CurlMultiHandle|null the currently executing resource in `curl_multi_exec`. + * @var int Will be higher than 0 when `curl_multi_exec` is still running. */ - private $active; + private $active = 0; /** * @var array Request entry handles, indexed by handle id in `addRequest`. @@ -225,6 +225,10 @@ private function cancel($id): bool private function processMessages(): void { while ($done = \curl_multi_info_read($this->_mh)) { + if ($done['msg'] !== \CURLMSG_DONE) { + // if it's not done, then it would be premature to remove the handle. ref https://github.com/guzzle/guzzle/pull/2892#issuecomment-945150216 + continue; + } $id = (int) $done['handle']; \curl_multi_remove_handle($this->_mh, $done['handle']); diff --git a/guzzlehttp/guzzle/src/Handler/StreamHandler.php b/guzzlehttp/guzzle/src/Handler/StreamHandler.php index 70c646be5..543f825a2 100644 --- a/guzzlehttp/guzzle/src/Handler/StreamHandler.php +++ b/guzzlehttp/guzzle/src/Handler/StreamHandler.php @@ -266,6 +266,10 @@ private function createStream(RequestInterface $request, array $options) $methods = \array_flip(\get_class_methods(__CLASS__)); } + if (!\in_array($request->getUri()->getScheme(), ['http', 'https'])) { + throw new RequestException(\sprintf("The scheme '%s' is not supported.", $request->getUri()->getScheme()), $request); + } + // HTTP/1.1 streams using the PHP stream wrapper require a // Connection: close header if ($request->getProtocolVersion() == '1.1' @@ -318,7 +322,7 @@ static function () use ($context, $params) { return $this->createResource( function () use ($uri, &$http_response_header, $contextResource, $context, $options, $request) { $resource = @\fopen((string) $uri, 'r', false, $contextResource); - $this->lastHeaders = $http_response_header; + $this->lastHeaders = $http_response_header ?? []; if (false === $resource) { throw new ConnectException(sprintf('Connection refused for URI %s', $uri), $request, null, $context); @@ -377,6 +381,9 @@ private function getDefaultContext(RequestInterface $request): array 'ignore_errors' => true, 'follow_location' => 0, ], + 'ssl' => [ + 'peer_name' => $request->getUri()->getHost(), + ], ]; $body = (string) $request->getBody(); diff --git a/guzzlehttp/guzzle/src/MessageFormatter.php b/guzzlehttp/guzzle/src/MessageFormatter.php index 238770f8e..da499547f 100644 --- a/guzzlehttp/guzzle/src/MessageFormatter.php +++ b/guzzlehttp/guzzle/src/MessageFormatter.php @@ -137,7 +137,7 @@ function (array $matches) use ($request, $response, $error, &$cache) { break; case 'uri': case 'url': - $result = $request->getUri(); + $result = $request->getUri()->__toString(); break; case 'target': $result = $request->getRequestTarget(); diff --git a/guzzlehttp/guzzle/src/RedirectMiddleware.php b/guzzlehttp/guzzle/src/RedirectMiddleware.php index 1dd38614f..f67d448be 100644 --- a/guzzlehttp/guzzle/src/RedirectMiddleware.php +++ b/guzzlehttp/guzzle/src/RedirectMiddleware.php @@ -88,6 +88,14 @@ public function checkRedirect(RequestInterface $request, array $options, Respons $this->guardMax($request, $response, $options); $nextRequest = $this->modifyRequest($request, $options, $response); + // If authorization is handled by curl, unset it if URI is cross-origin. + if (Psr7\UriComparator::isCrossOrigin($request->getUri(), $nextRequest->getUri()) && defined('\CURLOPT_HTTPAUTH')) { + unset( + $options['curl'][\CURLOPT_HTTPAUTH], + $options['curl'][\CURLOPT_USERPWD] + ); + } + if (isset($options['allow_redirects']['on_redirect'])) { ($options['allow_redirects']['on_redirect'])( $request, @@ -132,7 +140,7 @@ static function (ResponseInterface $response) use ($uri, $statusCode) { } /** - * Check for too many redirects + * Check for too many redirects. * * @throws TooManyRedirectsException Too many redirects. */ @@ -168,7 +176,7 @@ public function modifyRequest(RequestInterface $request, array $options, Respons $modify['body'] = ''; } - $uri = $this->redirectUri($request, $response, $protocols); + $uri = self::redirectUri($request, $response, $protocols); if (isset($options['idn_conversion']) && ($options['idn_conversion'] !== false)) { $idnOptions = ($options['idn_conversion'] === true) ? \IDNA_DEFAULT : $options['idn_conversion']; $uri = Utils::idnUriConvert($uri, $idnOptions); @@ -188,19 +196,23 @@ public function modifyRequest(RequestInterface $request, array $options, Respons $modify['remove_headers'][] = 'Referer'; } - // Remove Authorization header if host is different. - if ($request->getUri()->getHost() !== $modify['uri']->getHost()) { + // Remove Authorization and Cookie headers if URI is cross-origin. + if (Psr7\UriComparator::isCrossOrigin($request->getUri(), $modify['uri'])) { $modify['remove_headers'][] = 'Authorization'; + $modify['remove_headers'][] = 'Cookie'; } return Psr7\Utils::modifyRequest($request, $modify); } /** - * Set the appropriate URL on the request based on the location header + * Set the appropriate URL on the request based on the location header. */ - private function redirectUri(RequestInterface $request, ResponseInterface $response, array $protocols): UriInterface - { + private static function redirectUri( + RequestInterface $request, + ResponseInterface $response, + array $protocols + ): UriInterface { $location = Psr7\UriResolver::resolve( $request->getUri(), new Psr7\Uri($response->getHeaderLine('Location')) diff --git a/guzzlehttp/guzzle/vendor-bin/php-cs-fixer/composer.json b/guzzlehttp/guzzle/vendor-bin/php-cs-fixer/composer.json deleted file mode 100644 index d69a683b9..000000000 --- a/guzzlehttp/guzzle/vendor-bin/php-cs-fixer/composer.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "require": { - "php": "^7.2.5 || ^8.0", - "friendsofphp/php-cs-fixer": "3.2.1" - }, - "config": { - "preferred-install": "dist" - } -} diff --git a/guzzlehttp/guzzle/vendor-bin/phpstan/composer.json b/guzzlehttp/guzzle/vendor-bin/phpstan/composer.json deleted file mode 100644 index b09c65ddf..000000000 --- a/guzzlehttp/guzzle/vendor-bin/phpstan/composer.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "require": { - "php": "^7.2.5 || ^8.0", - "phpstan/phpstan": "0.12.99", - "phpstan/phpstan-deprecation-rules": "0.12.6" - }, - "config": { - "preferred-install": "dist" - } -} diff --git a/guzzlehttp/guzzle/vendor-bin/psalm/composer.json b/guzzlehttp/guzzle/vendor-bin/psalm/composer.json deleted file mode 100644 index 7794e6bbc..000000000 --- a/guzzlehttp/guzzle/vendor-bin/psalm/composer.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "require": { - "php": "^7.2.5 || ^8.0", - "psalm/phar": "4.10.0" - }, - "config": { - "preferred-install": "dist" - } -} diff --git a/guzzlehttp/psr7/CHANGELOG.md b/guzzlehttp/psr7/CHANGELOG.md index f177f583f..b4fdf3c68 100644 --- a/guzzlehttp/psr7/CHANGELOG.md +++ b/guzzlehttp/psr7/CHANGELOG.md @@ -3,12 +3,18 @@ All notable changes to this project will be documented in this file. -The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## Unreleased +## 1.9.0 - 2022-06-20 + +### Added + +- Added `UriComparator::isCrossOrigin` method + ## 1.8.5 - 2022-03-20 ### Fixed diff --git a/guzzlehttp/psr7/README.md b/guzzlehttp/psr7/README.md index 464cae4f2..64776cb66 100644 --- a/guzzlehttp/psr7/README.md +++ b/guzzlehttp/psr7/README.md @@ -1,6 +1,6 @@ # PSR-7 Message Implementation -This repository contains a full [PSR-7](http://www.php-fig.org/psr/psr-7/) +This repository contains a full [PSR-7](https://www.php-fig.org/psr/psr-7/) message implementation, several stream decorators, and some helpful functionality like query string parsing. @@ -659,7 +659,7 @@ manually but instead is used indirectly via `Psr\Http\Message\UriInterface::__to `public static function fromParts(array $parts): UriInterface` -Creates a URI from a hash of [`parse_url`](http://php.net/manual/en/function.parse-url.php) components. +Creates a URI from a hash of [`parse_url`](https://www.php.net/manual/en/function.parse-url.php) components. ### `GuzzleHttp\Psr7\Uri::withQueryValue` @@ -684,6 +684,16 @@ associative array of key => value. Creates a new URI with a specific query string value removed. Any existing query string values that exactly match the provided key are removed. +## Cross-Origin Detection + +`GuzzleHttp\Psr7\UriComparator` provides methods to determine if a modified URL should be considered cross-origin. + +### `GuzzleHttp\Psr7\UriComparator::isCrossOrigin` + +`public static function isCrossOrigin(UriInterface $original, UriInterface $modified): bool` + +Determines if a modified URL should be considered cross-origin with respect to an original URL. + ## Reference Resolution `GuzzleHttp\Psr7\UriResolver` provides methods to resolve a URI reference in the context of a base URI according @@ -809,14 +819,24 @@ This of course assumes they will be resolved against the same base URI. If this equivalence or difference of relative references does not mean anything. +## Version Guidance + +| Version | Status | PHP Version | +|---------|----------------|------------------| +| 1.x | Security fixes | >=5.4,<8.1 | +| 2.x | Latest | ^7.2.5 \|\| ^8.0 | + + ## Security If you discover a security vulnerability within this package, please send an email to security@tidelift.com. All security vulnerabilities will be promptly addressed. Please do not disclose security-related issues publicly until a fix has been announced. Please see [Security Policy](https://github.com/guzzle/psr7/security/policy) for more information. + ## License Guzzle is made available under the MIT License (MIT). Please see [License File](LICENSE) for more information. + ## For Enterprise Available as part of the Tidelift Subscription diff --git a/guzzlehttp/psr7/composer.json b/guzzlehttp/psr7/composer.json index 7ecdc8ba3..0e36920db 100644 --- a/guzzlehttp/psr7/composer.json +++ b/guzzlehttp/psr7/composer.json @@ -63,7 +63,7 @@ }, "extra": { "branch-alias": { - "dev-master": "1.7-dev" + "dev-master": "1.9-dev" } }, "config": { diff --git a/guzzlehttp/psr7/src/UriComparator.php b/guzzlehttp/psr7/src/UriComparator.php new file mode 100644 index 000000000..ccf51ffb8 --- /dev/null +++ b/guzzlehttp/psr7/src/UriComparator.php @@ -0,0 +1,55 @@ +getHost(), $modified->getHost()) !== 0) { + return true; + } + + if ($original->getScheme() !== $modified->getScheme()) { + return true; + } + + if (self::computePort($original) !== self::computePort($modified)) { + return true; + } + + return false; + } + + /** + * @return int + */ + private static function computePort(UriInterface $uri) + { + $port = $uri->getPort(); + + if (null !== $port) { + return $port; + } + + return 'https' === $uri->getScheme() ? 443 : 80; + } + + private function __construct() + { + // cannot be instantiated + } +}