Subversion Repositories ALCASAR

Compare Revisions

Ignore whitespace Rev 846 → Rev 847

/alcasar.sh
950,10 → 950,9
touch $DIR_DEST_ETC/alcasar-uamallowed $DIR_DEST_ETC/alcasar-uamdomain
chown root:apache $DIR_DEST_ETC/alcasar-*
chmod 660 $DIR_DEST_ETC/alcasar-*
# Configuration des fichier WEB d'interception (secret partagé avec coova-chilli et nom d'organisme)
# Configuration des fichier WEB d'interception (secret partagé avec coova-chilli)
$SED "s?^\$uamsecret =.*?\$uamsecret = \"$secretuam\";?g" $DIR_WEB/intercept.php
$SED "s?^\$userpassword=1.*?\$userpassword=1;?g" $DIR_WEB/intercept.php
$SED "s?^\$organisme = .*?\$organisme = \"$ORGANISME\";?g" $DIR_WEB/intercept.php $DIR_WEB/status.php
# user 'chilli' creation (in order to run conup/off and up/down scripts
chilli_exist=`grep chilli /etc/passwd|wc -l`
if [ "$chilli_exist" == "1" ]
/web/intercept.php
11,7 → 11,6
# notice and this permission notice is included in all copies or
# substantial portions of the software.
 
$organisme = "";
# Redirects from CoovaChilli (chilli daemon) :
# Response to login:
# success : if login successful
21,6 → 20,42
# notyet : if not logged in yet
# Default : it was not a form request -> client go to login form
 
/****************************************************************
* GLOBAL FILE PATHS *
*****************************************************************/
define ("CONF_FILE", "/usr/local/etc/alcasar.conf");
 
/****************************************************************
* FILE TEST *
*****************************************************************/
//Test de présence et des droits en lecture des fichiers de configuration.
if (!file_exists(CONF_FILE)){
exit("Fichier de configuration ".CONF_FILE." non présent");
}
if (!is_readable(CONF_FILE)){
exit("Vous n'avez pas les droits de lecture sur le fichier ".CONF_FILE);
}
 
/****************************************************************
* Read CONF_FILE *
*****************************************************************/
$ouvre=fopen(CONF_FILE,"r");
if ($ouvre){
while (!feof ($ouvre))
{
$tampon = fgets($ouvre, 4096);
if (strpos($tampon,"=")!==false){
$tmp = explode("=",$tampon);
$conf[$tmp[0]] = $tmp[1];
}
}
}else{
exit("Erreur d'ouverture du fichier ".ALCASAR_ETH1);
}
fclose($ouvre);
 
$organisme = $conf["ORGANISM"];
 
# Shared secret used to encrypt challenge with radius.
$uamsecret = "";
 
51,7 → 86,7
$l_wait = "Por favor, espere un momento ...";
$l_onlinetime = "Tiempo de conexión:";
$l_remainingtime = "Desconexión en:";
$l_encrypted = "La apertura debe usar conexión cifrada (https)";
$l_encrypted = "La apertura debe usar conexión cifrada";
$l_boutonO = "Autenticación";
$l_boutonF = "Cerrar";
$l_loggedin_stringl1 = "Information System Security";
82,7 → 117,7
$l_wait = "Bitte warten Sie einen Moment ...";
$l_onlinetime = "Online-Zeit:";
$l_remainingtime = "Abmelden:";
$l_encrypted = "Die Öffnung muß der Anschluß Zahlen (https)";
$l_encrypted = "Die Öffnung muß der Anschluß Zahlen";
$l_boutonO = "Authentifizierung";
$l_boutonF = "Schließen";
$l_loggedin_stringl1 = "Information System Security";
113,7 → 148,7
$l_wait = "Wacht een moment ...";
$l_onlinetime = "Sluit tijd:";
$l_remainingtime = "Verbreking in:";
$l_encrypted = "De opening moet gebruiken gecodeerde verbinding (https)";
$l_encrypted = "De opening moet gebruiken gecodeerde verbinding";
$l_boutonO = "Authenticatie";
$l_boutonF = "Sluiten";
$l_loggedin_stringl1 = "Information System Security";
144,7 → 179,7
$l_wait = "Patientez un instant ...";
$l_onlinetime = "Temps de connexion:";
$l_remainingtime = "Deconnexion dans :";
$l_encrypted = "La connexion avec le portail doit être chiffrée (https)";
$l_encrypted = "La connexion avec le portail doit être chiffrée";
$l_boutonO = "Authentification";
$l_boutonF = "Fermer";
$l_loggedin_stringl1 = "Sécurité des Systèmes d'Information";
175,7 → 210,7
$l_wait = "Please wait a moment ...";
$l_onlinetime = "Connect time:";
$l_remainingtime = "Disconnection in:";
$l_encrypted = "The connection with the portal must encrypted (https)";
$l_encrypted = "The connection with the portal must be encrypted";
$l_boutonO = "Authentication";
$l_boutonF = "Close";
$l_loggedin_stringl1 = "Information System Security";
/web/acc/admin/services.php
135,24 → 135,6
$OptServiceStatus['freshclam'] = checkServiceStatus("freshclam","pid");
$OptServiceStatus['ntpd'] = checkServiceStatus("ntpd","pid");
 
