From: skodak Date: Fri, 9 Jan 2009 21:41:47 +0000 (+0000) Subject: MDL-14123 Full IPv6 support - replaced mnet ip_in_range() by standard ipv6 compatible... X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=b636fdfbc13bbb80445bc132e48e0e6a889cf045;p=moodle.git MDL-14123 Full IPv6 support - replaced mnet ip_in_range() by standard ipv6 compatible address_in_subnet(); replaced $_SERVER['REMOTE_ADDR'] with standard getremoteaddr() --- diff --git a/admin/mnet/trustedhosts.php b/admin/mnet/trustedhosts.php index 932e84a6a6..f8ed9176f6 100644 --- a/admin/mnet/trustedhosts.php +++ b/admin/mnet/trustedhosts.php @@ -34,13 +34,9 @@ $in_range = false; if (!empty($test_ip_address)) { foreach($old_trusted_hosts as $host) { - list($network, $mask) = explode('/', $host.'/'); - if (empty($network)) continue; - if (strlen($mask) == 0) $mask = 32; - - if (ip_in_range($test_ip_address, $network, $mask)) { + if (address_in_subnet($test_ip_address, $host)) { $in_range = true; - $validated_by = $network.'/'.$mask; + $validated_by = $host; break; } } diff --git a/mnet/lib.php b/mnet/lib.php index 7539d0fda6..8008e15f64 100644 --- a/mnet/lib.php +++ b/mnet/lib.php @@ -412,27 +412,6 @@ function mnet_generate_keypair($dn = null, $days=28) { return $keypair; } -/** - * Check that an IP address falls within the given network/mask - * ok for export - * - * @param string $address Dotted quad - * @param string $network Dotted quad - * @param string $mask A number, e.g. 16, 24, 32 - * @return bool - */ -function ip_in_range($address, $network, $mask) { - $lnetwork = ip2long($network); - $laddress = ip2long($address); - - $binnet = str_pad( decbin($lnetwork),32,"0","STR_PAD_LEFT" ); - $firstpart = substr($binnet,0,$mask); - - $binip = str_pad( decbin($laddress),32,"0","STR_PAD_LEFT" ); - $firstip = substr($binip,0,$mask); - return(strcmp($firstpart,$firstip)==0); -} - /** * Check that a given function (or method) in an include file has been designated * ok for export diff --git a/mnet/remote_client.php b/mnet/remote_client.php index f000766bb5..1f6e5acdbb 100644 --- a/mnet/remote_client.php +++ b/mnet/remote_client.php @@ -59,11 +59,7 @@ class mnet_remote_client extends mnet_peer { $trusted_hosts = explode(',', get_config('mnet', 'mnet_trusted_hosts')); foreach($trusted_hosts as $host) { - list($network, $mask) = explode('/', $host.'/'); - if (empty($network)) continue; - if (strlen($mask) == 0) $mask = 32; - - if (ip_in_range($_SERVER['REMOTE_ADDR'], $network, $mask)) { + if (address_in_subnet(getremoteaddr(), $host)) { return true; } }