MDL-14123 Full IPv6 support - replaced mnet ip_in_range() by standard ipv6 compatible address_in_subnet(); replaced $_SERVER['REMOTE_ADDR'] with standard getremoteaddr()

This commit is contained in:
skodak
2009-01-09 21:41:47 +00:00
parent e70da470a7
commit b636fdfbc1
3 changed files with 3 additions and 32 deletions
+2 -6
View File
@@ -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;
}
}
-21
View File
@@ -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
+1 -5
View File
@@ -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;
}
}