From 9122154d2d198add01a62accc11d90237e8e315d Mon Sep 17 00:00:00 2001 From: Thomas Calvet Date: Mon, 12 Jun 2023 12:28:24 +0200 Subject: [PATCH] [HttpClient] Postpone symfony/http-foundation < 6.3 conflict --- .../HttpClient/NoPrivateNetworkHttpClient.php | 17 ++++++++++++++++- src/Symfony/Component/HttpClient/composer.json | 3 +-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/Symfony/Component/HttpClient/NoPrivateNetworkHttpClient.php b/src/Symfony/Component/HttpClient/NoPrivateNetworkHttpClient.php index 70c172f68678e..24e06128b2efe 100644 --- a/src/Symfony/Component/HttpClient/NoPrivateNetworkHttpClient.php +++ b/src/Symfony/Component/HttpClient/NoPrivateNetworkHttpClient.php @@ -30,6 +30,21 @@ final class NoPrivateNetworkHttpClient implements HttpClientInterface, LoggerAwa { use HttpClientTrait; + private const PRIVATE_SUBNETS = [ + '127.0.0.0/8', // RFC1700 (Loopback) + '10.0.0.0/8', // RFC1918 + '192.168.0.0/16', // RFC1918 + '172.16.0.0/12', // RFC1918 + '169.254.0.0/16', // RFC3927 + '0.0.0.0/8', // RFC5735 + '240.0.0.0/4', // RFC1112 + '::1/128', // Loopback + 'fc00::/7', // Unique Local Address + 'fe80::/10', // Link Local Address + '::ffff:0:0/96', // IPv4 translations + '::/128', // Unspecified address + ]; + private HttpClientInterface $client; private string|array|null $subnets; @@ -59,7 +74,7 @@ public function request(string $method, string $url, array $options = []): Respo $options['on_progress'] = function (int $dlNow, int $dlSize, array $info) use ($onProgress, $subnets): void { static $lastPrimaryIp = ''; if ($info['primary_ip'] !== $lastPrimaryIp) { - if ($info['primary_ip'] && IpUtils::checkIp($info['primary_ip'], $subnets ?? IpUtils::PRIVATE_SUBNETS)) { + if ($info['primary_ip'] && IpUtils::checkIp($info['primary_ip'], $subnets ?? self::PRIVATE_SUBNETS)) { throw new TransportException(sprintf('IP "%s" is blocked for "%s".', $info['primary_ip'], $info['url'])); } diff --git a/src/Symfony/Component/HttpClient/composer.json b/src/Symfony/Component/HttpClient/composer.json index ea2b940cae926..25e9f2e2d1f58 100644 --- a/src/Symfony/Component/HttpClient/composer.json +++ b/src/Symfony/Component/HttpClient/composer.json @@ -43,8 +43,7 @@ "symfony/stopwatch": "^5.4|^6.0" }, "conflict": { - "php-http/discovery": "<1.15", - "symfony/http-foundation": "<6.3" + "php-http/discovery": "<1.15" }, "autoload": { "psr-4": { "Symfony\\Component\\HttpClient\\": "" },