Subversion Repositories ALCASAR

Compare Revisions

Ignore whitespace Rev 345 → Rev 346

/alcasar.sh
768,21 → 768,13
echo "- URL pour le changement du mot de passe usager : https://$PRIVATE_IP/pass/" >> $FIC_PARAM
} # End of param_web_radius ()
 
##########################################################################
## Fonction param_chilli ##
## - Paramètrage du fichier de configuration de coova-chilli ##
## - Paramètrage de la page d'authentification (intercept.php) ##
##########################################################################
##########################################################################################
## Fonction param_chilli ##
## - Paramètrage du fichier d'initialisation et de configuration de coova-chilli ##
## - Paramètrage de la page d'authentification (intercept.php) ##
##########################################################################################
param_chilli ()
{
# modification du générateur du fichier de conf
[ -e /etc/chilli/functions.default ] || cp /etc/chilli/functions /etc/chilli/functions.default
# suppression du domaine "coova.org" dans la primitive uamallowed
$SED "s?www.coova.org,??g" /etc/chilli/functions
# suppression de la primitive "uamanydns"
$SED "s?uamanydns??g" /etc/chilli/functions
# on fixe la socket de commande local (/var/run/chilli.sock)
$SED "s?^CMDSOCK=.*?CMDSOCK=\$RUN_D/chilli.sock?g" /etc/chilli/functions
# modification du fichier d'initialisation
[ -e /etc/init.d/chilli.default ] || cp /etc/init.d/chilli /etc/init.d/chilli.default
# configuration d'eth1 (utile pour dnsmasq))
792,57 → 784,56
$SED "/^[\t ]*stop)/i\ status)\n status chilli\n RETVAL=$?\n ;;\n" /etc/init.d/chilli
# insertion d'une tempo sur le 'restart' pour permettre à tun0 d'être libérée
$SED "/^[\t ]*\$0 start/i\ sleep 2" /etc/init.d/chilli
# suppression de warning disgracieux
# suppression des fonctions 'writeconfig' et 'radiusconfig'. Suppression de warning disgracieux
$SED "/writeconfig/d" /etc/init.d/chilli
$SED "/radiusconfig/d" /etc/init.d/chilli
$SED "s?which start-stop-daemon?which start-stop-daemon 2>/dev/null?g" /etc/init.d/chilli
# création du fichier de conf
cp /etc/chilli/defaults /etc/chilli/config
$SED "s?^# HS_WANIF=.*?HF_WANIF=$EXTIF?g" /etc/chilli/config
$SED "s?^HS_LANIF=.*?HS_LANIF=$INTIF?g" /etc/chilli/config
$SED "s?^HS_NETWORK=.*?HS_NETWORK=$PRIVATE_NETWORK?g" /etc/chilli/config
$SED "s?^HS_NETMASK=.*?HS_NETMASK=$PRIVATE_MASK?g" /etc/chilli/config
$SED "s?^HS_UAMLISTEN=.*?HS_UAMLISTEN=$PRIVATE_IP?g" /etc/chilli/config
$SED "s?^HS_UAMPORT=.*?HS_UAMPORT=$UAMPORT?g" /etc/chilli/config
$SED "s?^# HS_DYNIP=.*?HS_DYNIP=$PRIVATE_DYN_IP?g" /etc/chilli/config
$SED "s?^# HS_DYNIP_MASK=.*?HS_DYNIP_MASK=$PRIVATE_DYN_MASK?g" /etc/chilli/config
$SED "s?^# HS_STATIP=.*?HS_STATIP=$PRIVATE_STAT_IP?g" /etc/chilli/config
$SED "s?^# HS_STATIP_MASK.*?HS_STATIP_MASK=$PRIVATE_STAT_MASK?g" /etc/chilli/config
$SED "s?^# HS_DNS_DOMAIN=.*?HS_DNS_DOMAIN=$DOMAIN?g" /etc/chilli/config
$SED "s?^HS_DNS1=.*?HS_DNS1=$PRIVATE_IP?g" /etc/chilli/config
$SED "s?^HS_DNS2=.*?HS_DNS2=$PRIVATE_IP?g" /etc/chilli/config
$SED "s?^HS_UAMSECRET=.*?HS_UAMSECRET=$secretuam?g" /etc/chilli/config
$SED "s?^HS_RADIUS=.*?HS_RADIUS=127.0.0.1?g" /etc/chilli/config
$SED "s?^HS_RADIUS2=.*?HS_RADIUS2=127.0.0.1?g" /etc/chilli/config
$SED "s?^HS_RADSECRET=.*?HS_RADSECRET=$secretradius?g" /etc/chilli/config
$SED "s?^HS_UAMALLOW=.*?# HS_UAMALLOW?g" /etc/chilli/config
$SED "s?^HS_UAMSERVER=.*?HS_UAMSERVER=$PRIVATE_IP?g" /etc/chilli/config
$SED "s?^HS_UAMFORMAT=.*?HS_UAMFORMAT=https://\$HS_UAMSERVER/intercept.php?g" /etc/chilli/config
$SED "s?^HS_UAMHOMEPAGE=.*?HS_UAMHOMEPAGE=?g" /etc/chilli/config
$SED "s?^HS_UAMSERVICE=.*?# HS_UAMSERVICE?g" /etc/chilli/config
$SED "s?^# HS_ANYIP=.*?HS_ANYIP=on?g" /etc/chilli/config
$SED "s?^# HS_DNSPARANOIA=.*?HS_DNSPARANOIA=on?g" /etc/chilli/config
$SED "s?^HS_LOC_NAME=.*?HS_LOC_NAME=\"$HOSTNAME\"?g" /etc/chilli/config
$SED "s?^HS_WWWDIR.*?# HS_WWWDIR?g" /etc/chilli/config
$SED "s?^HS_WWWBIN.*?# HS_WWWBIN?g" /etc/chilli/config
$SED "s?^HS_PROVIDER_LINK.*?HS_PROVIDER_LINK=https://\$HS_UAMSERVER/?g" /etc/chilli/config
echo "HS_COAPORT=3799" >> /etc/chilli/config
echo "HS_ADMINTERVAL=0" >> /etc/chilli/config
[ -e /etc/chilli.conf.default ] || cp /etc/chilli.conf /etc/chilli.conf.default
cat <<EOF > /etc/chilli.conf
# coova config for ALCASAR
cmdsocket /var/run/chilli.sock
unixipc chilli.eth1.ipc
pidfile /var/run/chilli.eth1.pid
net $PRIVATE_NETWORK_MASK
dynip $PRIVATE_DYN_IP
statip $PRIVATE_STAT_IP
domain localdomain
dns1 $DNS1
dns2 $DNS2
uamlisten $PRIVATE_IP
uamport $UAMPORT
dhcpif $INTIF
uamanyip
macallowlocal
locationname $HOSTNAME
radiusserver1 127.0.0.1
radiusserver2 127.0.0.1
radiussecret $secretradius
radiusauthport 1812
radiusacctport 1813
uamserver https://$PRIVATE_IP/intercept.php
radiusnasid $HOSTNAME
papalwaysok
dnsparanoia
uamaliasname $HOSTNAME
uamsecret $secretuam
coaport 3799
include /usr/local/etc/alcasar-uamallowed
include /usr/local/etc/alcasar-uamdomain
include /usr/local/etc/alcasar-macallowed
EOF
# création des fichiers de sites, d'urls et d'adresses MAC de confiance
echo -e "HS_UAMALLOW=\"\"" > /etc/chilli/alcasar-uamallowed
echo -e "HS_UAMDOMAINS=\"\"" > /etc/chilli/alcasar-uamdomain
$SED "s?^# HS_MACAUTHMODE=.*?HS_MACAUTHMODE=local?g" /etc/chilli/config
echo -e "HS_MACALLOW=\"\"" > /etc/chilli/alcasar-macallowed
chown root:apache /etc/chilli/alcasar-*
chmod 660 /etc/chilli/alcasar-*
echo ". /etc/chilli/alcasar-uamallowed" >> /etc/chilli/config
echo ". /etc/chilli/alcasar-uamdomain" >> /etc/chilli/config
echo ". /etc/chilli/alcasar-macallowed" >> /etc/chilli/config
echo -e "uamallowed=\"\"" > /usr/local/etc/alcasar-uamallowed
echo -e "uamdomain=\"\"" > /usr/local/etc/alcasar-uamdomain
echo -e "macallowed=\"\"" > /usr/local/etc/alcasar-macallowed
chown root:apache /usr/local/etc/alcasar-*
chmod 660 /usr/local/etc/alcasar-*
echo "- URL de deconnexion du portail : http://$PRIVATE_IP:$UAMPORT/logoff" >> $FIC_PARAM
# Définition du secret partagé entre coova-chilli et la page d'authentification (intercept.php)
$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
# Suppression des modifications "iptables" effectuées lors du lancement du daemon coova
$SED "s?^ iptables \$opt \$\*?# iptables \$opt \$\*?g" /etc/chilli/up.sh
} # End of param_chilli ()
 
