HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //opt/librepanel-backup/tests/Froxlor/IPToolsTest.php
<?php

use PHPUnit\Framework\TestCase;

use LibrePanel\System\IPTools;

/**
 *
 * @covers \LibrePanel\System\IPTools
 */
class IPToolsTest extends TestCase
{
	public function testValidateIPv6()
	{
		$result = IPTools::is_ipv6('1.1.1.1/4');
		$this->assertFalse($result);
		$result = IPTools::is_ipv6('1.1.1.1');
		$this->assertFalse($result);
		$result = IPTools::is_ipv6('::ffff:10.20.30.40');
		$this->assertEquals('::ffff:10.20.30.40', $result);
		$result = IPTools::is_ipv6('2620:0:2d0:200::7/32');
		$this->assertFalse($result);
		$result = IPTools::is_ipv6('2620:0:2d0:200::7');
		$this->assertEquals('2620:0:2d0:200::7', $result);
	}

	public function testValidateIPinRange()
	{
		$result = IPTools::ip_in_range([0=>'82.149.225.46',1=>24], '123.213.132.1');
		$this->assertFalse($result);
		$result = IPTools::ip_in_range([0=>'82.149.225.46',1=>24], '2620:0:2d0:200::7');
		$this->assertFalse($result);
		$result = IPTools::ip_in_range([0=>'82.149.225.46',1=>24], '82.149.225.152');
		$this->assertTrue($result);
		$result = IPTools::ip_in_range([0=>'2620:0:2d0:200::1',1=>116], '2620:0:2d0:200::fff1');
		$this->assertFalse($result);
		$result = IPTools::ip_in_range([0=>'2620:0:2d0:200::1',1=>64], '2620:0:2d0:200::fff1');
		$this->assertTrue($result);
	}
}