File: nas_list.php3

package info (click to toggle)
freeradius 2.0.4%2Bdfsg-6
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 14,884 kB
  • ctags: 9,109
  • sloc: ansic: 73,328; sh: 12,392; php: 6,679; perl: 3,075; makefile: 1,316; sql: 1,197; python: 171; tcl: 35; sed: 23
file content (62 lines) | stat: -rw-r--r-- 2,176 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
require('../conf/config.php3');
require_once('../lib/functions.php3');

unset($da_name_cache);
if (isset($_SESSION['da_name_cache']))
	$da_name_cache = $_SESSION['da_name_cache'];
if ($config[sql_nas_table] != ''){

	if (is_file("../lib/sql/drivers/$config[sql_type]/functions.php3"))
		include_once("../lib/sql/drivers/$config[sql_type]/functions.php3");
	else{
		echo "<b>Could not include SQL library</b><br>\n";
		exit();
	}
	$link = @da_sql_pconnect($config);
	if ($link){
		$auth_user = $_SERVER["PHP_AUTH_USER"];
		$extra = '';
		if (isset($mappings[$auth_user][nasdb])){
			$NAS_ARR = array();
			$NAS_ARR = split(',',$mappings[$auth_user][nasdb]);
			$extra = 'WHERE nasname IN (';
			foreach ($NAS_ARR as $nas)
				$extra .= "'$nasname',";
			unset($NAS_ARR);
			$extra = rtrim($extra,",");
			$extra .= ')';
		}
		$search = @da_sql_query($link,$config,
		"SELECT * FROM $config[sql_nas_table] $extra;");
		if ($search){
			while($row = @da_sql_fetch_array($search,$config)){
				$num = 0;
				$my_nas_name = $row['nasname'];
				if ($my_nas_name != ''){
					$nas_list[$my_nas_name]['name'] = $my_nas_name;
                                	$nas_server = $da_name_cache[$my_nas_name];
                                	if (!isset($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 || 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'];
					$nas_list[$my_nas_name]['model'] = $row['description'];
				}
			}
		}
	}
	else
		echo "<b>Could not connect to SQL database</b><br>\n";
}

?>