##########################################################
/scripts/alcasar-conf.sh
5,8 → 5,8
# Ce script permet de créer ou de charger l'archive des fichiers de configuration (/tmp/alcasar-conf.tar.gz)
DIR_UPDATE="/tmp/conf" # répertoire de stockage des fichier de conf pour une mise à jour
DIR_WEB="/var/www/html" # répertoire du centre de gestion
DIR_DEST_SBIN="/usr/local/sbin" # répertoire des scripts d'admin
DIR_DEST_ETC="/usr/local/etc" # répertoire des fichiers de conf
DIR_SBIN="/usr/local/sbin" # répertoire des scripts d'admin
DIR_ETC="/usr/local/etc" # répertoire des fichiers de conf
DB_USER="db_user" # nom d'utilisateur mysql (base usagers)
radiuspwd="radius_pwd" # mot de passe d'accès
 
47,8 → 47,6
echo `hostname` > $DIR_UPDATE/hostname
# Sauvegarde du logo
cp -f $DIR_WEB/images/organisme.png $DIR_UPDATE
# Sauvegarde des fichiers d'exceptions (urls, domains et mac)
cp -f /etc/chilli/alcasar-* $DIR_UPDATE
# Sauvegarde des fichiers exploités par dansguardian
cp -f /etc/dansguardian/dansguardian.conf $DIR_UPDATE
cp -f /etc/dansguardian/lists/exceptioniplist $DIR_UPDATE
57,9 → 55,9
cp -f /etc/dansguardian/lists/exceptionurllist $DIR_UPDATE
cp -f /etc/dansguardian/lists/bannedurllist $DIR_UPDATE
cp -rf /etc/dansguardian/lists/blacklists/ossi $DIR_UPDATE
# sauvegarde des fichiers de filtrage réseau + dnsmasq
# sauvegarde des fichiers de filtrage et d'exception
mkdir $DIR_UPDATE/etc/
cp -rf $DIR_DEST_ETC/* $DIR_UPDATE/etc/
cp -rf $DIR_ETC/* $DIR_UPDATE/etc/
# création de l'archive
cd /tmp
tar -cf alcasar-conf.tar conf/
84,10 → 82,6
chmod -R 750 /etc/pki
# Import de la dernière base usagers
mysql -u$DB_USER -p$radiuspwd < `ls $DIR_UPDATE/radius*`
# Récupération des fichiers d'exception (urls, domains, MAC)
cp -f $DIR_UPDATE/alcasar-* /etc/chilli/.
chown root:apache /etc/chilli/alcasar-*
chmod 660 /etc/chilli/alcasar-*
# Récupération des fichiers de Dansguardian
cp -f $DIR_UPDATE/dansguardian.conf /etc/dansguardian/
cp -f $DIR_UPDATE/exceptioniplist /etc/dansguardian/lists/
103,16 → 97,16
PARENT_SCRIPT=$0
export PARENT_SCRIPT
if [ $active_bl -eq "-1" ]
then $DIR_DEST_SBIN/alcasar-bl.sh -off
else $DIR_DEST_SBIN/alcasar-bl.sh -on
then $DIR_SBIN/alcasar-bl.sh -off
else $DIR_SBIN/alcasar-bl.sh -on
fi
# Récupération des comptes de gestion (admin + manager + backup)
cp -rf $DIR_UPDATE/digest $DIR_WEB/acc
$DIR_DEST_SBIN/alcasar-profil.sh -list
# Récupération des règles de filtrage réseau
cp -rf $DIR_UPDATE/etc/* $DIR_DEST_ETC/
chown root:apache $DIR_DEST_ETC/*
chmod 660 $DIR_DEST_ETC/*
$DIR_SBIN/alcasar-profil.sh -list
# Récupération des règles de filtrage et des fichiers d'exception
cp -rf $DIR_UPDATE/etc/* $DIR_ETC/
chown root:apache $DIR_ETC/*
chmod 660 $DIR_ETC/*
# Effacement du répertoire d'update
rm -rf $DIR_UPDATE
;;
/scripts/sbin/alcasar-uninstall.sh
24,14 → 24,13
sleep 1
 
# gestion
echo -en "\n- gestion(7) : "
echo -en "\n- gestion(6) : "
[ -d /var/www/html ] && rm -rf /var/www/html && echo -n "1, "
[ -e /etc/httpd/conf/httpd.conf.default ] && mv /etc/httpd/conf/httpd.conf.default /etc/httpd/conf/httpd.conf && echo -n "2, "
[ -e /etc/php.ini.default ] && mv /etc/php.ini.default /etc/php.ini && echo -n "3, "
[ -e /etc/httpd/conf/vhosts.default ] && FIC_VIRTUAL=`find /etc/httpd/conf -type f -name *default_vhosts*` && mv /etc/httpd/conf/vhosts.default $FIC_VIRTUAL && echo -n "4, "
[ -e /etc/httpd/conf/vhosts-ssl.default ] && FIC_VIRTUAL_SSL=`find /etc/httpd/conf -type f -name *default_ssl*` && mv /etc/httpd/conf/vhosts-ssl.default $FIC_VIRTUAL_SSL && echo -n "5, "
[ -e /etc/httpd/conf/webapps.d/alcasar.conf ] && rm -f /etc/httpd/conf/webapps.d/alcasar.conf && echo -n "6, "
[ -e /var/www/error/include/bottom.html.default ] && mv /var/www/error/include/bottom.html.default /var/www/error/include/bottom.html && echo -n "7"
[ -e /etc/httpd/conf/vhosts-ssl.default ] && FIC_VIRTUAL_SSL=`find /etc/httpd/conf -type f -name *default_ssl*` && mv /etc/httpd/conf/vhosts-ssl.default $FIC_VIRTUAL_SSL && echo -n "4, "
[ -e /etc/httpd/conf/webapps.d/alcasar.conf ] && rm -f /etc/httpd/conf/webapps.d/alcasar.conf && echo -n "5, "
[ -e /var/www/error/include/bottom.html.default ] && mv /var/www/error/include/bottom.html.default /var/www/error/include/bottom.html && echo -n "6"
sleep 1
 
# CA
70,12 → 69,20
sleep 1
 
#param_chilli
echo -en "\n- param_chilli(5) : "
[ -e /etc/chilli/functions.default ] && mv /etc/chilli/functions.default /etc/chilli/functions && echo -n "1, "
[ -e /etc/init.d/chilli.default ] && mv /etc/init.d/chilli.default /etc/init.d/chilli && echo -n "2, "
[ -e /etc/chilli/config ] && rm /etc/chilli/config && echo -n "3, "
[ -e /etc/chilli/alcasar-uamallowed ] && rm /etc/chilli/alcasar-uamallowed && echo -n "4, "
[ -e /etc/chilli/alcasar-uamdomain ] && rm /etc/chilli/alcasar-uamdomain && echo -n "5"
if [ -e /etc/chilli.conf.default ] # >= V2.0
then
echo -en "\n- param_chilli (2) : "
[ -e /etc/init.d/chilli.default ] && mv /etc/init.d/chilli.default /etc/init.d/chilli && echo -n "1, "
[ -e /etc/chilli.conf.default ] && mv /etc/chilli.conf.default /etc/chilli.conf && echo -n "2"
else # < V2.0
echo -en "\n- param_chilli (6) : "
[ -e /etc/chilli/functions.default ] && mv /etc/chilli/functions.default /etc/chilli/functions && echo -n "1, "
[ -e /etc/chilli/config ] && rm /etc/chilli/config && echo -n "2, "
[ -e /etc/chilli/alcasar-uamallowed ] && rm /etc/chilli/alcasar-uamallowed && echo -n "3, "
[ -e /etc/chilli/alcasar-uamdomain ] && rm /etc/chilli/alcasar-uamdomain && echo -n "4, "
[ -e /etc/chilli/alcasar-macallowed ] && rm /etc/chilli/alcasar-macallowed && echo -n "5, "
[ -e /etc/init.d/chilli.default ] && mv /etc/init.d/chilli.default /etc/init.d/chilli && echo -n "6"
fi
sleep 1
 
#param_squid
/web/acc/admin/auth_exceptions.php
42,8 → 42,8
case 'MAJ_UAMALLOWED' :
$nb_domain=0;
$tab_domains = explode ("\n", $_POST['trusted_domains']);
$fichier=fopen("/etc/chilli/alcasar-uamdomain","w+");
fputs ($fichier, "HS_UAMDOMAINS=\"");
$fichier=fopen("/usr/local/etc/alcasar-uamdomain","w+");
fputs ($fichier, "uamdomain=\"");
foreach ($tab_domains as $domain ){
$tr_domain=trim($domain);
$nb_domain++;
52,14 → 52,14
else fputs ($fichier, $tr_domain);
}
}
fputs ($fichier, "\"");
fputs($fichier, "\"");
fclose($fichier);
unset($_POST['trusted_domains']);
unset($nb_domain);
$nb_url=0;
$tab_urls = explode ("\n", $_POST['trusted_urls']);
$fichier=fopen("/etc/chilli/alcasar-uamallowed","w+");
fputs ($fichier, "HS_UAMALLOW=\"");
$fichier=fopen("/usr/local/etc/alcasar-uamallowed","w+");
fputs ($fichier, "uamallowed=\"");
foreach ($tab_urls as $url ){
$tr_url=trim($url);
$nb_url++;
68,7 → 68,7
else fputs ($fichier, $tr_url);
}
}
fputs ($fichier, "\"");
fputs($fichier, "\"");
fclose($fichier);
unset($_POST['trusted_urls']);
unset($nb_url);
78,8 → 78,8
case 'MAJ_MACALLOWED' :
$nb_mac=0;
$tab_macs = explode ("\n", $_POST['trusted_macs']);
$fichier=fopen("/etc/chilli/alcasar-macallowed","w+");
fputs ($fichier, "HS_MACALLOW=\"");
$fichier=fopen("/usr/local/etc/alcasar-macallowed","w+");
fputs ($fichier, "macallowed=\"");
foreach ($tab_macs as $macs ){
$tr_macs=trim($macs);
$nb_mac++;
88,7 → 88,7
else fputs ($fichier, $tr_macs);
}
}
fputs ($fichier, "\"");
fputs($fichier, "\"");
fclose($fichier);
unset($_POST['trusted_macs']);
unset($nb_mac);
117,7 → 117,7
exemple2 : domain2.net<BR>
<?php
echo "<textarea name='trusted_domains' rows=5 cols=40>";
$trusted_domains_file="/etc/chilli/alcasar-uamdomain";
$trusted_domains_file="/usr/local/etc/alcasar-uamdomain";
$ouvre=fopen($trusted_domains_file,"r");
if ($ouvre)
{
124,10 → 124,10
while (!feof ($ouvre))
{
$tampon = fgets($ouvre, 4096);
$domains = substr($tampon,15,-1);
$tab_domains = explode (",", $domains);
$domain_list = substr($tampon,11,-1);
$tab_domains = explode (",", $domain_list);
foreach ($tab_domains as $domain ){
if ($domain != "\"") echo $domain."\n";
if ($domain) { echo $domain."\n";}
}
}
}
144,7 → 144,7
exemple2 : domain4.org/~polux/index.html<BR>
<?php
echo "<textarea name='trusted_urls' rows=5 cols=40>";
$trusted_urls_file="/etc/chilli/alcasar-uamallowed";
$trusted_urls_file="/usr/local/etc/alcasar-uamallowed";
$ouvre=fopen($trusted_urls_file,"r");
if ($ouvre)
{
151,10 → 151,10
while (!feof ($ouvre))
{
$tampon = fgets($ouvre, 4096);
$urls = substr($tampon,13,-1);
$urls = substr($tampon,12,-1);
$tab_urls = explode (",", $urls);
foreach ($tab_urls as $url ){
if ($url != "\"") echo $url."\n";
if ($url) echo $url."\n";
}
}
}
190,7 → 190,7
exemple : 12-2f-36-a4-df-43<BR>
<?php
echo "<textarea name='trusted_macs' rows=5 cols=40>";
$trusted_macs_file="/etc/chilli/alcasar-macallowed";
$trusted_macs_file="/usr/local/etc/alcasar-macallowed";
$ouvre=fopen($trusted_macs_file,"r");
if ($ouvre)
{
197,10 → 197,10
while (!feof ($ouvre))
{
$tampon = fgets($ouvre, 4096);
$macs = substr($tampon,13,-1);
$macs = substr($tampon,12,-1);
$tab_macs = explode (",", $macs);
foreach ($tab_macs as $macs ){
if ($macs != "\"") echo $macs."\n";
if ($macs) echo $macs."\n";
}
}
}
/web/index-access-deny.php
10,25 → 10,23
$Language = strtolower(substr(chop($Langue[0]),0,2)); }
if($Language == 'fr'){
$l_access_denied = "ACC&Egrave;S REFUS&Eacute;";
$l_access_controled = "ACC&Egrave;S CONTR&Ocirc;L&Eacute;";
$l_required_domain = "Site WEB demand&eacute;";
$l_explain = "Vous tentez d'acc&eacute;der &agrave; une ressource dont le contenu est r&eacute;put&eacute; contenir des informations inappropri&eacute;es.";
$l_contact = "Contactez le responsable de la s&eacute;curit&eacute; (OSSI/RSSI) si vous pensez que ce filtrage est abusif.";
$l_welcome = "Bienvenue sur le portail captif ALCASAR.<br>Vous pouvez : ";
$l_welcome = "Bienvenue sur la page d'accueil du portail.<br>Actions possibles : ";
$l_acc_access = "<a href=\"https://$private_ip/acc\">Acc&eacute;der au centre de gestion (ALCASAR Control Center)</A>";
$l_logout = "<a href=\"http://$private_ip:3990/logoff\">Vous d&eacute;connecter si votre session est ouverte</A>";
$l_internet_access = "<a href=\"https://$private_ip/intercept.php\">Tester l'interception de l'acc&egrave;s &agrave; Internet</A>";
$l_password_change = "<a href=\"https://$private_ip/pass\">Changer votre mot de passe</A>";
}
else {
$l_access_denied = "ACCESS DENIED";
$l_access_controled = "ACCESS CONTROLED";
$l_required_domain = "Required WEB site";
$l_explain = "Your portal has just detected that the Internet access is down";
$l_contact = "Contact your Internet provider responsive for more information";
$l_welcome = "Welcome on the captive portal ALCASAR.<br>You can connect: ";
$l_acc_access = "<a href=\"https://$private_ip/acc\">to the ALCASAR Control Center (ACC)</A>";
$l_welcome = "Welcome on the captive portal ALCASAR.<br>Possible actions : ";
$l_acc_access = "<a href=\"https://$private_ip/acc\">go to the ALCASAR Control Center (ACC)</A>";
$l_logout = "<a href=\"http://$private_ip:3990/logoff\">Logoff if your session is open</A>";
$l_internet_access = "<a href=\"https://$private_ip/intercept.php\">Internet intercept page for Test</A>";
$l_paasword_change = "<a href=\"https://$private_ip/pass\">Change your password</A>";
}
?>
<head>
42,13 → 40,13
<tr>
<td colspan=2 bgcolor=#FEA700 height=100 align=center>
<font face=arial,helvetica size=6>
<? if ($direct_access == "true"){echo "<b>$l_access_controled</b>";} else {echo "<b>$l_access_denied</b>";}?>
<? if ($direct_access == "true"){echo "<img height=\"90\" src=\"images/titre-alcasar.png\">";} else {echo "<b>$l_access_denied</b>";}?>
</td>
</tr>
<tr>
<td colspan=2 bgcolor=#FFFACD height=30 align=right>
<font face=arial,helvetica size=3 color=black>
<b><? echo "$l_required_domain : $_SERVER[HTTP_HOST]";?></b>
<b><? if ($direct_access != "true"){echo "$l_required_domain : $_SERVER[HTTP_HOST]";}?></b>
</td>
</tr>
<tr>
61,7 → 59,7
<font size=3>
<?
if ($direct_access == "true"){
echo "<center>$l_welcome</center> <br><li> $l_acc_access <li> $l_logout <li> $l_internet_access";}
echo "<center>$l_welcome</center> <br> <li> $l_logout <li> $l_password_change <li> $l_acc_access";}
else {echo "$l_explain <br><br> $l_contact";}
?>
</td>