From 921ecff9e2b4632057435c17d7aa950d42a6c0d0 Mon Sep 17 00:00:00 2001 From: Ivan Kurnosov Date: Tue, 19 May 2015 22:18:22 +1200 Subject: [PATCH] [HttpFoundation] IpUtils::checkIp4() should allow networks --- src/Symfony/Component/HttpFoundation/IpUtils.php | 4 ++++ src/Symfony/Component/HttpFoundation/Tests/IpUtilsTest.php | 3 +++ 2 files changed, 7 insertions(+) diff --git a/src/Symfony/Component/HttpFoundation/IpUtils.php b/src/Symfony/Component/HttpFoundation/IpUtils.php index 68e9421d94..fb906b6812 100644 --- a/src/Symfony/Component/HttpFoundation/IpUtils.php +++ b/src/Symfony/Component/HttpFoundation/IpUtils.php @@ -62,6 +62,10 @@ class IpUtils public static function checkIp4($requestIp, $ip) { if (false !== strpos($ip, '/')) { + if ('0.0.0.0/0' === $ip) { + return true; + } + list($address, $netmask) = explode('/', $ip, 2); if ($netmask < 1 || $netmask > 32) { diff --git a/src/Symfony/Component/HttpFoundation/Tests/IpUtilsTest.php b/src/Symfony/Component/HttpFoundation/Tests/IpUtilsTest.php index 726ba6a347..0002478246 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/IpUtilsTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/IpUtilsTest.php @@ -34,6 +34,9 @@ class IpUtilsTest extends \PHPUnit_Framework_TestCase array(true, '192.168.1.1', array('1.2.3.4/1', '192.168.1.0/24')), array(true, '192.168.1.1', array('192.168.1.0/24', '1.2.3.4/1')), array(false, '192.168.1.1', array('1.2.3.4/1', '4.3.2.1/1')), + array(true, '1.2.3.4', '0.0.0.0/0'), + array(false, '1.2.3.4', '256.256.256/0'), + array(false, '1.2.3.4', '192.168.1.0/0'), ); }