function get_user_dn($ds, $user, $config) { if ($ds) { $attrs = array('dn'); if ($config[ldap_userdn] == '') { if ($config[ldap_filter] != '') { $filter = xlat($config[ldap_filter], $login, $config); } else { $filter = 'uid=' . $login; } } else { $filter = xlat($config[ldap_userdn], $login, $config); } if ($config[ldap_debug] == 'true') { if ($config[ldap_userdn] == '') { print "<b>DEBUG(LDAP): Search Query: BASE='{$config['ldap_base']}',FILTER='{$filter}'</b><br>\n"; } else { print "<b>DEBUG(LDAP): Search Query: BASE='{$filter}',FILTER='(objectclass=radiusprofile)'</b><br>\n"; } } if ($config[ldap_userdn] == '') { $sr = @ldap_search($ds, "{$config['ldap_base']}", $filter, $attrs); } else { $sr = @ldap_read($ds, $filter, '(objectclass=radiusprofile)', $attrs); } $entry = ldap_first_entry($ds, $sr); if ($entry) { $dn = ldap_get_dn($ds, $entry); } return $dn; } }
if (preg_match('/^[[:space:]]*#/', $val) || preg_match('/^[[:space:]]*$/', $val)) { continue; } list($key, $v) = preg_split("/\t+/", $val); $show_attrs["{$key}"] = $v != '' ? "{$v}" : "{$key}"; } if ($config[general_use_session] == 'yes') { session_register('show_attrs'); } } unset($acct_attrs); if (isset($_SESSION['acct_attrs'])) { $acct_attrs = $_SESSION['acct_attrs']; } if (!isset($acct_attrs) && isset($config[general_accounting_attrs_file])) { $infile = xlat($config[general_accounting_attrs_file], $login, $config); $ARR = file($infile); foreach ($ARR as $val) { $val = chop($val); if (preg_match('/^[[:space:]]*#/', $val) || preg_match('/^[[:space:]]*$/', $val)) { continue; } list($num, $desc, $showua, $showuf, $showfl) = preg_split("/\t+/", $val); if ($showua == 'yes') { $acct_attrs["ua"]["num"]++; $acct_attrs["ua"]["{$num}"] = $desc; } if ($showuf == 'yes') { $acct_attrs["uf"]["num"]++; $acct_attrs["uf"]["{$num}"] = $desc; }
unset($item_vals); if ($config[general_decode_normal_attributes] == 'yes') { $decode_normal = 1; } $ds = @ldap_connect("{$config['ldap_server']}"); // must be a valid ldap server! if ($ds) { $r = @da_ldap_bind($ds, $config); if ($config[ldap_userdn] == '') { if ($config[ldap_filter] != '') { $filter = xlat($config[ldap_filter], $login, $config); } else { $filter = 'uid=' . $login; } } else { $filter = xlat($config[ldap_userdn], $login, $config); } if ($config[ldap_debug] == 'true') { if ($config[ldap_userdn] == '') { print "<b>DEBUG(LDAP): Search Query: BASE='{$config['ldap_base']}',FILTER='{$filter}'</b><br>\n"; } else { print "<b>DEBUG(LDAP): Search Query: BASE='{$filter}',FILTER='(objectclass=radiusprofile)'</b><br>\n"; } } if ($config[ldap_userdn] == '') { $sr = @ldap_search($ds, "{$config['ldap_base']}", $filter); } else { $sr = @ldap_read($ds, $filter, '(objectclass=radiusprofile)'); } $info = @ldap_get_entries($ds, $sr); $dn = $info[0]['dn'];
if (is_file("../lib/sql/drivers/{$config['sql_type']}/functions.php")) { include_once "../lib/sql/drivers/{$config['sql_type']}/functions.php"; } else { echo <<<EOM <body> <center> <b>Could not include SQL library functions. Aborting</b> </body> </html> EOM; exit; } $date = strftime('%A, %e %B %Y, %T %Z'); $sql_extra_query = ''; if ($config[sql_accounting_extra_query] != '') { $sql_extra_query = xlat($config[sql_accounting_extra_query], $login, $config); $sql_extra_query = da_sql_escape_string($sql_extra_query); } $link = @da_sql_pconnect($config); $link2 = connect2db($config); $tot_in = $tot_rem = 0; if ($link) { $h = 21; $servers_num = 0; if ($config[general_ld_library_path] != '') { putenv("LD_LIBRARY_PATH={$config['general_ld_library_path']}"); } foreach ($nas_list as $nas) { $j = 0; $num = 0; if ($server != '') {
if ($attrmap[generic]["{$key}"] == 'generic') { for ($i = 0; $i < $info[0]["{$val}"][count]; $i++) { $default_vals["{$key}"][] = $info[0]["{$val}"][$i]; } $default_vals["{$key}"][count] += $info[0]["{$val}"][count]; } else { $default_vals["{$key}"] = $info[0]["{$val}"]; } } } } } if ($regular_profile_attr != '') { $get_attrs = array("{$regular_profile_attr}"); if ($config[ldap_filter] != '') { $filter = xlat($config[ldap_filter], $login, $config); } else { $filter = 'uid=' . $login; } if ($config[ldap_debug] == 'true') { print "<b>DEBUG(LDAP): Search Query: BASE='{$config['ldap_base']}',FILTER='{$filter}'</b><br>\n"; } $sr = @ldap_search($ds, "{$config['ldap_base']}", $filter, $get_attrs); if ($info = @ldap_get_entries($ds, $sr)) { for ($i = 0; $i < $info[0][$regular_profile_attr]["count"]; $i++) { $dn2 = $info[0][$regular_profile_attr][$i]; if ($dn2 != '') { if ($config[ldap_debug] == 'true') { print "<b>DEBUG(LDAP): Search Query: BASE='{$dn2}',FILTER='objectclass=*'</b><br>\n"; } $sr2 = @ldap_search($ds, "{$dn2}", 'objectclass=*');