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'), ); }