]> git.entuzijast.net Git - freeradius-dialup-admin.git/commitdiff
* Show the correct nas type in nas_admin. Bug noted by Nick Bright
authorkkalev <kkalev>
Mon, 14 Mar 2005 11:51:32 +0000 (11:51 +0000)
committerkkalev <kkalev>
Mon, 14 Mar 2005 11:51:32 +0000 (11:51 +0000)
* 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

Changelog
htdocs/nas_admin.php3
htdocs/user_finger.php3
lib/functions.php3
lib/sql/nas_list.php3

index e2c525e5bdc4f5a0cf92a9799e92d0cf42c3f410..a06dc5dfa45071a99c3436c739debd6dc09ba423 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -24,6 +24,9 @@ Ver 1.78:
 * 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).
index 1175805419381a27388755993006d6d4273bf942..9390198c5f25cb089ede3f54a85fa09630fef448 100644 (file)
@@ -122,12 +122,13 @@ if ($link){
                        $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'];
index db10017654530fc2b18a59de340e21ee07e948bb..41c6db4a06197c68ec2947df787b47b084b8fd65 100644 (file)
@@ -22,7 +22,7 @@ if ($config[general_decode_normal_attributes] == 'yes'){
        $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"))
index c0cd1ce4ddb142647be64cd8bb0d67756a8fadbe..8a630ee27b17c8728e16c93a8375e7a79fa22109 100644 (file)
@@ -110,4 +110,14 @@ function check_defaults($val,$op,$def)
 
        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);
+  }
+
 ?>
index c7448d64bd000526f0b8a3d73f075579d3d1c0e8..a7aa4289060790ad4c31d1ec3a425cbdf36f251d 100644 (file)
@@ -1,5 +1,6 @@
 <?php
 require('../conf/config.php3');
+require_once('../lib/functions.php3');
 
 unset($da_name_cache);
 if (isset($_SESSION['da_name_cache']))
@@ -36,13 +37,16 @@ if ($config[sql_nas_table] != ''){
                                        $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'];