ipaddresses : invalid netmask2cidr mask was not correctely detected
git-svn-id: https://svn.fournier38.fr/svn/ProgSVN/trunk@5988 bf3deb0d-5f1a-0410-827f-c0cc1f45334c
This commit is contained in:
@@ -355,13 +355,13 @@ class ipaddressesTest extends PHPUnit_Framework_TestCase
|
|||||||
{
|
{
|
||||||
$i = new ipaddresses ();
|
$i = new ipaddresses ();
|
||||||
$res = $i->netmask2cidr ("127.0.0.0");
|
$res = $i->netmask2cidr ("127.0.0.0");
|
||||||
$this->assertSame (7, $res);
|
$this->assertSame (false, $res);
|
||||||
}
|
}
|
||||||
public function test_netmask2cidr7 ()
|
public function test_netmask2cidr7 ()
|
||||||
{
|
{
|
||||||
$i = new ipaddresses ();
|
$i = new ipaddresses ();
|
||||||
$res = $i->netmask2cidr ("63.0.0.0");
|
$res = $i->netmask2cidr ("63.0.0.0");
|
||||||
$this->assertSame (6, $res);
|
$this->assertSame (false, $res);
|
||||||
}
|
}
|
||||||
public function test_netmask2cidr8 ()
|
public function test_netmask2cidr8 ()
|
||||||
{
|
{
|
||||||
@@ -369,6 +369,12 @@ class ipaddressesTest extends PHPUnit_Framework_TestCase
|
|||||||
$res = $i->netmask2cidr ("155.0.0.0");
|
$res = $i->netmask2cidr ("155.0.0.0");
|
||||||
$this->assertSame (false, $res);
|
$this->assertSame (false, $res);
|
||||||
}
|
}
|
||||||
|
public function test_netmask2cidr9 ()
|
||||||
|
{
|
||||||
|
$i = new ipaddresses ();
|
||||||
|
$res = $i->netmask2cidr ("0.0.0.255");
|
||||||
|
$this->assertSame (false, $res);
|
||||||
|
}
|
||||||
|
|
||||||
public function test_netmask2cidrWildcard_1 ()
|
public function test_netmask2cidrWildcard_1 ()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -494,14 +494,14 @@ class ipaddresses
|
|||||||
if ($netmask === FALSE)
|
if ($netmask === FALSE)
|
||||||
throw new \Exception (dgettext ("domframework", "Invalid netmask"), 500);
|
throw new \Exception (dgettext ("domframework", "Invalid netmask"), 500);
|
||||||
$netmask = decbin ($netmask);
|
$netmask = decbin ($netmask);
|
||||||
|
$netmask = sprintf ("%032s", $netmask);
|
||||||
$res = -1;
|
$res = -1;
|
||||||
for ($i = 0 ; $i < 32 ; $i++)
|
for ($i = 0 ; $i < 32 ; $i++)
|
||||||
{
|
{
|
||||||
if (! isset ($netmask[$i]))
|
if ($res === -1 && $netmask[$i] === $maskdirect)
|
||||||
{
|
{
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
elseif ($res == -1 && $netmask[$i] === $maskrevert)
|
elseif ($res === -1 && $netmask[$i] === $maskrevert)
|
||||||
{
|
{
|
||||||
$res = $i;
|
$res = $i;
|
||||||
}
|
}
|
||||||
@@ -509,6 +509,9 @@ class ipaddresses
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if ($res === -1 && $i === 32)
|
if ($res === -1 && $i === 32)
|
||||||
return 32;
|
return 32;
|
||||||
|
|||||||
Reference in New Issue
Block a user