1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-12 19:54:12 +02:00

[ticket/16189] Deprecate inet_ntop and inet_pton wrappers

PHPBB3-16189
This commit is contained in:
rubencm
2019-10-24 19:32:47 +00:00
parent ce35aa8b0b
commit f09f5bc51c
4 changed files with 170 additions and 250 deletions

View File

@@ -311,49 +311,17 @@ class session
foreach ($ips as $ip)
{
if (function_exists('phpbb_ip_normalise'))
// Normalise IP address
$ip = phpbb_ip_normalise($ip);
if ($ip === false)
{
// Normalise IP address
$ip = phpbb_ip_normalise($ip);
if (empty($ip))
{
// IP address is invalid.
break;
}
// IP address is valid.
$this->ip = $ip;
// Skip legacy code.
continue;
}
if (preg_match(get_preg_expression('ipv4'), $ip))
{
$this->ip = $ip;
}
else if (preg_match(get_preg_expression('ipv6'), $ip))
{
// Quick check for IPv4-mapped address in IPv6
if (stripos($ip, '::ffff:') === 0)
{
$ipv4 = substr($ip, 7);
if (preg_match(get_preg_expression('ipv4'), $ipv4))
{
$ip = $ipv4;
}
}
$this->ip = $ip;
}
else
{
// We want to use the last valid address in the chain
// Leave foreach loop when address is invalid
// IP address is invalid.
break;
}
// IP address is valid.
$this->ip = $ip;
}
$this->load = false;