Line 21... |
Line 21... |
21 |
include_once("../lib/crypt/$config[general_encryption_method].php");
|
21 |
include_once("../lib/crypt/$config[general_encryption_method].php");
|
22 |
|
22 |
|
23 |
//Si auth par @MAC, alors on disocie l'adresse mac du réseau afin que alcasar-macup.sh fasse son travail.
|
23 |
//Si auth par @MAC, alors on disocie l'adresse mac du réseau afin que alcasar-macup.sh fasse son travail.
|
24 |
//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)
|
24 |
//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)
|
25 |
if ($passwd === 'password' && preg_match('/^([a-fA-F0-9]{2}[:|\-]?){6}$/', $login)) {
|
25 |
if ($passwd === 'password' && preg_match('/^([a-fA-F0-9]{2}[:|\-]?){6}$/', $login)) {
|
26 |
$user_ip = exec('sudo chilli_query list | grep '.escapeshellarg($login)." | cut -d' ' -f2");
|
26 |
$user_ip = exec('sudo /usr/sbin/chilli_query list | awk '.escapeshellarg('($5 == 0) && ($6 == "'.$login.'") {print $2}'));
|
27 |
//on vérifie que l'@IP de l'@MAC est différente de celle de l'admin sur l'ACC
|
27 |
//on vérifie que l'@IP de l'@MAC est différente de celle de l'admin sur l'ACC
|
28 |
if ((!empty($user_ip)) && ($user_ip !== $_SERVER['REMOTE_ADDR'])) {
|
28 |
if ((!empty($user_ip)) && ($user_ip !== $_SERVER['REMOTE_ADDR'])) {
|
29 |
exec('sudo chilli_query authorize mac '.escapeshellarg($login));
|
29 |
exec('sudo /usr/sbin/chilli_query login mac '.escapeshellarg($login).' username '.escapeshellarg($login).' password '.escapeshellarg($passwd));
|
30 |
}
|
30 |
}
|
31 |
}
|
31 |
}
|
32 |
|
32 |
|
33 |
/*Ajout en vue de l'impression des données (thank's to Geoffroy MUSITELLI)*/
|
33 |
/*Ajout en vue de l'impression des données (thank's to Geoffroy MUSITELLI)*/
|
34 |
$passwd_imp = $passwd;
|
34 |
$passwd_imp = $passwd;
|