Subversion Repositories ALCASAR

Compare Revisions

Ignore whitespace Rev 2391 → Rev 2392

/web/acc/manager/htdocs/user_edit.php
149,21 → 149,27
include("../lib/$config[general_lib_type]/group_change.php");
include("../lib/defaults.php");
}
# Disconnecting user for re-authentication
$mac = exec("sudo /usr/sbin/chilli_query list | grep ".escapeshellarg(" $login ")." | awk '{print $1}'");
// Disconnecting user for re-authentication
$mac = exec('sudo /usr/sbin/chilli_query list | awk '.escapeshellarg('($5 == 1) && ($6 == "'.$login.'") {print $1}'));
if (!empty($mac)) {
exec("sudo /usr/sbin/chilli_query logout ".escapeshellarg($mac));
exec('sudo /usr/sbin/chilli_query logout mac '.escapeshellarg($mac));
if ($login === $mac) { // Reconnect allowed MAC
exec('sudo /usr/sbin/chilli_query login mac '.escapeshellarg($mac).' username '.escapeshellarg($mac)." password 'password'");
}
}
}
else{
if (is_file("../lib/$config[general_lib_type]/group_info.php"))
include("../lib/$config[general_lib_type]/group_info.php");
# Disconnecting all users from the selected group for re-authentication
if (isset($group_members)){
foreach ($group_members as $g_member => $member){
$mac = exec("sudo /usr/sbin/chilli_query list | grep ".escapeshellarg(" $member ")." | awk '{print $1}'");
// Disconnecting all users from the selected group for re-authentication
if (isset($group_members)) {
foreach ($group_members as $g_member => $member) {
$mac = exec('sudo /usr/sbin/chilli_query list | awk '.escapeshellarg('($5 == 1) && ($6 == "'.$member.'") {print $1}'));
if (!empty($mac)) {
exec("sudo /usr/sbin/chilli_query logout ".escapeshellarg($mac));
exec('sudo /usr/sbin/chilli_query logout mac '.escapeshellarg($mac));
if ($member === $mac) { // Reconnect allowed MAC
exec('sudo /usr/sbin/chilli_query login mac '.escapeshellarg($mac).' username '.escapeshellarg($mac)." password 'password'");
}
}
}
}
/web/acc/manager/lib/sql/create_user.php
23,10 → 23,10
//Si auth par @MAC, alors on disocie l'adresse mac du réseau afin que alcasar-macup.sh fasse son travail.
//Si @MAC à auth a la meme adresse IP, on ne fait pas de dhcp-down.(sinon le PHP ne peut pas s'exécuter entierement)
if ($passwd === 'password' && preg_match('/^([a-fA-F0-9]{2}[:|\-]?){6}$/', $login)) {
$user_ip = exec('sudo chilli_query list | grep '.escapeshellarg($login)." | cut -d' ' -f2");
$user_ip = exec('sudo /usr/sbin/chilli_query list | awk '.escapeshellarg('($5 == 0) && ($6 == "'.$login.'") {print $2}'));
//on vérifie que l'@IP de l'@MAC est différente de celle de l'admin sur l'ACC
if ((!empty($user_ip)) && ($user_ip !== $_SERVER['REMOTE_ADDR'])) {
exec('sudo chilli_query authorize mac '.escapeshellarg($login));
exec('sudo /usr/sbin/chilli_query login mac '.escapeshellarg($login).' username '.escapeshellarg($login).' password '.escapeshellarg($passwd));
}
}
 
/web/acc/manager/lib/sql/delete_user.php
24,10 → 24,10
echo "<b>$l_user $login $l_removed</b><br>\n";
 
if (preg_match('/^([a-fA-F0-9]{2}[:|\-]?){6}$/', $login)) {
$user_ip = exec('sudo chilli_query list | grep '.escapeshellarg($login)." | cut -d' ' -f2");
$user_ip = exec('sudo /usr/sbin/chilli_query list | awk '.escapeshellarg('($5 == 1) && ($6 == "'.$login.'") {print $2}'));
//on vérifie que l'@IP de l'@MAC est différente de celle de l'admin sur l'ACC
if ((!empty($user_ip)) && ($user_ip !== $_SERVER['REMOTE_ADDR'])) {
exec('sudo chilli_query logout '.escapeshellarg($login));
exec('sudo /usr/sbin/chilli_query logout mac '.escapeshellarg($login));
}
}
}