/********************************************************************
* Lecture du fichier CONF_FILE *
*********************************************************************/
$ouvre=fopen(CONF_FILE,"r");
if ($ouvre){
while (!feof ($ouvre))
{
$tampon = fgets($ouvre, 4096);
if (strpos($tampon,"=")!==false){
$tmp = explode("=",$tampon);
$conf[$tmp[0]] = $tmp[1];
}
}
}else{
exit("Erreur d'ouverture du fichier ".ALCASAR_ETH1);
}
fclose($ouvre);
 
/****************
* MAIN *
*****************/
/web/acc/manager/htdocs/import_user.php
26,9 → 26,13
$l_db_import = "Importer à partir d'une sauvegarde de la base d'usagers (format SQL)";
$l_db_import_help = "Afin de pouvoir imputer les dernière traces de connexion, une sauvegarde de la base actuelle sera automatiquement réalisée.";
$l_db_reset = "Remise à zéro de la base usagers";
$l_error_ext_txt = "Erreur! Veuillez sélectionner un fichier de type csv ou txt";
$l_error_ext_sql = "Erreur! Veuillez sélectionner un fichier de type sql";
$l_error_ext_txt = "Erreur! Veuillez sélectionner un fichier avec l'extension '.csv' ou '.txt'";
$l_error_ext_sql = "Erreur! Veuillez sélectionner un fichier avec l'extension '.sql'";
$l_group_empty = "La liste des groupes est vide";
$l_out_title = " --- Accès à Internet via ALCASAR --- ";
$l_out_login = "Nom de connexion :";
$l_out_passwd = "Mot de passe :";
$l_out_mind = "Pensez à changer votre mot de passe (lien sur la page d'authentification)";
}
else {
$l_title = "Users import";
44,9 → 48,13
$l_db_import = "Import from a saved users database file (SQL format)";
$l_db_import_help = "In order to impute the last connections, the actual users database will be automaticly saved.";
$l_db_reset = "Reset the users database";
$l_error_ext_txt = "Error! Please select a txt or csv file";
$l_error_ext_sql = "Error! Please select a sql file";
$l_error_ext_txt = "Error! Please select a file with '.txt' or '.csv' extension";
$l_error_ext_sql = "Error! Please select a file with '.sql' extension";
$l_group_empty = "The group list is empty";
$l_out_title = " --- Internet access via ALCASAR --- ";
$l_out_login = "Login :";
$l_out_passwd = "Password :";
$l_out_mind = "Don't forget to change your password (a link is on the authentication window)";
}
function getImportFileList(){
$importFile = array();
64,15 → 72,6
}
return $importFile;
}
function creatlog ($login,$password,$service,$RS_out)
{
/* génère un fichier en sortie avec les info de connexion en clair */
fputs($RS_out," --- Accès à Internet via ALCASAR --- "."\r\n\r\n");
fputs($RS_out,"Service : $service"."\r\n\r\n");
fputs($RS_out,"Nom de connexion : $login | Mot de passe : $password\r\n\r\n");
fputs($RS_out,"Pensez à changer votre mot de passe (lien sur la page d'authentification)"."\r\n\r\n");
fputs($RS_out,"--------------------------------------------------------------------------------"."\r\n\r\n");
}
function GenPassword($nb_car="8")
{
/* generation aléatoire du mot de passe */
138,8 → 137,6
if (($extension != '.csv') && ($extension != '.txt')) $result = $l_error_ext_txt;
else
{
$tmpdate = date("Ymd-hms");
$file_out = "/tmp/$tmpdate-$name_file.pwd" ;
exec ("sudo /usr/local/sbin/alcasar-mysql.sh --dump");
move_uploaded_file($_FILES['import-users']['tmp_name'], $destination);
$RS_in = file ($destination);
149,12 → 146,18
if (is_file($LIBpath."crypt/$config[general_encryption_method].php"))
{
include($LIBpath."crypt/$config[general_encryption_method].php");
$tmpdate = date("Ymd-his");
$file_out = "/tmp/$tmpdate-$name_file.pwd" ;
$RS_out = fopen ("$file_out", "wb");
foreach ($RS_in as $no => $ligne)
{
if (substr($ligne,0,3) == pack('CCC',239,187,191)) # remove UTF8-BOM
{
$ligne = substr ($ligne,3);
}
$tligne = split(" ",$ligne);
$login = str_replace("%0D","",str_replace("%0A","",urlencode ($tligne[0])));
$password = str_replace("%0D","",str_replace("%0A","",urlencode ($tligne[1])));
$login = trim ($tligne[0]);
$password = trim ($tligne[1]);
if ($login != '')
{
if ($password == "")
161,8 → 164,9
{
$password = GenPassword();
}
$login = da_sql_escape_string($login);
$passwd = da_sql_escape_string($passwd);
$passwd = da_encrypt($password);
$passwd = da_sql_escape_string($passwd);
/* insertion (login + password) dans la table "radcheck" (si l'usager existe --> changement de mot de passe) */
$res = @da_sql_query($link,$config,"INSERT INTO $config[sql_check_table] (attribute,value,username $text) VALUES ('$config[sql_password_attribute]','$passwd','$login' $passwd_op);");
if (!$res || !@da_sql_affected_rows($link,$res,$config))
172,8 → 176,12
}
else
{
creatlog ($login,$password,$service,$RS_out);
/*echo $login." : ".$password." , ";*/
/* create the user informations file */
fputs($RS_out,"$l_out_title\r\n\r\n");
fputs($RS_out,"Service : $service\r\n\r\n");
fputs($RS_out,"$l_out_login $login | $l_out_passwd $password\r\n\r\n");
fputs($RS_out,"$l_out_mind\r\n\r\n");
fputs($RS_out,"--------------------------------------------------------------------------------\r\n\r\n");
}
/* insertion de l'usager dans la table "userinfo" */
if ($config[sql_use_user_info_table] == 'true' && !$da_abort)
/web/status.php
1,9 → 1,44
<?php
#
# status.php for Alcasar captive portal
# by steweb57
# by steweb57 & Rexy
#
$organisme = "etrs-test";
/****************************************************************
* GLOBAL FILE PATHS *
*****************************************************************/
define ("CONF_FILE", "/usr/local/etc/alcasar.conf");
 
/****************************************************************
* FILE TEST *
*****************************************************************/
//Test de présence et des droits en lecture des fichiers de configuration.
if (!file_exists(CONF_FILE)){
exit("Fichier de configuration ".CONF_FILE." non présent");
}
if (!is_readable(CONF_FILE)){
exit("Vous n'avez pas les droits de lecture sur le fichier ".CONF_FILE);
}
 
/****************************************************************
* Read CONF_FILE *
*****************************************************************/
$ouvre=fopen(CONF_FILE,"r");
if ($ouvre){
while (!feof ($ouvre))
{
$tampon = fgets($ouvre, 4096);
if (strpos($tampon,"=")!==false){
$tmp = explode("=",$tampon);
$conf[$tmp[0]] = $tmp[1];
}
}
}else{
exit("Erreur d'ouverture du fichier ".ALCASAR_ETH1);
}
fclose($ouvre);
 
$organisme = $conf["ORGANISM"];
 
$remote_ip = ($_SERVER['REMOTE_ADDR']);
$connection_history = "";
$nb_connection_history = 3;