| 895 | 
           richard | 
           1 | 
           <?php
  | 
        
        
           | 958 | 
           franck | 
           2 | 
           # $Id: intercept.php 2239 2017-05-20 21:22:48Z tom.houdayer $
  | 
        
        
           | 895 | 
           richard | 
           3 | 
           #
  | 
        
        
           | 1249 | 
           richard | 
           4 | 
           # intercept.php for ALCASAR captive portal
  | 
        
        
           | 895 | 
           richard | 
           5 | 
           # Copyright (C) 2003, 2004 Mondru AB.
  | 
        
        
            | 
            | 
           6 | 
           # Modify by REXY & steweb57
  | 
        
        
            | 
            | 
           7 | 
           # UI & css style by stephane ERARD
  | 
        
        
            | 
            | 
           8 | 
           # Help for language translation by B. AUBARD (thanks)
  | 
        
        
            | 
            | 
           9 | 
              | 
        
        
            | 
            | 
           10 | 
           # The contents of this file may be used under the terms of the GNU
  | 
        
        
            | 
            | 
           11 | 
           # General Public License Version 2, provided that the above copyright
  | 
        
        
            | 
            | 
           12 | 
           # notice and this permission notice is included in all copies or
  | 
        
        
            | 
            | 
           13 | 
           # substantial portions of the software.
  | 
        
        
            | 
            | 
           14 | 
              | 
        
        
            | 
            | 
           15 | 
           # Redirects from CoovaChilli (chilli daemon) :
  | 
        
        
            | 
            | 
           16 | 
           # Response to login:
  | 
        
        
            | 
            | 
           17 | 
             # success :	if login successful
  | 
        
        
            | 
            | 
           18 | 
             # failed :	if login failed
  | 
        
        
            | 
            | 
           19 | 
             # logoff :	if logout successful
  | 
        
        
            | 
            | 
           20 | 
             # already :	if tried to login while already logged in
  | 
        
        
            | 
            | 
           21 | 
             # notyet :	if not logged in yet
  | 
        
        
            | 
            | 
           22 | 
             # Default :	it was not a form request -> client go to login form
  | 
        
        
            | 
            | 
           23 | 
              | 
        
        
            | 
            | 
           24 | 
           /****************************************************************
  | 
        
        
            | 
            | 
           25 | 
           *			GLOBAL FILE PATHS			*
  | 
        
        
            | 
            | 
           26 | 
           *****************************************************************/
  | 
        
        
           | 2238 | 
           tom.houday | 
           27 | 
           define('CONF_FILE', '/usr/local/etc/alcasar.conf');
  | 
        
        
            | 
            | 
           28 | 
           define('DOMAIN_ALLOWED_LIST', '/usr/local/etc/alcasar-uamdomain');
  | 
        
        
           | 895 | 
           richard | 
           29 | 
              | 
        
        
            | 
            | 
           30 | 
           /****************************************************************
  | 
        
        
           | 930 | 
           richard | 
           31 | 
           *			FILE reading test			*
  | 
        
        
           | 895 | 
           richard | 
           32 | 
           *****************************************************************/
  | 
        
        
           | 2238 | 
           tom.houday | 
           33 | 
           $conf_files = array(CONF_FILE, DOMAIN_ALLOWED_LIST);
  | 
        
        
           | 2182 | 
           tom.houday | 
           34 | 
           foreach ($conf_files as $file) {
  | 
        
        
            | 
            | 
           35 | 
           	if (!file_exists($file)) {
  | 
        
        
           | 2238 | 
           tom.houday | 
           36 | 
           		exit("Fichier $file non présent");
  | 
        
        
           | 913 | 
           richard | 
           37 | 
           	}
  | 
        
        
           | 2182 | 
           tom.houday | 
           38 | 
           	if (!is_readable($file)) {
  | 
        
        
           | 2238 | 
           tom.houday | 
           39 | 
           		exit("Vous n'avez pas les droits de lecture sur le fichier $file");
  | 
        
        
           | 913 | 
           richard | 
           40 | 
           	}
  | 
        
        
            | 
            | 
           41 | 
           }
  | 
        
        
           | 895 | 
           richard | 
           42 | 
           /****************************************************************
  | 
        
        
            | 
            | 
           43 | 
           *			Read CONF_FILE				*
  | 
        
        
            | 
            | 
           44 | 
           *****************************************************************/
  | 
        
        
           | 2182 | 
           tom.houday | 
           45 | 
           $file_conf = fopen(CONF_FILE, 'r');
  | 
        
        
            | 
            | 
           46 | 
           if (!$file_conf) {
  | 
        
        
            | 
            | 
           47 | 
           	exit('Error opening the file '.CONF_FILE);
  | 
        
        
            | 
            | 
           48 | 
           }
  | 
        
        
            | 
            | 
           49 | 
           while (!feof($file_conf)) {
  | 
        
        
           | 2238 | 
           tom.houday | 
           50 | 
           	$buffer = fgets($file_conf, 4096);
  | 
        
        
            | 
            | 
           51 | 
           	if ((strpos($buffer, '=') !== false) && (substr($buffer, 0, 1) !== '#')) {
  | 
        
        
            | 
            | 
           52 | 
           		$tmp = explode('=', $buffer);
  | 
        
        
           | 2182 | 
           tom.houday | 
           53 | 
           		$conf[$tmp[0]] = trim($tmp[1]);
  | 
        
        
           | 895 | 
           richard | 
           54 | 
           	}
  | 
        
        
            | 
            | 
           55 | 
           }
  | 
        
        
           | 2182 | 
           tom.houday | 
           56 | 
           fclose($file_conf);
  | 
        
        
            | 
            | 
           57 | 
              | 
        
        
           | 2238 | 
           tom.houday | 
           58 | 
           $organisme = $conf["ORGANISM"];
  | 
        
        
           | 895 | 
           richard | 
           59 | 
              | 
        
        
           | 2059 | 
           richard | 
           60 | 
           # Shared secret used to encrypt password with coova.
  | 
        
        
           | 930 | 
           richard | 
           61 | 
           $uamsecret = "";
  | 
        
        
           | 895 | 
           richard | 
           62 | 
              | 
        
        
            | 
            | 
           63 | 
           # URL loaded after success authenticates (let blank for browser defaults)
  | 
        
        
            | 
            | 
           64 | 
           $adminurl = "";
  | 
        
        
            | 
            | 
           65 | 
              | 
        
        
            | 
            | 
           66 | 
           # Our own path
  | 
        
        
           | 2182 | 
           tom.houday | 
           67 | 
           $loginpath   = htmlspecialchars($_SERVER['PHP_SELF']);
  | 
        
        
           | 2238 | 
           tom.houday | 
           68 | 
           $alcasarpath = 'http://'.$conf['HOSTNAME'].'.'.$conf['DOMAIN'];
  | 
        
        
           | 2182 | 
           tom.houday | 
           69 | 
           $statuspath  = $alcasarpath.'/status.php';
  | 
        
        
           | 895 | 
           richard | 
           70 | 
              | 
        
        
            | 
            | 
           71 | 
           # Choice of language
  | 
        
        
            | 
            | 
           72 | 
           $Language = 'en';
  | 
        
        
           | 2182 | 
           tom.houday | 
           73 | 
           if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
  | 
        
        
            | 
            | 
           74 | 
           	$Langue = explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']);
  | 
        
        
            | 
            | 
           75 | 
           	$Language = strtolower(substr(chop($Langue[0]),0,2));
  | 
        
        
           | 1452 | 
           richard | 
           76 | 
           }
  | 
        
        
           | 2238 | 
           tom.houday | 
           77 | 
           if ($Language === 'es') {		// Spanish
  | 
        
        
            | 
            | 
           78 | 
           	$l_ChilliError			= "La autenticación debe ser un éxito a través del servicio de portal cautivo.";
  | 
        
        
            | 
            | 
           79 | 
           	$l_login			= "El éxito de la autenticación.<HR>Cierre esta ventana interrumpte la sesion.";
  | 
        
        
            | 
            | 
           80 | 
           	$l_logout			= "Conexión de cierre";
  | 
        
        
            | 
            | 
           81 | 
           	$l_loginfailed			= "Error de autenticación";
  | 
        
        
            | 
            | 
           82 | 
           	$l_loggingin			= "Identificación en el portal cautivo";
  | 
        
        
            | 
            | 
           83 | 
           	$l_loggedcont			= "Control de Acceso";
  | 
        
        
            | 
            | 
           84 | 
           	$l_loggedout			= "Su sesión se cierra";
  | 
        
        
            | 
            | 
           85 | 
           	$l_user				= "Usuario";
  | 
        
        
            | 
            | 
           86 | 
           	$l_password			= "Contraseña";
  | 
        
        
            | 
            | 
           87 | 
           	$l_wait				= "Por favor, espere un momento ...";
  | 
        
        
            | 
            | 
           88 | 
           	$l_onlinetime			= "Tiempo de conexión:";
  | 
        
        
            | 
            | 
           89 | 
           	$l_remainingtime		= "Desconexión en:";
  | 
        
        
            | 
            | 
           90 | 
           	$l_encrypted			= "La apertura debe usar conexión cifrada";
  | 
        
        
            | 
            | 
           91 | 
           	$l_boutonO			= "Autenticación";
  | 
        
        
            | 
            | 
           92 | 
           	$l_boutonF			= "Cerrar";
  | 
        
        
            | 
            | 
           93 | 
           	$l_loggedin_stringl1		= "Information System Security";
  | 
        
        
            | 
            | 
           94 | 
           	$l_loggedin_stringl2		= "El portal fue creado reglamentos para garantizar la trazabilidad, la rendición de cuentas y el no repudio de las conexiones.";
  | 
        
        
            | 
            | 
           95 | 
           	$l_loggedin_stringl3		= "Su actividad en la red es registrada, de conformidad con la privacidad.";
  | 
        
        
            | 
            | 
           96 | 
           	$l_loggedin_stringl4		= "Los datos registrados pueden ser capaces de ser operado por una autoridad judicial en el curso de una investigación.";
  | 
        
        
            | 
            | 
           97 | 
           	$l_loggedin_stringl5		= "Estos datos se eliminan automáticamente después de un año.";
  | 
        
        
            | 
            | 
           98 | 
           	$l_loggedin_stringl6		= "Click <a href='$alcasarpath'>here</a> to change your password or to integrate the security certificate in your browser";
  | 
        
        
            | 
            | 
           99 | 
           	$l_loggedout_string		= "Cerrar sesión hizo portal cautivo!";
  | 
        
        
            | 
            | 
           100 | 
           	$l_reply_1			= "Your daily connexion time has been reached";
  | 
        
        
            | 
            | 
           101 | 
           	$l_reply_2			= "Your monthly connexion time has been reached";
  | 
        
        
            | 
            | 
           102 | 
           	$l_reply_3			= "You try to connect outside of your allowed timespan";
  | 
        
        
            | 
            | 
           103 | 
           	$l_reply_4			= "your account expired";
  | 
        
        
            | 
            | 
           104 | 
           	$l_reply_5			= "You have reached the maximum number of simultaneous logins";
  | 
        
        
            | 
            | 
           105 | 
           	$l_reply_6			= "Your authorized connexion time has been reached";
  | 
        
        
            | 
            | 
           106 | 
           	$l_online_time			= "Tiempo en linea";
  | 
        
        
            | 
            | 
           107 | 
           	$l_remaining_time		= "Tiempo restante";
  | 
        
        
            | 
            | 
           108 | 
           	$l_uam_domain			= "Sitios web autorizados : ";
  | 
        
        
            | 
            | 
           109 | 
           	$l_autoregistration 		= "Registo automático";
  | 
        
        
            | 
            | 
           110 | 
           } else if ($Language === 'pt') {	// Portuguese
  | 
        
        
            | 
            | 
           111 | 
           	$l_ChilliError			= "A autenticação precisa ser bem sucedida através do portal.";
  | 
        
        
            | 
            | 
           112 | 
           	$l_login			= "Sucesso na autenticação.<HR>Matenha esse pop-up apenas minimizado para não interromper a conexão";
  | 
        
        
            | 
            | 
           113 | 
           	$l_logout			= "Encerrar conexão";
  | 
        
        
            | 
            | 
           114 | 
           	$l_loginfailed			= "Falha na autenticação";
  | 
        
        
            | 
            | 
           115 | 
           	$l_loggingin			= "Identificação do portal cativo";
  | 
        
        
            | 
            | 
           116 | 
           	$l_loggedcont			= "Controle de acesso";
  | 
        
        
            | 
            | 
           117 | 
           	$l_loggedout			= "Sua sessão foi fechada";
  | 
        
        
            | 
            | 
           118 | 
           	$l_user				= "Usuário";
  | 
        
        
            | 
            | 
           119 | 
           	$l_password			= "Senha";
  | 
        
        
            | 
            | 
           120 | 
           	$l_wait				= "Por favor, aguarde um momento ...";
  | 
        
        
            | 
            | 
           121 | 
           	$l_onlinetime			= "Tempo de conexão:";
  | 
        
        
            | 
            | 
           122 | 
           	$l_remainingtime		= "Desconectado em:";
  | 
        
        
            | 
            | 
           123 | 
           	$l_encrypted			= "A conexão com o portal deve ser criptografada";
  | 
        
        
            | 
            | 
           124 | 
           	$l_boutonO			= "Autenticação";
  | 
        
        
            | 
            | 
           125 | 
           	$l_boutonF			= "Fechar";
  | 
        
        
            | 
            | 
           126 | 
           	$l_loggedin_stringl1		= "Sistema de Informação e segurança";
  | 
        
        
            | 
            | 
           127 | 
           	$l_loggedin_stringl2		= "Este controle foi criado para garantir acesso seguro.";
  | 
        
        
            | 
            | 
           128 | 
           	$l_loggedin_stringl3		= "A autenticação será criptografada em 256 bits, impedindo captura por escâner de rede.";
  | 
        
        
            | 
            | 
           129 | 
           	$l_loggedin_stringl4		= "Sua atividade na Internet será resguardada de acordo com os regulamentos da lei.";
  | 
        
        
            | 
            | 
           130 | 
           	$l_loggedin_stringl5		= "Mantenha o popup da conexão minimizado para não interromper a cessão.";
  | 
        
        
            | 
            | 
           131 | 
           	$l_loggedin_stringl6		= "Clique <a href='$alcasarpath'>aqui</a> para alterar sua senha, instalar certificado ou sair do portal.";
  | 
        
        
            | 
            | 
           132 | 
           	$l_loggedout_string		= "desconexão do portal cativo";
  | 
        
        
            | 
            | 
           133 | 
           	$l_reply_1			= "Seu tempo de conexão diária foi finalizado";
  | 
        
        
            | 
            | 
           134 | 
           	$l_reply_2			= "Seu tempo de conexão mensal foi finalizado";
  | 
        
        
            | 
            | 
           135 | 
           	$l_reply_3			= "Você tenta conectar-se fora do seu período de tempo permitido";
  | 
        
        
            | 
            | 
           136 | 
           	$l_reply_4			= "Sua conta expirou";
  | 
        
        
            | 
            | 
           137 | 
           	$l_reply_5			= "Você atingiu o número máximo de logins simultâneos";
  | 
        
        
            | 
            | 
           138 | 
           	$l_reply_6			= "Seu tempo de conexão autorizada finalizou";
  | 
        
        
            | 
            | 
           139 | 
           	$l_online_time			= "Tempo Online";
  | 
        
        
            | 
            | 
           140 | 
           	$l_remaining_time		= "Tempo restante";
  | 
        
        
            | 
            | 
           141 | 
           	$l_uam_domain			= "Sites autorizados : ";
  | 
        
        
            | 
            | 
           142 | 
           	$l_autoregistration 		= "Registo automático";
  | 
        
        
            | 
            | 
           143 | 
           } else if ($Language === 'zh') {	// Chinese
  | 
        
        
            | 
            | 
           144 | 
           	$l_ChilliError			= "验证必须通过强制门户服务";
  | 
        
        
            | 
            | 
           145 | 
           	$l_login			= "验证成功<HR>关闭此窗口中断连接";
  | 
        
        
            | 
            | 
           146 | 
           	$l_logout			= "关闭连接";
  | 
        
        
            | 
            | 
           147 | 
           	$l_loginfailed			= "验证失败";
  | 
        
        
            | 
            | 
           148 | 
           	$l_loggingin			= "强制门户身份识别";
  | 
        
        
            | 
            | 
           149 | 
           	$l_loggedcont			= "访问控制";
  | 
        
        
            | 
            | 
           150 | 
           	$l_loggedout			= "您的连接已关闭";
  | 
        
        
            | 
            | 
           151 | 
           	$l_user				= "用户名";
  | 
        
        
            | 
            | 
           152 | 
           	$l_password			= "密码";
  | 
        
        
            | 
            | 
           153 | 
           	$l_wait				= "请等待 ...";
  | 
        
        
            | 
            | 
           154 | 
           	$l_onlinetime			= "连接时间";
  | 
        
        
            | 
            | 
           155 | 
           	$l_remainingtime		= "断开连接于";
  | 
        
        
            | 
            | 
           156 | 
           	$l_encrypted			= "与门户的连接必须加密";
  | 
        
        
            | 
            | 
           157 | 
           	$l_boutonO			= "验证";
  | 
        
        
            | 
            | 
           158 | 
           	$l_boutonF			= "关闭";
  | 
        
        
            | 
            | 
           159 | 
           	$l_loggedin_stringl1		= "信息系统安全";
  | 
        
        
            | 
            | 
           160 | 
           	$l_loggedin_stringl2		= "这种控制实施以法定保证可追溯性,可归罪性和连接的不否认性.";
  | 
        
        
            | 
            | 
           161 | 
           	$l_loggedin_stringl3		= "您的网络活动是私密登记的.";
  | 
        
        
            | 
            | 
           162 | 
           	$l_loggedin_stringl4		= "记录的数据能被司法机关在调查中操作使用.";
  | 
        
        
            | 
            | 
           163 | 
           	$l_loggedin_stringl5		= "这些数据将在一年后自动删除.";
  | 
        
        
            | 
            | 
           164 | 
           	$l_loggedin_stringl6		= "点击 <a href='$alcasarpath'> 这里 </a> 修改密码或安装浏览器安全证书";
  | 
        
        
            | 
            | 
           165 | 
           	$l_loggedout_string		= "强制网络门户连接已断开";
  | 
        
        
            | 
            | 
           166 | 
           	$l_reply_1			= "您已经达到每日连接时间";
  | 
        
        
            | 
            | 
           167 | 
           	$l_reply_2			= "您已经达到每月连接时间";
  | 
        
        
            | 
            | 
           168 | 
           	$l_reply_3			= "您尝试在授权时间以外连接";
  | 
        
        
            | 
            | 
           169 | 
           	$l_reply_4			= "您的账号已过期";
  | 
        
        
            | 
            | 
           170 | 
           	$l_reply_5			= "您已经达到同时连接的最大数量";
  | 
        
        
            | 
            | 
           171 | 
           	$l_reply_6			= "已经到达您的允许连接时间";
  | 
        
        
            | 
            | 
           172 | 
           	$l_online_time			= "在线时间";
  | 
        
        
            | 
            | 
           173 | 
           	$l_remaining_time		= "剩余时间";
  | 
        
        
            | 
            | 
           174 | 
           	$l_uam_domain			= "授权网站 : ";
  | 
        
        
            | 
            | 
           175 | 
           	$l_autoregistration		= "短信注册";
  | 
        
        
            | 
            | 
           176 | 
           } else if($Language === 'ar') {		// Arabic
  | 
        
        
            | 
            | 
           177 | 
           	$l_ChilliError			= "يجب نجاح المصادقة على البوابة الأسيرة";
  | 
        
        
            | 
            | 
           178 | 
           	$l_login			= "إغلاق هذه النافذة يقطع دورة عملك";
  | 
        
        
            | 
            | 
           179 | 
           	$l_logout			= "إغلاق الدورة";
  | 
        
        
            | 
            | 
           180 | 
           	$l_loginfailed			= "فشل المصادقة";
  | 
        
        
            | 
            | 
           181 | 
           	$l_loggingin			= "التعريف على البوابة الأسيرة";
  | 
        
        
            | 
            | 
           182 | 
           	$l_loggedcont			= "مراقبة الدخول";
  | 
        
        
            | 
            | 
           183 | 
           	$l_loggedout			= "دورتكَ مغلقة";
  | 
        
        
            | 
            | 
           184 | 
           	$l_user				= "التعريف";
  | 
        
        
            | 
            | 
           185 | 
           	$l_password			= "كلمة السر";
  | 
        
        
            | 
            | 
           186 | 
           	$l_wait				= "...إنتظر بعض اللحظات";
  | 
        
        
            | 
            | 
           187 | 
           	$l_onlinetime			= ":مدة الإتصال";
  | 
        
        
            | 
            | 
           188 | 
           	$l_remainingtime		= ":انقطاع الإتصال في";
  | 
        
        
            | 
            | 
           189 | 
           	$l_encrypted			= "يجب تشفير الإتصال بالبوابة";
  | 
        
        
            | 
            | 
           190 | 
           	$l_boutonO			= "مصادقة";
  | 
        
        
            | 
            | 
           191 | 
           	$l_boutonF			= "أغلق";
  | 
        
        
            | 
            | 
           192 | 
           	$l_loggedin_stringl1		= "سلامة نظم المعلومات";
  | 
        
        
            | 
            | 
           193 | 
           	$l_loggedin_stringl2		= "وُضعت هذه المراقبة للضمان القانوني لتتبع ومساءلة وعدم تنصل الإتصالات";
  | 
        
        
            | 
            | 
           194 | 
           	$l_loggedin_stringl3		= "نشاطك على الشبكة مسجل وفقاً لاحترام الحريات الشخصية";
  | 
        
        
            | 
            | 
           195 | 
           	$l_loggedin_stringl4		= "لا يمكن استغلال البيانات المسجلة إلاّ من قِبل سلطات التحقيق القضائ";
  | 
        
        
            | 
            | 
           196 | 
           	$l_loggedin_stringl5		= "سيتم حدف هذه البيانات تلقائياً بعد سنة من الْيَوْمَ";
  | 
        
        
            | 
            | 
           197 | 
           	$l_loggedin_stringl6		= "لتغيير كلمة السر أو شهادة الأمان <a href='$alcasarpath'>هنا</a> اضغط ";
  | 
        
        
            | 
            | 
           198 | 
           	$l_loggedout_string		= "تَمّ قطع الإتصال بالبوابة الأسيرة";
  | 
        
        
            | 
            | 
           199 | 
           	$l_reply_1			= "انتهى وقتك اليومي للإتصال";
  | 
        
        
            | 
            | 
           200 | 
           	$l_reply_2			= "انتهى وقتك الشهري للإتصال";
  | 
        
        
            | 
            | 
           201 | 
           	$l_reply_3			= "محاولة اتصال خارج فترتك المأذونة";
  | 
        
        
            | 
            | 
           202 | 
           	$l_reply_4			= "انتهت مدة صلاحية حسابك";
  | 
        
        
            | 
            | 
           203 | 
           	$l_reply_5			= "لقد استكملت العدد الأقصى للإتصالات المتزامنة";
  | 
        
        
            | 
            | 
           204 | 
           	$l_reply_6			= "استكملت مذة الإتصال المسموحة";
  | 
        
        
            | 
            | 
           205 | 
           	$l_online_time			= "مذة الإتصال";
  | 
        
        
            | 
            | 
           206 | 
           	$l_remaining_time		= "الوقت المتبق";
  | 
        
        
            | 
            | 
           207 | 
           	$l_uam_domain			= ":المواقع المسموحة ";
  | 
        
        
            | 
            | 
           208 | 
           	$l_autoregistration		= "تسجيل ذاتي (SMS)";
  | 
        
        
            | 
            | 
           209 | 
           } else if($Language === 'de') {		// German
  | 
        
        
            | 
            | 
           210 | 
           	$l_ChilliError			= "Die Authentifizierung ist erfolgreich durch die Nutzung des Portals erfolgt.";
  | 
        
        
            | 
            | 
           211 | 
           	$l_login			= "Erfolgreiche Authentifizierung.<HR>Schlißen dieses fensters unterbricht die sitzung";
  | 
        
        
            | 
            | 
           212 | 
           	$l_logout			= "Beenden der Verbindung";
  | 
        
        
            | 
            | 
           213 | 
           	$l_loginfailed			= "Authentifizierungsfehler Eigenverbrauch";
  | 
        
        
            | 
            | 
           214 | 
           	$l_loggingin			= "Kennzeichnung auf dem Eigenverbrauch";
  | 
        
        
            | 
            | 
           215 | 
           	$l_loggedcont			= "Zutrittskontrolle";
  | 
        
        
            | 
            | 
           216 | 
           	$l_loggedout			= "Ihre Sitzung ist geschlossen";
  | 
        
        
            | 
            | 
           217 | 
           	$l_user				= "Benutzer";
  | 
        
        
            | 
            | 
           218 | 
           	$l_password			= "Passwort";
  | 
        
        
            | 
            | 
           219 | 
           	$l_wait				= "Bitte warten Sie einen Moment ...";
  | 
        
        
            | 
            | 
           220 | 
           	$l_onlinetime			= "Online-Zeit:";
  | 
        
        
            | 
            | 
           221 | 
           	$l_remainingtime		= "Abmelden:";
  | 
        
        
            | 
            | 
           222 | 
           	$l_encrypted			= "Die Öffnung muß der Anschluß Zahlen";
  | 
        
        
            | 
            | 
           223 | 
           	$l_boutonO			= "Authentifizierung";
  | 
        
        
            | 
            | 
           224 | 
           	$l_boutonF			= "Schließen";
  | 
        
        
            | 
            | 
           225 | 
           	$l_loggedin_stringl1		= "Information System Security";
  | 
        
        
            | 
            | 
           226 | 
           	$l_loggedin_stringl2		= "Dieses Portal wurde eingerichtet, um ordnungsgemäß die Rückverfolgbarkeit, der Zurechenbarkeit und der Nicht-Anerkennung der Verbindungen.";
  | 
        
        
            | 
            | 
           227 | 
           	$l_loggedin_stringl3		= "Ihre Tätigkeit im Netzwerk registriert ist nach Schutz der Privatsphäre.";
  | 
        
        
            | 
            | 
           228 | 
           	$l_loggedin_stringl4		= "Die gespeicherten Daten nicht pouront genutzt werden, dass von einer Justizbehörde im Rahmen einer Untersuchung.";
  | 
        
        
            | 
            | 
           229 | 
           	$l_loggedin_stringl5		= "Diese Daten werden automatisch gelöscht nach einem Jahr.";
  | 
        
        
            | 
            | 
           230 | 
           	$l_loggedin_stringl6		= "Click <a href='$alcasarpath'>here</a> to change your password or to integrate the security certificate in your browser";
  | 
        
        
            | 
            | 
           231 | 
           	$l_loggedout_string		= "Trennung des Portals erfolgt Gefangener!";
  | 
        
        
            | 
            | 
           232 | 
           	$l_reply_1			= "Your daily connexion time has been reached";
  | 
        
        
            | 
            | 
           233 | 
           	$l_reply_2			= "Your monthly connexion time has been reached";
  | 
        
        
            | 
            | 
           234 | 
           	$l_reply_3			= "You try to connect outside of your allowed timespan";
  | 
        
        
            | 
            | 
           235 | 
           	$l_reply_4			= "your account expired";
  | 
        
        
            | 
            | 
           236 | 
           	$l_reply_5			= "You have reached the maximum number of simultaneous logins";
  | 
        
        
            | 
            | 
           237 | 
           	$l_reply_6			= "Your authorized connexion time has been reached";
  | 
        
        
            | 
            | 
           238 | 
           	$l_online_time			= "Online-zeit";
  | 
        
        
            | 
            | 
           239 | 
           	$l_remaining_time		= "Restzeit";
  | 
        
        
            | 
            | 
           240 | 
           	$l_uam_domain			= "Autorisierten websites : ";
  | 
        
        
            | 
            | 
           241 | 
           	$l_autoregistration		= "Automatische registrierung";
  | 
        
        
            | 
            | 
           242 | 
           } else if($Language === 'nl') {		// Dutch
  | 
        
        
            | 
            | 
           243 | 
           	$l_ChilliError			= "De authenticatie moet een succes worden via de captive portal dienst.";
  | 
        
        
            | 
            | 
           244 | 
           	$l_login			= "Succesvolle authenticatie.<HR>Dit venster te sluiten onderbreekt uw sessie.";
  | 
        
        
            | 
            | 
           245 | 
           	$l_logout			= "Slotkoers verbinding";
  | 
        
        
            | 
            | 
           246 | 
           	$l_loginfailed			= "Authenticatie mislukt";
  | 
        
        
            | 
            | 
           247 | 
           	$l_loggingin			= "Identificatie van de captive-portaal";
  | 
        
        
            | 
            | 
           248 | 
           	$l_loggedcont			= "toegangscontrole";
  | 
        
        
            | 
            | 
           249 | 
           	$l_loggedout			= "Uw sessie is gesloten";
  | 
        
        
            | 
            | 
           250 | 
           	$l_user				= "Gebruiker";
  | 
        
        
            | 
            | 
           251 | 
           	$l_password			= "Wachtwoord";
  | 
        
        
            | 
            | 
           252 | 
           	$l_wait				= "Wacht een moment ...";
  | 
        
        
            | 
            | 
           253 | 
           	$l_onlinetime			= "Sluit tijd:";
  | 
        
        
            | 
            | 
           254 | 
           	$l_remainingtime		= "Verbreking in:";
  | 
        
        
            | 
            | 
           255 | 
           	$l_encrypted			= "De opening moet gebruiken gecodeerde verbinding";
  | 
        
        
            | 
            | 
           256 | 
           	$l_boutonO			= "Authenticatie";
  | 
        
        
            | 
            | 
           257 | 
           	$l_boutonF			= "Sluiten";
  | 
        
        
            | 
            | 
           258 | 
           	$l_loggedin_stringl1		= "Information System Security";
  | 
        
        
            | 
            | 
           259 | 
           	$l_loggedin_stringl2		= "Het portaal werd opgericht verordeningen om de traceerbaarheid, verantwoordelijkheid en onloochenbaarheid van de verbindingen.";
  | 
        
        
            | 
            | 
           260 | 
           	$l_loggedin_stringl3		= "Uw activiteit op het netwerk is geregistreerd in overeenstemming met de persoonlijke levenssfeer.";
  | 
        
        
            | 
            | 
           261 | 
           	$l_loggedin_stringl4		= "De geregistreerde gegevens kunnen worden kunnen worden bediend door een rechterlijke instantie in de loop van een onderzoek.";
  | 
        
        
            | 
            | 
           262 | 
           	$l_loggedin_stringl5		= "Deze gegevens worden automatisch verwijderd na een jaar.";
  | 
        
        
            | 
            | 
           263 | 
           	$l_loggedin_stringl6		= "Click <a href='$alcasarpath'>here</a> to change your password or to integrate the security certificate in your browser";
  | 
        
        
            | 
            | 
           264 | 
           	$l_loggedout_string		= "Logout gemaakt intern portaal!";
  | 
        
        
            | 
            | 
           265 | 
           	$l_reply_1 			= "Your daily connexion time has been reached";
  | 
        
        
            | 
            | 
           266 | 
           	$l_reply_2			= "Your monthly connexion time has been reached";
  | 
        
        
            | 
            | 
           267 | 
           	$l_reply_3			= "You try to connect outside of your allowed timespan";
  | 
        
        
            | 
            | 
           268 | 
           	$l_reply_4			= "your account expired";
  | 
        
        
            | 
            | 
           269 | 
           	$l_reply_5			= "You have reached the maximum number of simultaneous logins";
  | 
        
        
            | 
            | 
           270 | 
           	$l_reply_6			= "Your authorized connexion time has been reached";
  | 
        
        
            | 
            | 
           271 | 
           	$l_online_time			= "Online tijd";
  | 
        
        
            | 
            | 
           272 | 
           	$l_remaining_time		= "Reterende tijd";
  | 
        
        
            | 
            | 
           273 | 
           	$l_uam_domain			= "Geautoriseerde website : ";
  | 
        
        
            | 
            | 
           274 | 
           	$l_autoregistration		= "Automatische registratie";
  | 
        
        
            | 
            | 
           275 | 
           } else if($Language === 'fr') {		// French
  | 
        
        
            | 
            | 
           276 | 
           	$l_ChilliError			= "L'authentification doit être réussie sur le portail captif.";
  | 
        
        
            | 
            | 
           277 | 
           	$l_login			= "Authentification réussie.<HR>La fermeture de cette fenêtre interrompt votre session.";
  | 
        
        
            | 
            | 
           278 | 
           	$l_logout			= "Fermeture de la session";
  | 
        
        
            | 
            | 
           279 | 
           	$l_loginfailed			= "Echec d'authentification";
  | 
        
        
            | 
            | 
           280 | 
           	$l_loggingin			= "Identification sur le portail captif";
  | 
        
        
            | 
            | 
           281 | 
           	$l_loggedcont			= "Contrôle d'accès";
  | 
        
        
            | 
            | 
           282 | 
           	$l_loggedout			= "Votre session est fermée";
  | 
        
        
            | 
            | 
           283 | 
           	$l_user				= "Identifiant";
  | 
        
        
            | 
            | 
           284 | 
           	$l_password			= "Mot de passe";
  | 
        
        
            | 
            | 
           285 | 
           	$l_wait				= "Patientez un instant ...";
  | 
        
        
            | 
            | 
           286 | 
           	$l_onlinetime			= "Temps de connexion:";
  | 
        
        
            | 
            | 
           287 | 
           	$l_remainingtime		= "Deconnexion dans :";
  | 
        
        
            | 
            | 
           288 | 
           	$l_encrypted			= "La connexion avec le portail doit être chiffrée";
  | 
        
        
            | 
            | 
           289 | 
           	$l_boutonO			= "Authentification";
  | 
        
        
            | 
            | 
           290 | 
           	$l_boutonF			= "Fermer";
  | 
        
        
            | 
            | 
           291 | 
           	$l_loggedin_stringl1		= "Sécurité des Systèmes d'Information";
  | 
        
        
            | 
            | 
           292 | 
           	$l_loggedin_stringl2		= "Ce contrôle a été mis en place pour assurer réglementairement la traçabilité, l'imputabilité et la non-répudiation des connexions.";
  | 
        
        
            | 
            | 
           293 | 
           	$l_loggedin_stringl3		= "Votre activité sur le réseau est enregistrée conformément au respect de la vie privée.";
  | 
        
        
            | 
            | 
           294 | 
           	$l_loggedin_stringl4		= "Les données enregistrées ne pourront être exploitées que par une autorité judiciaire dans le cadre d'une enquête.";
  | 
        
        
            | 
            | 
           295 | 
           	$l_loggedin_stringl5		= "Ces données seront automatiquement supprimées au bout d'un an.";
  | 
        
        
            | 
            | 
           296 | 
           	$l_loggedin_stringl6		= "Cliquez <a href='$alcasarpath'>ici</a> pour changer votre mot de passe ou pour intégrer le certificat de sécurité à votre navigateur";
  | 
        
        
            | 
            | 
           297 | 
           	$l_loggedout_string		= "Déconnexion du portail captif effectuée !";
  | 
        
        
            | 
            | 
           298 | 
           	$l_reply_1			= "Votre durée de connexion journalière a été atteinte";
  | 
        
        
            | 
            | 
           299 | 
           	$l_reply_2			= "Votre durée de connexion mensuelle a été atteinte";
  | 
        
        
            | 
            | 
           300 | 
           	$l_reply_3			= "Vous tentez de vous connecter en dehors de votre période autorisée";
  | 
        
        
            | 
            | 
           301 | 
           	$l_reply_4			= "Votre compte a expiré";
  | 
        
        
            | 
            | 
           302 | 
           	$l_reply_5			= "Vous avez atteint le nombre maximum de connexions simultanées";
  | 
        
        
            | 
            | 
           303 | 
           	$l_reply_6			= "Votre durée de connexion autorisée a été atteinte";
  | 
        
        
            | 
            | 
           304 | 
           	$l_online_time			= "Temps de connexion";
  | 
        
        
            | 
            | 
           305 | 
           	$l_remaining_time		= "Temps restant";
  | 
        
        
            | 
            | 
           306 | 
           	$l_uam_domain			= "Sites autorisés : ";
  | 
        
        
            | 
            | 
           307 | 
           	$l_autoregistration		= "Auto enregistrement (sms)";
  | 
        
        
            | 
            | 
           308 | 
           } else {				// English
  | 
        
        
            | 
            | 
           309 | 
           	$l_ChilliError			= "The authentication must be successful through the captive portal service.";
  | 
        
        
            | 
            | 
           310 | 
           	$l_login			= "Successful authentication.<HR>Closing this window interrupts your session";
  | 
        
        
            | 
            | 
           311 | 
           	$l_logout			= "Closing connection";
  | 
        
        
            | 
            | 
           312 | 
           	$l_loginfailed			= "Authentication Failed";
  | 
        
        
            | 
            | 
           313 | 
           	$l_loggingin			= "Identification on the captive portal";
  | 
        
        
            | 
            | 
           314 | 
           	$l_loggedcont			= "Access Control";
  | 
        
        
            | 
            | 
           315 | 
           	$l_loggedout			= "Your session is closed";
  | 
        
        
            | 
            | 
           316 | 
           	$l_user				= "User";
  | 
        
        
            | 
            | 
           317 | 
           	$l_password			= "Password";
  | 
        
        
            | 
            | 
           318 | 
           	$l_wait				= "Please wait a moment ...";
  | 
        
        
            | 
            | 
           319 | 
           	$l_onlinetime			= "Connect time:";
  | 
        
        
            | 
            | 
           320 | 
           	$l_remainingtime		= "Disconnection in:";
  | 
        
        
            | 
            | 
           321 | 
           	$l_encrypted			= "The connection with the portal must be encrypted";
  | 
        
        
            | 
            | 
           322 | 
           	$l_boutonO			= "Authentication";
  | 
        
        
            | 
            | 
           323 | 
           	$l_boutonF			= "Close";
  | 
        
        
            | 
            | 
           324 | 
           	$l_loggedin_stringl1		= "Information System Security";
  | 
        
        
            | 
            | 
           325 | 
           	$l_loggedin_stringl2		= "That control was set up regulations to ensure traceability, accountability and non-repudiation of connections.";
  | 
        
        
            | 
            | 
           326 | 
           	$l_loggedin_stringl3		= "Your activity on the network is registered in accordance with privacy.";
  | 
        
        
            | 
            | 
           327 | 
           	$l_loggedin_stringl4		= "The recorded data can be able to be operated by a judicial authority in the course of an investigation.";
  | 
        
        
            | 
            | 
           328 | 
           	$l_loggedin_stringl5		= "These data will be automatically deleted after one year.";
  | 
        
        
            | 
            | 
           329 | 
           	$l_loggedin_stringl6		= "Click <a href='$alcasarpath'>here</a> to change your password or to integrate the security certificate in your browser";
  | 
        
        
            | 
            | 
           330 | 
           	$l_loggedout_string		= "Disconnection of the captive portal made";
  | 
        
        
            | 
            | 
           331 | 
           	$l_reply_1			= "Your daily connexion time has been reached";
  | 
        
        
            | 
            | 
           332 | 
           	$l_reply_2			= "Your monthly connexion time has been reached";
  | 
        
        
            | 
            | 
           333 | 
           	$l_reply_3			= "You try to connect outside of your allowed timespan";
  | 
        
        
            | 
            | 
           334 | 
           	$l_reply_4			= "your account expired";
  | 
        
        
            | 
            | 
           335 | 
           	$l_reply_5			= "You have reached the maximum number of simultaneous logins";
  | 
        
        
            | 
            | 
           336 | 
           	$l_reply_6			= "Your authorized connexion time has been reached";
  | 
        
        
            | 
            | 
           337 | 
           	$l_online_time			= "Online time";
  | 
        
        
            | 
            | 
           338 | 
           	$l_remaining_time		= "Remaining time";
  | 
        
        
            | 
            | 
           339 | 
           	$l_uam_domain			= "Authorized websites : ";
  | 
        
        
            | 
            | 
           340 | 
           	$l_autoregistration		= "Auto registration (sms)";
  | 
        
        
           | 2182 | 
           tom.houday | 
           341 | 
           }
  | 
        
        
           | 895 | 
           richard | 
           342 | 
              | 
        
        
            | 
            | 
           343 | 
           # If https not use, tell it's wrong
  | 
        
        
           | 2182 | 
           tom.houday | 
           344 | 
           if ((!isset($_SERVER['HTTPS'])) || (empty($_SERVER['HTTPS'])) || ($_SERVER['HTTPS'] === 'off')) {
  | 
        
        
           | 2238 | 
           tom.houday | 
           345 | 
           	// Cleaning the cache
  | 
        
        
            | 
            | 
           346 | 
           	header('Expires: Tue, 01 Jan 2000 00:00:00 GMT');
  | 
        
        
            | 
            | 
           347 | 
           	header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
  | 
        
        
            | 
            | 
           348 | 
           	header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
  | 
        
        
            | 
            | 
           349 | 
           	header('Cache-Control: post-check=0, pre-check=0', false);
  | 
        
        
            | 
            | 
           350 | 
           	header('Pragma: no-cache');
  | 
        
        
           | 2182 | 
           tom.houday | 
           351 | 
           	?>
  | 
        
        
           | 2238 | 
           tom.houday | 
           352 | 
           	<!DOCTYPE html>
  | 
        
        
           | 2182 | 
           tom.houday | 
           353 | 
           	<html>
  | 
        
        
            | 
            | 
           354 | 
           	<head>
  | 
        
        
            | 
            | 
           355 | 
           		<meta charset="utf-8">
  | 
        
        
            | 
            | 
           356 | 
           		<title><?= $l_loggedcont ?></title>
  | 
        
        
            | 
            | 
           357 | 
           	</head>
  | 
        
        
            | 
            | 
           358 | 
           	<body style="background-color: white;">
  | 
        
        
            | 
            | 
           359 | 
           		<h1 style="text-align: center;"><?= $l_loginfailed ?></h1>
  | 
        
        
            | 
            | 
           360 | 
           		<center><?= $l_encrypted ?></center> 
  | 
        
        
            | 
            | 
           361 | 
           	</body>
  | 
        
        
            | 
            | 
           362 | 
           	</html>
  | 
        
        
            | 
            | 
           363 | 
           	<?php
  | 
        
        
            | 
            | 
           364 | 
           	exit();
  | 
        
        
           | 895 | 
           richard | 
           365 | 
           }
  | 
        
        
            | 
            | 
           366 | 
              | 
        
        
            | 
            | 
           367 | 
           # Read form parameters which we care about
  | 
        
        
           | 1314 | 
           richard | 
           368 | 
           # avoid the "user as a MAC address" attempts
  | 
        
        
           | 2205 | 
           tom.houday | 
           369 | 
           if ((isset($_POST['UserName'])) && (preg_match('/^([0-9A-F]{2}-){5}[0-9A-F]{2}$/', $_POST['UserName']) !== 1))
  | 
        
        
            | 
            | 
           370 | 
           				$username	= htmlspecialchars($_POST['UserName']);		else $username = '';
  | 
        
        
            | 
            | 
           371 | 
           if (isset($_POST['Password']))	$password	= htmlspecialchars($_POST['Password']);		else $password = '';
  | 
        
        
            | 
            | 
           372 | 
           if (isset($_POST['challenge']))$challenge	= htmlspecialchars($_POST['challenge']);	else $challenge = '';
  | 
        
        
            | 
            | 
           373 | 
           if (isset($_POST['button']))	$button		= htmlspecialchars($_POST['button']);		else $button = '';
  | 
        
        
            | 
            | 
           374 | 
           // if (isset($_POST['logout']))	$logout		= htmlspecialchars($_POST['logout']);		else $logout = '';
  | 
        
        
            | 
            | 
           375 | 
           // if (isset($_POST['prelogin']))	$prelogin	= htmlspecialchars($_POST['prelogin']);		else $prelogin = '';
  | 
        
        
            | 
            | 
           376 | 
           if (isset($_POST['res']))	$res		= htmlspecialchars($_POST['res']);		else $res = '';
  | 
        
        
            | 
            | 
           377 | 
           if (isset($_POST['uamip']))	$uamip		= htmlspecialchars($_POST['uamip']);		else $uamip = '';
  | 
        
        
            | 
            | 
           378 | 
           if (isset($_POST['uamport']))	$uamport	= htmlspecialchars($_POST['uamport']);		else $uamport = '';
  | 
        
        
            | 
            | 
           379 | 
           if (isset($_POST['userurl']))	$userurl	= htmlspecialchars($_POST['userurl']);		else $userurl = '';
  | 
        
        
            | 
            | 
           380 | 
           if (isset($_POST['timeleft']))	$timeleft	= htmlspecialchars($_POST['timeleft']);		else $timeleft = '';
  | 
        
        
            | 
            | 
           381 | 
           if (isset($_POST['redirurl']))	$redirurl	= htmlspecialchars($_POST['redirurl']);		else $redirurl = '';
  | 
        
        
           | 895 | 
           richard | 
           382 | 
              | 
        
        
            | 
            | 
           383 | 
           # Read query parameters which we care about
  | 
        
        
           | 2205 | 
           tom.houday | 
           384 | 
           if (isset($_GET['res']))	$res		= htmlspecialchars($_GET['res']);
  | 
        
        
            | 
            | 
           385 | 
           if (isset($_GET['challenge']))	$challenge	= htmlspecialchars($_GET['challenge']);
  | 
        
        
            | 
            | 
           386 | 
           if (isset($_GET['uamip']))	$uamip		= htmlspecialchars($_GET['uamip']);
  | 
        
        
            | 
            | 
           387 | 
           if (isset($_GET['uamport']))	$uamport	= htmlspecialchars($_GET['uamport']);
  | 
        
        
            | 
            | 
           388 | 
           if (isset($_GET['reply']))	$reply		= htmlspecialchars($_GET['reply']);		else $reply = '';
  | 
        
        
            | 
            | 
           389 | 
           if (isset($_GET['userurl']))	$userurl	= htmlspecialchars($_GET['userurl']);
  | 
        
        
            | 
            | 
           390 | 
           if (isset($_GET['timeleft']))	$timeleft	= htmlspecialchars($_GET['timeleft']);
  | 
        
        
            | 
            | 
           391 | 
           if (isset($_GET['redirurl']))	$redirurl	= htmlspecialchars($_GET['redirurl']);
  | 
        
        
           | 895 | 
           richard | 
           392 | 
              | 
        
        
           | 2239 | 
           tom.houday | 
           393 | 
           // Get required parameters from CoovaChilli config file if missing
  | 
        
        
            | 
            | 
           394 | 
           if (empty($uamip)) {
  | 
        
        
            | 
            | 
           395 | 
           	$uamip = trim(exec('grep uamlisten /etc/chilli.conf | sed -e "s/uamlisten//"'));
  | 
        
        
            | 
            | 
           396 | 
           }
  | 
        
        
            | 
            | 
           397 | 
           if (empty($uamport)) {
  | 
        
        
            | 
            | 
           398 | 
           	$uamport = trim(exec('grep uamport /etc/chilli.conf | sed -e "s/uamport//"'));
  | 
        
        
            | 
            | 
           399 | 
           }
  | 
        
        
            | 
            | 
           400 | 
              | 
        
        
           | 895 | 
           richard | 
           401 | 
           # translation of radius replies
  | 
        
        
           | 2182 | 
           tom.houday | 
           402 | 
           if (isset($reply)) {
  | 
        
        
           | 2205 | 
           tom.houday | 
           403 | 
           	switch (trim($reply)) {
  | 
        
        
            | 
            | 
           404 | 
           		case 'Your maximum daily usage time has been reached'	: $reply = $l_reply_1; break;
  | 
        
        
            | 
            | 
           405 | 
           		case 'Your maximum monthly usage time has been reached'	: $reply = $l_reply_2; break;
  | 
        
        
            | 
            | 
           406 | 
           		case 'You are calling outside your allowed timespan'	: $reply = $l_reply_3; break;
  | 
        
        
            | 
            | 
           407 | 
           		case 'Password Has Expired'				: $reply = $l_reply_4; break;
  | 
        
        
            | 
            | 
           408 | 
           		case 'You are already logged in - access denied'	: $reply = $l_reply_5; break;
  | 
        
        
            | 
            | 
           409 | 
           		case 'Your maximum never usage time has been reached'	: $reply = $l_reply_6; break;
  | 
        
        
           | 2182 | 
           tom.houday | 
           410 | 
           	}
  | 
        
        
            | 
            | 
           411 | 
           }
  | 
        
        
           | 895 | 
           richard | 
           412 | 
              | 
        
        
           | 2182 | 
           tom.houday | 
           413 | 
           // If attempt to login
  | 
        
        
            | 
            | 
           414 | 
           if ($button === $l_boutonO) {
  | 
        
        
            | 
            | 
           415 | 
           	//correction password length in coova-chilli
  | 
        
        
            | 
            | 
           416 | 
           	//thanks to http://www.stochasticgeometry.ie/2009/09/09/maximum-password-length-in-coova-chilli/
  | 
        
        
            | 
            | 
           417 | 
           	$hexchal = pack('H*', $challenge);
  | 
        
        
            | 
            | 
           418 | 
           	$newchal = pack('H*', md5($hexchal . $uamsecret));
  | 
        
        
           | 1947 | 
           raphael.pi | 
           419 | 
              | 
        
        
           | 2182 | 
           tom.houday | 
           420 | 
           	// If challenge isn't long enough, repeat it until it is
  | 
        
        
           | 2238 | 
           tom.houday | 
           421 | 
           	while (strlen($newchal) < strlen($password)) {
  | 
        
        
           | 2182 | 
           tom.houday | 
           422 | 
           		$newchal .= $newchal;
  | 
        
        
            | 
            | 
           423 | 
           	}
  | 
        
        
           | 1947 | 
           raphael.pi | 
           424 | 
              | 
        
        
           | 2182 | 
           tom.houday | 
           425 | 
           	$newpwd   = pack('a*', $password);
  | 
        
        
            | 
            | 
           426 | 
           	// Encode plain text password with challenge
  | 
        
        
            | 
            | 
           427 | 
           	$pappassword = implode('', unpack('H*', ($newpwd ^ $newchal)));
  | 
        
        
           | 2238 | 
           tom.houday | 
           428 | 
              | 
        
        
            | 
            | 
           429 | 
              | 
        
        
            | 
            | 
           430 | 
           	// Cleaning the cache
  | 
        
        
            | 
            | 
           431 | 
           	header('Expires: Tue, 01 Jan 2000 00:00:00 GMT');
  | 
        
        
            | 
            | 
           432 | 
           	header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
  | 
        
        
            | 
            | 
           433 | 
           	header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
  | 
        
        
            | 
            | 
           434 | 
           	header('Cache-Control: post-check=0, pre-check=0', false);
  | 
        
        
            | 
            | 
           435 | 
           	header('Pragma: no-cache');
  | 
        
        
            | 
            | 
           436 | 
              | 
        
        
           | 2239 | 
           tom.houday | 
           437 | 
           	header("Location: http://$uamip:$uamport/logon?username=$username&password=$pappassword&userurl=$userurl");
  | 
        
        
           | 2182 | 
           tom.houday | 
           438 | 
           	?>
  | 
        
        
           | 2238 | 
           tom.houday | 
           439 | 
           	<!DOCTYPE html>
  | 
        
        
           | 2182 | 
           tom.houday | 
           440 | 
           	<html>
  | 
        
        
            | 
            | 
           441 | 
           	<head>
  | 
        
        
            | 
            | 
           442 | 
           		<meta charset="utf-8">
  | 
        
        
            | 
            | 
           443 | 
           		<title><?= $l_loggingin ?></title>
  | 
        
        
            | 
            | 
           444 | 
           		<meta http-equiv="refresh" content="0;url=<?= "http://$uamip:$uamport/logon?username=$username&password=$pappassword&userurl=$userurl" ?>">
  | 
        
        
            | 
            | 
           445 | 
           	</head>
  | 
        
        
            | 
            | 
           446 | 
           	<body style="background-color: white;">
  | 
        
        
            | 
            | 
           447 | 
           		<h1 style="text-align: center;"><?= $l_loggingin ?></h1>
  | 
        
        
            | 
            | 
           448 | 
           		<center><?= $l_wait ?></center> 
  | 
        
        
            | 
            | 
           449 | 
           	</body>
  | 
        
        
            | 
            | 
           450 | 
           	</html>
  | 
        
        
            | 
            | 
           451 | 
           	<?php
  | 
        
        
            | 
            | 
           452 | 
           	exit();
  | 
        
        
           | 895 | 
           richard | 
           453 | 
           }
  | 
        
        
            | 
            | 
           454 | 
              | 
        
        
            | 
            | 
           455 | 
           switch($res) {
  | 
        
        
           | 2182 | 
           tom.houday | 
           456 | 
           	case 'success':	$result = 1; break; // If login successful
  | 
        
        
            | 
            | 
           457 | 
           	case 'failed':	$result = 2; break; // If login failed
  | 
        
        
            | 
            | 
           458 | 
           	case 'logoff':	$result = 3; break; // If logout successful
  | 
        
        
            | 
            | 
           459 | 
           	case 'already':	$result = 4; break; // If tried to login while already logged in
  | 
        
        
            | 
            | 
           460 | 
           	case 'notyet':	$result = 5; break; // If not logged in yet
  | 
        
        
            | 
            | 
           461 | 
           	default:	$result = 0; // Default: It was not a form request -> client go to login form
  | 
        
        
           | 895 | 
           richard | 
           462 | 
           }
  | 
        
        
            | 
            | 
           463 | 
              | 
        
        
           | 2010 | 
           raphael.pi | 
           464 | 
           //check if we need to warn user about the imputability logs.
  | 
        
        
           | 2182 | 
           tom.houday | 
           465 | 
           if($result === 1) {
  | 
        
        
            | 
            | 
           466 | 
           	if ((is_file('./acc/manager/lib/sql/drivers/mysql/functions.php')) && (is_file('/etc/freeradius-web/config.php'))) {
  | 
        
        
            | 
            | 
           467 | 
           		include_once('/etc/freeradius-web/config.php');
  | 
        
        
            | 
            | 
           468 | 
           		include_once('./acc/manager/lib/sql/drivers/mysql/functions.php');
  | 
        
        
            | 
            | 
           469 | 
           		$link = @da_sql_pconnect($config); // on affiche pas les erreurs
  | 
        
        
            | 
            | 
           470 | 
           		if ($link) {
  | 
        
        
            | 
            | 
           471 | 
           			$user_uid = da_sql_escape_string($link, $_GET['uid']);
  | 
        
        
            | 
            | 
           472 | 
           			$sql = "SELECT attribute, value FROM radreply WHERE username='$user_uid' AND attribute='Filter-Id'";
  | 
        
        
            | 
            | 
           473 | 
           			$res = @da_sql_query($link, $config, $sql); // on affiche pas les erreurs
  | 
        
        
            | 
            | 
           474 | 
           			if ($res) {
  | 
        
        
            | 
            | 
           475 | 
           				$row = @da_sql_fetch_array($res, $config);
  | 
        
        
            | 
            | 
           476 | 
           				$filter_id = $row['value']; // on obtient le Filter-Id de l'utilisateur
  | 
        
        
            | 
            | 
           477 | 
           				if($filter_id[3] === '1') {
  | 
        
        
            | 
            | 
           478 | 
           					//set the fourth bit of filter-id to '0'
  | 
        
        
            | 
            | 
           479 | 
           					$sql = "set @CurrentFilter=(SELECT value from radreply where username='$user_uid');set @CurrentFilterLeft=(SELECT LEFT(@CurrentFilter,3));set @CurrentFilterRight=(SELECT RIGHT(@CurrentFilter,4));UPDATE radreply SET value = CONCAT((@CurrentFilterLeft),'0', (@CurrentFilterRight)) WHERE username='$user_uid'";
  | 
        
        
            | 
            | 
           480 | 
           					$res = mysqli_multi_query($link,$sql);
  | 
        
        
           | 2238 | 
           tom.houday | 
           481 | 
           					header('Location: https://'.$conf['HOSTNAME'].'.'.$conf['DOMAIN'].'/index.php?warn=1&url='.urlencode($_GET['userurl']));   //we present to user information about imputability logs 
  | 
        
        
           | 2182 | 
           tom.houday | 
           482 | 
           					exit();
  | 
        
        
            | 
            | 
           483 | 
           				}
  | 
        
        
            | 
            | 
           484 | 
           			}
  | 
        
        
            | 
            | 
           485 | 
           		}
  | 
        
        
            | 
            | 
           486 | 
           	}
  | 
        
        
           | 2010 | 
           raphael.pi | 
           487 | 
           }
  | 
        
        
            | 
            | 
           488 | 
              | 
        
        
            | 
            | 
           489 | 
              | 
        
        
           | 2182 | 
           tom.houday | 
           490 | 
           // Otherwise it was not a form request
  | 
        
        
            | 
            | 
           491 | 
           // Send out an error message
  | 
        
        
            | 
            | 
           492 | 
           if ($result === 0) {	//erreur
  | 
        
        
           | 2238 | 
           tom.houday | 
           493 | 
           	// Cleaning the cache
  | 
        
        
            | 
            | 
           494 | 
           	header('Expires: Tue, 01 Jan 2000 00:00:00 GMT');
  | 
        
        
            | 
            | 
           495 | 
           	header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
  | 
        
        
            | 
            | 
           496 | 
           	header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
  | 
        
        
            | 
            | 
           497 | 
           	header('Cache-Control: post-check=0, pre-check=0', false);
  | 
        
        
            | 
            | 
           498 | 
           	header('Pragma: no-cache');
  | 
        
        
            | 
            | 
           499 | 
              | 
        
        
           | 2239 | 
           tom.houday | 
           500 | 
           	header("Location: http://$uamip:$uamport/prelogin");
  | 
        
        
           | 2182 | 
           tom.houday | 
           501 | 
           	?>
  | 
        
        
           | 2238 | 
           tom.houday | 
           502 | 
           	<!DOCTYPE html>
  | 
        
        
           | 2182 | 
           tom.houday | 
           503 | 
           	<html>
  | 
        
        
            | 
            | 
           504 | 
           	<head>
  | 
        
        
            | 
            | 
           505 | 
           		<meta charset="utf-8">
  | 
        
        
            | 
            | 
           506 | 
           		<title><?= $l_loggingin ?></title>
  | 
        
        
            | 
            | 
           507 | 
           		<meta http-equiv="refresh" content="0;url=<?= "http://$uamip:$uamport/prelogin" ?>">
  | 
        
        
            | 
            | 
           508 | 
           	</head>
  | 
        
        
            | 
            | 
           509 | 
           	<body style="background-color: white;">
  | 
        
        
            | 
            | 
           510 | 
           		<h1 style="text-align: center;"><?= $l_loggingin ?></h1>
  | 
        
        
            | 
            | 
           511 | 
           		<center><?= $l_wait ?></center> 
  | 
        
        
            | 
            | 
           512 | 
           	</body>
  | 
        
        
            | 
            | 
           513 | 
           	</html>
  | 
        
        
            | 
            | 
           514 | 
           	<?php
  | 
        
        
            | 
            | 
           515 | 
           	exit();
  | 
        
        
           | 895 | 
           richard | 
           516 | 
           }
  | 
        
        
           | 2238 | 
           tom.houday | 
           517 | 
              | 
        
        
            | 
            | 
           518 | 
           // Cleaning the cache
  | 
        
        
            | 
            | 
           519 | 
           header('Expires: Tue, 01 Jan 2000 00:00:00 GMT');
  | 
        
        
            | 
            | 
           520 | 
           header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
  | 
        
        
            | 
            | 
           521 | 
           header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
  | 
        
        
            | 
            | 
           522 | 
           header('Cache-Control: post-check=0, pre-check=0', false);
  | 
        
        
            | 
            | 
           523 | 
           header('Pragma: no-cache');
  | 
        
        
           | 2182 | 
           tom.houday | 
           524 | 
           ?>
  | 
        
        
           | 2238 | 
           tom.houday | 
           525 | 
           <!DOCTYPE html>
  | 
        
        
           | 895 | 
           richard | 
           526 | 
           <html>
  | 
        
        
            | 
            | 
           527 | 
           <head>
  | 
        
        
           | 2182 | 
           tom.houday | 
           528 | 
           	<meta charset="utf-8">
  | 
        
        
            | 
            | 
           529 | 
           	<title><?= $l_loggingin ?></title>
  | 
        
        
            | 
            | 
           530 | 
           	<script type="text/javascript">
  | 
        
        
           | 1346 | 
           richard | 
           531 | 
           	function doOnLoad(result, userurl, redirurl, adminurl, timeleft) {
  | 
        
        
           | 2182 | 
           tom.houday | 
           532 | 
           		if ((result === 1) || (result === 4)) {	//success or already
  | 
        
        
           | 2201 | 
           tom.houday | 
           533 | 
           			var url;
  | 
        
        
           | 2182 | 
           tom.houday | 
           534 | 
           			if (adminurl !== '') {
  | 
        
        
           | 2201 | 
           tom.houday | 
           535 | 
           				url = adminurl;
  | 
        
        
           | 2182 | 
           tom.houday | 
           536 | 
           			} else if (redirurl !== '') {
  | 
        
        
           | 2201 | 
           tom.houday | 
           537 | 
           				url = redirurl;
  | 
        
        
            | 
            | 
           538 | 
           			} else if (userurl !== '') {
  | 
        
        
            | 
            | 
           539 | 
           				url = userurl;
  | 
        
        
           | 1346 | 
           richard | 
           540 | 
           			}
  | 
        
        
           | 2201 | 
           tom.houday | 
           541 | 
              | 
        
        
            | 
            | 
           542 | 
           			if (typeof url !== 'undefined') {
  | 
        
        
            | 
            | 
           543 | 
           				var win = window.open(url, '_blank');
  | 
        
        
            | 
            | 
           544 | 
           				if (win !== null) {
  | 
        
        
            | 
            | 
           545 | 
           					win.focus();
  | 
        
        
            | 
            | 
           546 | 
           				}
  | 
        
        
            | 
            | 
           547 | 
           			}
  | 
        
        
            | 
            | 
           548 | 
              | 
        
        
            | 
            | 
           549 | 
           			// Redirect to status page
  | 
        
        
            | 
            | 
           550 | 
           			window.location = '<?= $statuspath ?>';
  | 
        
        
           | 1346 | 
           richard | 
           551 | 
           		}
  | 
        
        
           | 2182 | 
           tom.houday | 
           552 | 
           		if ((result === 2) || (result === 3) || result === 5) { //failed or logoff or notyet
  | 
        
        
           | 895 | 
           richard | 
           553 | 
           			document.form1.UserName.focus();
  | 
        
        
           | 1346 | 
           richard | 
           554 | 
           		}
  | 
        
        
            | 
            | 
           555 | 
           	}
  | 
        
        
           | 2182 | 
           tom.houday | 
           556 | 
           	</script>
  | 
        
        
            | 
            | 
           557 | 
           	<link rel="stylesheet" href="/css/style_intercept.css" type="text/css">
  | 
        
        
           | 895 | 
           richard | 
           558 | 
           </head>
  | 
        
        
           | 2182 | 
           tom.houday | 
           559 | 
           <body onLoad="javascript:doOnLoad(<?= $result ?>,'<?= $userurl ?>','<?= $redirurl ?>','<?= $adminurl ?>','<?= $timeleft ?>')">
  | 
        
        
            | 
            | 
           560 | 
           	<center>
  | 
        
        
            | 
            | 
           561 | 
              | 
        
        
            | 
            | 
           562 | 
           	<?php if ($result === 2 || $result === 3 || $result === 5): //failed or logoff or notyet ?>
  | 
        
        
            | 
            | 
           563 | 
           	<div id="logon">
  | 
        
        
            | 
            | 
           564 | 
           		<h1><?= $organisme ?></h1>
  | 
        
        
            | 
            | 
           565 | 
           		<h2><?= $l_loggedcont ?></h2>
  | 
        
        
            | 
            | 
           566 | 
           		<?php if ($result === 2): //failed ?>
  | 
        
        
            | 
            | 
           567 | 
           			<h3><?= $l_loginfailed ?></h3>
  | 
        
        
            | 
            | 
           568 | 
           			<?php if ($reply): //traitement du reply ... ?>
  | 
        
        
            | 
            | 
           569 | 
           				<center><?= $reply ?><br><br></center>
  | 
        
        
            | 
            | 
           570 | 
           			<?php endif; ?>
  | 
        
        
            | 
            | 
           571 | 
           		<?php endif;
  | 
        
        
            | 
            | 
           572 | 
           		if ($userurl === 'http://logout/') $userurl = 'http://www.google.com'; // Avoid cyclic logout
  | 
        
        
            | 
            | 
           573 | 
           		?>
  | 
        
        
            | 
            | 
           574 | 
           		<img id="logo-alcasar" src="/images/logo-alcasar.png">
  | 
        
        
            | 
            | 
           575 | 
           		<form name="form1" method="post" action="<?= $loginpath ?>">
  | 
        
        
            | 
            | 
           576 | 
           			<input type="hidden" name="challenge" value="<?= $challenge ?>">
  | 
        
        
            | 
            | 
           577 | 
           			<input type="hidden" name="uamip" value="<?= $uamip ?>">
  | 
        
        
            | 
            | 
           578 | 
           			<input type="hidden" name="uamport" value="<?= $uamport ?>">
  | 
        
        
            | 
            | 
           579 | 
           			<input type="hidden" name="userurl" value="<?= $userurl ?>">
  | 
        
        
            | 
            | 
           580 | 
           			<table id="boite-logon">
  | 
        
        
            | 
            | 
           581 | 
           				<tr>
  | 
        
        
            | 
            | 
           582 | 
           					<td width="20%" rowspan="4"><img id="logo-organ" src="/images/organisme.png"></td>
  | 
        
        
            | 
            | 
           583 | 
           					<td width="30%" align="right"><?= $l_user ?></td>
  | 
        
        
            | 
            | 
           584 | 
           					<td width="50%" align="left"><input type="text" maxLength="32" name="UserName" autocomplete="off"></td>
  | 
        
        
            | 
            | 
           585 | 
           				</tr>
  | 
        
        
            | 
            | 
           586 | 
           				<tr>
  | 
        
        
            | 
            | 
           587 | 
           					<td align="right"><?= $l_password ?></td>
  | 
        
        
            | 
            | 
           588 | 
           					<td align="left"><input maxLength="32" type="password" name="Password" autocomplete="off"></td>
  | 
        
        
            | 
            | 
           589 | 
           				</tr>
  | 
        
        
            | 
            | 
           590 | 
           				<tr>
  | 
        
        
           | 2201 | 
           tom.houday | 
           591 | 
           					<td height="23" align="left"><input value="<?= $l_boutonO ?>" type="submit" name="button"></td>
  | 
        
        
           | 2182 | 
           tom.houday | 
           592 | 
           					<?php
  | 
        
        
            | 
            | 
           593 | 
           					$service_SMS_status = false;
  | 
        
        
            | 
            | 
           594 | 
           					if ($service_SMS_status): ?>
  | 
        
        
            | 
            | 
           595 | 
           						<td><a href="./autoregistrationinfo.php"><?= $l_autoregistration ?></a></td>
  | 
        
        
            | 
            | 
           596 | 
           					<?php endif; ?>
  | 
        
        
            | 
            | 
           597 | 
           				</tr>
  | 
        
        
            | 
            | 
           598 | 
           			</table>
  | 
        
        
            | 
            | 
           599 | 
           		</form>
  | 
        
        
            | 
            | 
           600 | 
           		<table id="boite-info" cellSpacing="0" cellPadding="0" width="80%">
  | 
        
        
            | 
            | 
           601 | 
           			<tr>
  | 
        
        
            | 
            | 
           602 | 
           				<td align="center"><font color="red"><b><?= $l_loggedin_stringl1 ?></b></font></td>
  | 
        
        
            | 
            | 
           603 | 
           			</tr>
  | 
        
        
            | 
            | 
           604 | 
           			<tr>
  | 
        
        
            | 
            | 
           605 | 
           				<td align="left">
  | 
        
        
            | 
            | 
           606 | 
           					<ul>
  | 
        
        
            | 
            | 
           607 | 
           						<li><?= $l_loggedin_stringl2 ?></li>
  | 
        
        
            | 
            | 
           608 | 
           						<li><?= $l_loggedin_stringl4 ?></li>
  | 
        
        
            | 
            | 
           609 | 
           						<li><?= $l_loggedin_stringl3 ?></li>
  | 
        
        
            | 
            | 
           610 | 
           						<li><?= $l_loggedin_stringl5 ?></li>
  | 
        
        
            | 
            | 
           611 | 
           						<li><?= $l_loggedin_stringl6 ?></li>
  | 
        
        
            | 
            | 
           612 | 
           					</ul>
  | 
        
        
            | 
            | 
           613 | 
           				</td>
  | 
        
        
            | 
            | 
           614 | 
           			</tr>
  | 
        
        
            | 
            | 
           615 | 
           		</table>
  | 
        
        
            | 
            | 
           616 | 
           		<?php
  | 
        
        
            | 
            | 
           617 | 
           		// Read the "Domain allowed" file
  | 
        
        
            | 
            | 
           618 | 
           		$tab = file(DOMAIN_ALLOWED_LIST);
  | 
        
        
            | 
            | 
           619 | 
           		if ($tab) { // the file isn't empty
  | 
        
        
            | 
            | 
           620 | 
           			echo '<div id="authorized_domain">'.$l_uam_domain;
  | 
        
        
            | 
            | 
           621 | 
           			foreach ($tab as $line) {
  | 
        
        
            | 
            | 
           622 | 
           				if (trim($line) !== '') { // the line isn't empty
  | 
        
        
           | 2238 | 
           tom.houday | 
           623 | 
           					$domain_allowed = explode('#', $line);
  | 
        
        
           | 2182 | 
           tom.houday | 
           624 | 
           					if (trim($domain_allowed[1]) !== '') {
  | 
        
        
            | 
            | 
           625 | 
           						$domain = explode('"', $domain_allowed[0]);
  | 
        
        
            | 
            | 
           626 | 
           						// remove every '.' from the beginning of domain
  | 
        
        
            | 
            | 
           627 | 
           						$domain[1] = ltrim($domain[1], '.');
  | 
        
        
           | 2184 | 
           richard | 
           628 | 
           						echo '<a href="http://'.trim($domain[1]).'">'.trim($domain_allowed[1]).'</a>  ';
  | 
        
        
           | 2182 | 
           tom.houday | 
           629 | 
           					}
  | 
        
        
            | 
            | 
           630 | 
           				}
  | 
        
        
            | 
            | 
           631 | 
           			}
  | 
        
        
           | 2186 | 
           tom.houday | 
           632 | 
           			echo '</div>';
  | 
        
        
           | 895 | 
           richard | 
           633 | 
           		}
  | 
        
        
           | 2182 | 
           tom.houday | 
           634 | 
           		?>
  | 
        
        
            | 
            | 
           635 | 
           	</div>
  | 
        
        
            | 
            | 
           636 | 
           	<?php endif; ?>
  | 
        
        
           | 1349 | 
           richard | 
           637 | 
              | 
        
        
           | 2182 | 
           tom.houday | 
           638 | 
           	</center>
  | 
        
        
           | 895 | 
           richard | 
           639 | 
           </body>
  | 
        
        
           | 2182 | 
           tom.houday | 
           640 | 
           </html>
  |