* Correctly calculate the nas ip in lib/sql/nas_list.php3. Add a check_ip() function in lib/functions.php3
Bug noted by Nick Bright
* In user_finger only set LD_LIBRARY_PATH once, not each time we call snmpfinger
* Add support for usrhiper in snmpfinger. Patch from Nick Bright
* urlencode() all occurrences of the $login variable when used in url's. Bug noted by Dag Landau
+* Show the correct nas type in nas_admin. Bug noted by Nick Bright
+* Correctly calculate the nas ip in lib/sql/nas_list.php3. Add a check_ip() function in lib/functions.php3
+ Bug noted by Nick Bright
Ver 1.75:
* A LOT of security related fixes. Now dialupadmin should hopefully be secure enough to
be accessed by normal users (not administrators).
$my_nas_name = $row['nasname'];
if ($my_nas_name != ''){
$num++;
- if ($clear_fields == 0 && $selected_nas == $my_nas_name)
- $selected[$my_nas_name] = 'selected';
$my_nas_list[$my_nas_name]['name'] = $my_nas_name;
$my_nas_list[$my_nas_name]['shortname'] = $row['shortname'];
$my_nas_list[$my_nas_name]['type'] = $row['type'];
- $selected[$my_nas_list[$my_nas_name]['type']] = 'selected';
+ if ($clear_fields == 0 && $selected_nas == $my_nas_name){
+ $selected[$my_nas_name] = 'selected';
+ $selected[$my_nas_list[$my_nas_name]['type']] = 'selected';
+ }
$my_nas_list[$my_nas_name]['ports'] = $row['ports'];
$my_nas_list[$my_nas_name]['secret'] = $row['secret'];
$my_nas_list[$my_nas_name]['community'] = $row['community'];
$k = init_decoder();
$decode_normal = 1;
}
-require('../lib/functions.php3');
+require_once('../lib/functions.php3');
require("../lib/$config[general_lib_type]/functions.php3");
if (is_file("../lib/sql/drivers/$config[sql_type]/functions.php3"))
return 0;
}
+
+function check_ip($ipaddr) {
+ if(ereg("^([0-9]{1,3})\x2E([0-9]{1,3})\x2E([0-9]{1,3})\x2E([0-9]{1,3})$", $ipaddr,$digit)) {
+ if(($digit[1] <= 255) && ($digit[2] <= 255) && ($digit[3] <= 255) && ($digit[4] <= 255)) {
+ return(1);
+ }
+ }
+ return(0);
+ }
+
?>
<?php
require('../conf/config.php3');
+require_once('../lib/functions.php3');
unset($da_name_cache);
if (isset($_SESSION['da_name_cache']))
$nas_list[$my_nas_name]['name'] = $my_nas_name;
$nas_server = $da_name_cache[$my_nas_name];
if (!isset($nas_server)){
- $nas_server = @gethostbyname($nas_server);
+ if (!check_ip($my_nas_name))
+ $nas_server = @gethostbyname($my_nas_name);
+ else
+ $nas_server = $my_nas_name;
if (!isset($da_name_cache) && $config[general_use_session] == 'yes'){
$da_name_cache[$my_nas_name] = $nas_server;
session_register('da_name_cache');
}
}
- if ($nas_server != $my_nas_name)
+ if ($nas_server != $my_nas_name || check_ip($nas_server))
$nas_list[$my_nas_name]['ip'] = $nas_server;
$nas_list[$my_nas_name]['port_num'] = $row['ports'];
$nas_list[$my_nas_name]['community'] = $row['community'];