Subversion Repositories ALCASAR

Compare Revisions

Ignore whitespace Rev 860 → Rev 861

/alcasar.sh
331,14 → 331,14
PRIVATE_IP_MASK=`grep PRIVATE_IP conf/etc/alcasar.conf|cut -d"=" -f2`
rm -rf conf/etc/alcasar.conf
fi
# Define Lan side parameters
# Define LAN side global parameters
hostname $HOSTNAME
PRIVATE_NETWORK=`/bin/ipcalc -n $PRIVATE_IP_MASK | cut -d"=" -f2` # private network address (ie.: 192.168.182.0)
PRIVATE_NETMASK=`/bin/ipcalc -m $PRIVATE_IP_MASK | cut -d"=" -f2` # private network mask (ie.: 255.255.255.0)
PRIVATE_IP=`echo $PRIVATE_IP_MASK | cut -d"/" -f1` # ALCASAR private ip address (consultation LAN side)
private_prefix=`/bin/ipcalc -p $PRIVATE_IP_MASK |cut -d"=" -f2` # network prefix (ie. 24)
PRIVATE_NETWORK_MASK=$PRIVATE_NETWORK/$private_prefix # ie.: 192.168.182.0/24
classe=$((private_prefix/8)); classe_sup=`expr $classe + 1`; classe_sup_sup=`expr $classe + 2` # ie.: 2=classe B, 3=classe C
PRIVATE_PREFIX=`/bin/ipcalc -p $PRIVATE_IP_MASK |cut -d"=" -f2` # network prefix (ie. 24)
PRIVATE_NETWORK_MASK=$PRIVATE_NETWORK/$PRIVATE_PREFIX # ie.: 192.168.182.0/24
classe=$((PRIVATE_PREFIX/8)); classe_sup=`expr $classe + 1`; classe_sup_sup=`expr $classe + 2` # ie.: 2=classe B, 3=classe C
PRIVATE_NETWORK_SHORT=`echo $PRIVATE_NETWORK | cut -d"." -f1-$classe`. # compatibility with hosts.allow et hosts.deny (ie.: 192.168.182.)
PRIVATE_BROADCAST=`/bin/ipcalc -b $PRIVATE_NETWORK_MASK | cut -d"=" -f2` # private network broadcast (ie.: 192.168.182.255)
private_network_ending=`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup` # last octet of LAN address
345,6 → 345,21
private_broadcast_ending=`echo $PRIVATE_BROADCAST | cut -d"." -f$classe_sup` # last octet of LAN broadcast
PRIVATE_FIRST_IP=`echo $PRIVATE_NETWORK | cut -d"." -f1-3`"."`expr $private_network_ending + 1` # First network address (ex.: 192.168.182.1)
PRIVATE_LAST_IP=`echo $PRIVATE_BROADCAST | cut -d"." -f1-3`"."`expr $private_broadcast_ending - 1` # last network address (ex.: 192.168.182.254)
 
# Predefine DHCP parameters (LAN side)
tmp_mask=`echo $PRIVATE_NETWORK_MASK|cut -d"/" -f2`; half_mask=`expr $tmp_mask + 1` # masque du 1/2 réseau de consultation (ex.: 25)
PRIVATE_STAT_IP=$PRIVATE_NETWORK/$half_mask # plage des adresses statiques (ex.: 192.168.182.0/25)
private_network_ending=`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup` # dernier octet de l'@ de réseau
private_broadcast_ending=`echo $PRIVATE_BROADCAST | cut -d"." -f$classe_sup` # dernier octet de l'@ de broadcast
private_plage=`expr $private_broadcast_ending - $private_network_ending + 1`
private_half_plage=`expr $private_plage / 2`
private_dyn=`expr $private_half_plage + $private_network_ending`
private_dyn_ip_network=`echo $PRIVATE_NETWORK | cut -d"." -f1-$classe`"."$private_dyn"."`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup_sup-5`
PRIVATE_DYN_IP=`echo $private_dyn_ip_network | cut -d"." -f1-4`/$half_mask # @ réseau (CIDR) de la plage des adresses dynamiques (ex.: 192.168.182.128/25)
private_dyn_ip_ending=`echo $private_dyn_ip_network | cut -d"." -f4`
PRIVATE_DYN_FIRST_IP=`echo $private_dyn_ip_network | cut -d"." -f1-3`"."`expr $private_dyn_ip_ending + 1` # 1ère adresse de la plage dynamique (ex.: 192.168.182.129)
PRIVATE_DYN_LAST_IP=`echo $PRIVATE_BROADCAST | cut -d"." -f1-3`"."`expr $private_broadcast_ending - 1` # dernière adresse de la plage dynamique (ex.: 192.168.182.254)
 
# Define Internet parameters
[ -e /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF ] || cp /etc/sysconfig/network-scripts/ifcfg-$EXTIF /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF
DNS1=`grep DNS1 /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2` # @ip 1er DNS
355,6 → 370,7
DEFAULT_PUBLIC_NETMASK=`ipcalc -m 192.168.182.2 | cut -d"=" -f2`
PUBLIC_NETMASK=${PUBLIC_NETMASK:=$DEFAULT_PUBLIC_NETMASK}
PUBLIC_PREFIX=`/bin/ipcalc -p 192.168.182.2 $PUBLIC_NETMASK|cut -d"=" -f2`
 
echo "PUBLIC_IP=$PUBLIC_IP/$PUBLIC_PREFIX" >> $CONF_FILE
echo "PUBLIC_MTU=1500" >> $CONF_FILE
echo "GW=$PUBLIC_GATEWAY" >> $CONF_FILE
924,7 → 940,9
net $PRIVATE_NETWORK_MASK
dhcpif $INTIF
ethers $DIR_DEST_ETC/alcasar-ethers
#statip
#nodynip
statip $PRIVATE_STAT_IP
dynip $PRIVATE_DYN_IP
domain localdomain
dns1 $PRIVATE_IP
dns2 $PRIVATE_IP
1212,7 → 1230,7
server=$DNS1
server=$DNS2
# le servive DHCP est configuré mais n'est exploité que pour le "bypass"
dhcp-range=$PRIVATE_FIRST_IP,$PRIVATE_LAST_IP,$PRIVATE_NETMASK,12h
dhcp-range=$PRIVATE_DYN_FIRST_IP,$PRIVATE_DYN_LAST_IP,$PRIVATE_NETMASK,12h
dhcp-option=option:router,$PRIVATE_IP
#dhcp-option=option:ntp-server,192.168.0.4,10.10.0.5
 
/CHANGELOG
16,6 → 16,7
- Exceptions of authentication are now managed by Radius (like other users)
- @network and @Host can be blocked by the firewall (conf file : etc/alcasar-ip-blocked). Alacasar Control Center is updated.
- the filtering of LAN betwenne ALCASAR and the Internet GW is no more need.
- DHCP service is more flexible : it can be {off | half | full}
---------------------- 2.5 --------------------
Bugs
- watchdog of Daemons for service's test
/scripts/alcasar-conf.sh
43,8 → 43,18
PRIVATE_BROADCAST=`/bin/ipcalc -b $PRIVATE_NETWORK_MASK | cut -d"=" -f2` # @ broadcast réseau de consultation (ex.: 192.168.182.255)
private_network_ending=`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup` # dernier octet de l'@ de réseau
private_broadcast_ending=`echo $PRIVATE_BROADCAST | cut -d"." -f$classe_sup` # dernier octet de l'@ de broadcast
PRIVATE_FIRST_IP=`echo $PRIVATE_NETWORK | cut -d"." -f1-3`"."`expr $private_network_ending + 1` # 1ère adresse de la plage dynamique (ex.: 192.168.182.129)
PRIVATE_LAST_IP=`echo $PRIVATE_BROADCAST | cut -d"." -f1-3`"."`expr $private_broadcast_ending - 1` # dernière adresse de la plage dynamique (ex.: 192.168.182.254)
PRIVATE_FIRST_IP=`echo $PRIVATE_NETWORK | cut -d"." -f1-3`"."`expr $private_network_ending + 1` # 1ère adresse de la plage de consultation (ex.: 192.168.182.1)
PRIVATE_LAST_IP=`echo $PRIVATE_BROADCAST | cut -d"." -f1-3`"."`expr $private_broadcast_ending - 1` # dernière adresse de la plage de consultation (ex.: 192.168.182.254)
tmp_mask=`echo $PRIVATE_NETWORK_MASK|cut -d"/" -f2`; half_mask=`expr $tmp_mask + 1` # masque du 1/2 réseau de consultation (ex.: 25)
PRIVATE_STAT_IP=$PRIVATE_NETWORK/$half_mask # plage des adresses statiques (ex.: 192.168.182.0/25)
private_plage=`expr $private_broadcast_ending - $private_network_ending + 1`
private_half_plage=`expr $private_plage / 2`
private_dyn=`expr $private_half_plage + $private_network_ending`
private_dyn_ip_network=`echo $PRIVATE_NETWORK | cut -d"." -f1-$classe`"."$private_dyn"."`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup_sup-5`
PRIVATE_DYN_IP=`echo $private_dyn_ip_network | cut -d"." -f1-4`/$half_mask # @ réseau (CIDR) de la plage des adresses dynamiques (ex.: 192.168.182.128/25)
private_dyn_ip_ending=`echo $private_dyn_ip_network | cut -d"." -f4`
PRIVATE_DYN_FIRST_IP=`echo $private_dyn_ip_network | cut -d"." -f1-3`"."`expr $private_dyn_ip_ending + 1` # 1ère adresse de la plage dynamique (ex.: 192.168.182.129)
PRIVATE_DYN_LAST_IP=`echo $PRIVATE_BROADCAST | cut -d"." -f1-3`"."`expr $private_broadcast_ending - 1` # dernière adresse de la plage dynamique (ex.: 192.168.182.254)
}
 
usage="Usage: alcasar-conf.sh --create | --load | --apply"
146,6 → 156,7
echo "DNS2=$DNS2" >> $CONF_FILE
echo "PRIVATE_IP=$PRIVATE_IP/$PRIVATE_PREFIX" >> $CONF_FILE
echo "DHCP=on" >> $CONF_FILE
 
if [ -r /var/run/sshd.pid ]; then
echo "SSH=on" >> $CONF_FILE
else
329,7 → 340,7
echo "server=$DNS1" >> $i
echo "server=$DNS2" >> $i
done
$SED "s?^dhcp-range=.*?dhcp-range=$PRIVATE_FIRST_IP,$PRIVATE_LAST_IP,$PRIVATE_NETMASK,12h?g" /etc/dnsmasq.conf
$SED "s?^dhcp-range=.*?dhcp-range=$PRIVATE_DYN_FIRST_IP,$PRIVATE_DYN_LAST_IP,$PRIVATE_NETMASK,12h?g" /etc/dnsmasq.conf
$SED "s?^dhcp-option=option:router.*?dhcp-option=option:router,$PRIVATE_IP?g" /etc/dnsmasq.conf
# DG + BL
$SED "s?^filterip.*?filterip = $PRIVATE_IP?g" /etc/dansguardian/dansguardian.conf
/scripts/sbin/alcasar-dhcp.sh
11,16 → 11,39
SED="/bin/sed -i"
CHILLI_CONF_FILE="/etc/chilli.conf"
ALCASAR_CONF_FILE="/usr/local/etc/alcasar.conf"
DNSMASQ_CONF_FILE="/etc/dnsmasq.conf"
ETHERS_FILE="/usr/local/etc/alcasar-ethers"
 
# define DHCP parameters (LAN side)
PRIVATE_IP_MASK=`grep PRIVATE_IP $ALCASAR_CONF_FILE|cut -d"=" -f2`
PRIVATE_IP=`echo $PRIVATE_IP_MASK | cut -d"/" -f1`
PRIVATE_PREFIX=`/bin/ipcalc -p $PRIVATE_IP_MASK |cut -d"=" -f2` # network prefix (ie. 24)
PRIVATE_NETMASK=`/bin/ipcalc -m $PRIVATE_IP_MASK | cut -d"=" -f2`
PRIVATE_NETWORK=`/bin/ipcalc -n $PRIVATE_IP $PRIVATE_NETMASK| cut -d"=" -f2`
PRIVATE_PREFIX=`/bin/ipcalc -p $PRIVATE_IP $PRIVATE_NETMASK |cut -d"=" -f2`
PRIVATE_NETWORK=`/bin/ipcalc -n $PRIVATE_IP $PRIVATE_NETMASK| cut -d"=" -f2`
PRIVATE_NETWORK_MASK=$PRIVATE_NETWORK/$PRIVATE_PREFIX # ie.: 192.168.182.0/24
classe=$((PRIVATE_PREFIX/8)); classe_sup=`expr $classe + 1`; classe_sup_sup=`expr $classe + 2` # ie.: 2=classe B, 3=classe C
PRIVATE_BROADCAST=`/bin/ipcalc -b $PRIVATE_NETWORK_MASK | cut -d"=" -f2` # private network broadcast (ie.: 192.168.182.255)
private_network_ending=`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup` # last octet of LAN address
private_broadcast_ending=`echo $PRIVATE_BROADCAST | cut -d"." -f$classe_sup` # last octet of LAN broadcast
PRIVATE_FIRST_IP=`echo $PRIVATE_NETWORK | cut -d"." -f1-3`"."`expr $private_network_ending + 1` # First network address (ex.: 192.168.182.1)
PRIVATE_LAST_IP=`echo $PRIVATE_BROADCAST | cut -d"." -f1-3`"."`expr $private_broadcast_ending - 1` # last network address (ex.: 192.168.182.254)
PRIVATE_NETWORK_MASK=$PRIVATE_NETWORK/$PRIVATE_PREFIX
tmp_mask=`echo $PRIVATE_NETWORK_MASK|cut -d"/" -f2`; half_mask=`expr $tmp_mask + 1` # masque du 1/2 réseau de consultation (ex.: 25)
PRIVATE_STAT_IP=$PRIVATE_NETWORK/$half_mask # plage des adresses statiques (ex.: 192.168.182.0/25)
private_network_ending=`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup` # dernier octet de l'@ de réseau
private_broadcast_ending=`echo $PRIVATE_BROADCAST | cut -d"." -f$classe_sup` # dernier octet de l'@ de broadcast
private_plage=`expr $private_broadcast_ending - $private_network_ending + 1`
private_half_plage=`expr $private_plage / 2`
private_dyn=`expr $private_half_plage + $private_network_ending`
private_dyn_ip_network=`echo $PRIVATE_NETWORK | cut -d"." -f1-$classe`"."$private_dyn"."`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup_sup-5`
PRIVATE_DYN_IP=`echo $private_dyn_ip_network | cut -d"." -f1-4`/$half_mask # @ réseau (CIDR) de la plage des adresses dynamiques (ex.: 192.168.182.128/25)
private_dyn_ip_ending=`echo $private_dyn_ip_network | cut -d"." -f4`
PRIVATE_DYN_FIRST_IP=`echo $private_dyn_ip_network | cut -d"." -f1-3`"."`expr $private_dyn_ip_ending + 1` # 1ère adresse de la plage dynamique (ex.: 192.168.182.129)
PRIVATE_DYN_LAST_IP=`echo $PRIVATE_BROADCAST | cut -d"." -f1-3`"."`expr $private_broadcast_ending - 1` # dernière adresse de la plage dynamique (ex.: 192.168.182.254)
 
usage="Usage: alcasar-dhcp.sh {--on | -on} | {--off | -off}"
 
usage="Usage: alcasar-dhcp.sh {--full | -full} | {--off | -off} | {--half | -half}"
nb_args=$#
args=$1
if [ $nb_args -eq 0 ]
29,24 → 52,40
exit 1
fi
case $args in
-\? | -h* | --h*)
-\? | -h | --h)
echo "$usage"
exit 0
;;
--off|-off) # disable DHCP service
$SED "s?^#statip.*?statip\t\t$PRIVATE_NETWORK_MASK?g" $CHILLI_CONF_FILE
$SED "s?.*statip.*?statip\t\t$PRIVATE_NETWORK_MASK?g" $CHILLI_CONF_FILE
$SED "s?^#nodynip.*?nodynip?g" $CHILLI_CONF_FILE
$SED "s?^ethers.*?#ethers\t\t$ETHERS_FILE?g" $CHILLI_CONF_FILE
$SED "s?^dynip.*?#dynip?g" $CHILLI_CONF_FILE
$SED "s?^#dynip.*?#dynip?g" $CHILLI_CONF_FILE
# $SED "s?^ethers.*?#ethers\t\t$ETHERS_FILE?g" $CHILLI_CONF_FILE
$SED "s?^DHCP.*?DHCP=off?g" $ALCASAR_CONF_FILE
/etc/init.d/chilli restart
;;
--on|-on) # enable DHCP service
$SED "s?^statip.*?#statip\t\t$PRIVATE_NETWORK_MASK?g" $CHILLI_CONF_FILE
--full|-full) # enable DHCP service on all range of IP addresses
$SED "s?^.*statip.*?#statip?g" $CHILLI_CONF_FILE
$SED "s?^nodynip.*?#nodynip?g" $CHILLI_CONF_FILE
$SED "s?^#ethers.*?ethers\t\t$ETHERS_FILE?g" $CHILLI_CONF_FILE
$SED "s?^DHCP.*?DHCP=on?g" $ALCASAR_CONF_FILE
# $SED "s?^#ethers.*?ethers\t\t$ETHERS_FILE?g" $CHILLI_CONF_FILE
$SED "s?^DHCP.*?DHCP=full?g" $ALCASAR_CONF_FILE
$SED "s?^dynip.*?dynip\t\t$PRIVATE_NETWORK_MASK?g" $CHILLI_CONF_FILE
$SED "s?^#dynip.*?dynip\t\t$PRIVATE_NETWORK_MASK?g" $CHILLI_CONF_FILE
$SED "s?^dhcp_range.*?dhcp-range=$PRIVATE_FIRST_IP,$PRIVATE_LAST_IP,$PRIVATE_NETMASK,12h?g" $DNSMASQ_CONF_FILE
/etc/init.d/chilli restart
;;
--half|-half) # enable DHCP service on half (upper) range of IP addresses
$SED "s?.*statip.*?statip\t\t$PRIVATE_STAT_IP?g" $CHILLI_CONF_FILE
$SED "s?^nodynip.*?#nodynip?g" $CHILLI_CONF_FILE
# $SED "s?^#ethers.*?ethers\t\t$ETHERS_FILE?g" $CHILLI_CONF_FILE
$SED "s?^DHCP.*?DHCP=half?g" $ALCASAR_CONF_FILE
$SED "s?^dynip.*?dynip\t\t$PRIVATE_DYN_IP?g" $CHILLI_CONF_FILE
$SED "s?^#dynip.*?dynip\t\t$PRIVATE_DYN_IP?g" $CHILLI_CONF_FILE
$SED "s?^dhcp_range.*?dhcp-range=$PRIVATE_DYN_FIRST_IP,$PRIVATE_DYN_LAST_IP,$PRIVATE_NETMASK,12h?g" $DNSMASQ_CONF_FILE
 
/etc/init.d/chilli restart
;;
*)
echo "Argument inconnu :$1";
echo "$usage"
/web/acc/admin/network.php
1,35 → 1,19
<?php
/* written by steweb57 & Rexy */
 
/***************************************
* CONSTANTES AVEC CHEMINS DES FICHIERS *
****************************************/
/********************
* TEST CONF FILES *
*********************/
define ("ALCASAR_CHILLI", "/etc/chilli.conf");
define ("CONF_FILE", "/usr/local/etc/alcasar.conf");
define ("ETHERS_FILE", "/usr/local/etc/alcasar-ethers");
 
/********************
* TEST DES FICHIERS *
*********************/
//Test de présence et des droits en lecture des fichiers de configuration.
if (!file_exists(ALCASAR_CHILLI)){
exit("Fichier de configuration ".ALCASAR_CHILLI." non présent");
$conf_files=array(ALCASAR_CHILLI,CONF_FILE,ETHERS_FILE);
foreach ($conf_files as $file){
if (!file_exists($file)){
exit("Requested file ".$file." isn't present");}
if (!is_readable($file)){
exit("Can't read the file ".$file);}
}
if (!is_readable(ALCASAR_CHILLI)){
exit("Vous n'avez pas les droits de lecture sur le fichier ".ALCASAR_CHILLI);
}
if (!file_exists(CONF_FILE)){
exit("Fichier de configuration ".CONF_FILE." non présent");
}
if (!is_readable(CONF_FILE)){
exit("Vous n'avez pas les droits de lecture sur le fichier ".CONF_FILE);
}
if (!file_exists(ETHERS_FILE)){
exit("Fichier de configuration ".ETHERS_FILE." non présent");
}
if (!is_readable(ETHERS_FILE)){
exit("Vous n'avez pas les droits de lecture sur le fichier ".ETHERS_FILE);
}
 
# Choice of language
$Language = 'en';
47,17 → 31,19
$l_ip_public = "Adresse IP publique";
$l_ip_dns1 = "DNS1";
$l_ip_dns2 = "DNS2";
$l_dhcp_title = "Serveur DHCP";
$l_dhcp_on = "Le service DHCP est actuellement activé";
$l_dhcp_off = "Le service DHCP est actuellement arrêté";
$l_switch_on = "Démarrer le service DHCP";
$l_switch_off = "Arrêter le service DHCP";
$l_dhcp_title = "Service DHCP";
$l_DHCP_full = "DHCP complet";
$l_DHCP_half = "Demi DHCP ";
$l_DHCP_off = "Sans DHCP";
$l_DHCP_full_explain = "DHCP complet";
$l_DHCP_half_explain = "Demi DHCP ";
$l_DHCP_off_explain = "Sans DHCP";
$l_static_dhcp_title = "Réservation d'adresses IP statiques";
$l_mac_address = "Adresse MAC";
$l_ip_address = "Adresse IP";
$l_mac_del = "Supprimer de la liste";
$l_add_to_list = "Ajouter";
$l_submit = "Appliquer";
$l_apply = "Appliquer les changements";
 
} else {
$l_network_title = "Network configuration";
70,27 → 56,32
$l_ip_public = "Public IP address";
$l_ip_dns1 = "DNS1 :";
$l_ip_dns2 = "DNS2";
$l_dhcp_title = "DHCP server";
$l_dhcp_on = "The DHCP service is enabled";
$l_dhcp_off = "The DHCP service is disabled";
$l_switch_on = "Start the DHCP service";
$l_switch_off = "Stop the DHCP service";
$l_dhcp_title = "DHCP service";
$l_DHCP_full = "Full DHCP";
$l_DHCP_half = "Half DHCP ";
$l_DHCP_off = "No DHCP";
$l_DHCP_full_explain = "Full DHCP";
$l_DHCP_half_explain = "Half DHCP ";
$l_DHCP_off_explain = "No DHCP";
$l_static_dhcp_title = "Static IP addresses reservation";
$l_mac_address = "MAC Address";
$l_ip_address = "IP Address";
$l_mac_del = "Delete from list";
$l_add_to_list = "Add";
$l_submit = "Apply";
$l_apply = "Apply changes";
}
if (isset($_POST['choix'])){$choix=$_POST['choix'];} else {$choix="";}
switch ($choix)
{
case 'DHCP_On' :
exec ("sudo /usr/local/sbin/alcasar-dhcp.sh -on");
case 'DHCP_Full' :
exec ("sudo /usr/local/sbin/alcasar-dhcp.sh -full");
break;
case 'DHCP_Off' :
exec ("sudo /usr/local/sbin/alcasar-dhcp.sh -off");
break;
case 'DHCP_Half' :
exec ("sudo /usr/local/sbin/alcasar-dhcp.sh -half");
break;
case 'new_mac' :
if ((trim($_POST['add_mac']) != "") and (trim($_POST['add_ip']) != ""))
{
182,9 → 173,9
}
fclose($ouvre);
 
/****************************************************************
* Lecture du fichier CONF_FILE *
*****************************************************************/
/***********************************
* Read ALCASAR_CONF_FILE *
************************************/
$ouvre=fopen(CONF_FILE,"r");
if ($ouvre){
while (!feof ($ouvre))
258,25 → 249,22
<table width="100%" border=1 cellspacing=0 cellpadding=0>
<tr><td valign="middle" align="left">
<?
if (strncmp ($conf["DHCP"],"on",2) == 0)
{
echo "<CENTER><H3>$l_dhcp_on</H3></CENTER>";
echo "<FORM action='$_SERVER[PHP_SELF]' method=POST>";
echo "<input type=hidden name='choix' value=\"DHCP_Off\">";
echo "<input type=submit value=\"$l_switch_off\">";
}
else
{
echo "<CENTER><H3>$l_dhcp_off</H3></CENTER>";
echo "<FORM action='$_SERVER[PHP_SELF]' method=POST>";
echo "<input type=hidden name='choix' value=\"DHCP_On\">";
echo "<input type=submit value=\"$l_switch_on\">";
}
$dhcp_state=trim($conf["DHCP"]);
echo "<CENTER><H3>${"l_DHCP_".$dhcp_state}</H3></CENTER>";
echo "<FORM action='$_SERVER[PHP_SELF]' method=POST>";
echo "<select name='choix'>";
echo "<option value=\"DHCP_Off\" ";if (!strcmp($dhcp_state,"off")) echo "selected";echo ">$l_DHCP_off";
echo "<option value=\"DHCP_Half\" ";if (!strcmp($dhcp_state,"half")) echo "selected";echo ">$l_DHCP_half";
echo "<option value=\"DHCP_Full\" ";if (!strcmp($dhcp_state,"full")) echo "selected";echo ">$l_DHCP_full";
echo "</select>";
echo "<input type=submit value='$l_apply'>";
echo "<td align='center'>";
echo "$l_DHCP_off : $l_DHCP_off_explain<br>$l_DHCP_half : $l_DHCP_half_explain<br>$l_DHCP_full : $l_DHCP_full_explain";
echo "</td>";
echo "</FORM>";
echo "</td></tr>";
echo "</TABLE>";
if (strncmp($conf["DHCP"],"on",2) == 0) require ('network2.php');
if (strncmp($conf["DHCP"],"full",2) == 0) { require ('network2.php');}
else { echo "</TABLE>"; }
?>
</BODY>
</body>
</html>
/web/acc/admin/net_filter.php
39,7 → 39,7
$l_proto="Nom du protocole";
$l_enabled="Autoris&eacute;";
$l_add_to_list="Ajouter &agrave; la liste";
$l_save_modif="Enregistrer les modifications";
$l_save="Enregistrer les modifications";
}
else {
$l_title_antivir = "WEB antivirus";
68,7 → 68,7
$l_proto="protocol name";
$l_enabled="Authorized";
$l_add_to_list="Add to the list";
$l_save_modif="Save modifications";
$l_save="Save changes";
}
/********************
* TEST CONF FILES *
83,6 → 83,23
if (!is_readable($file)){
exit("Can't read the file ".$file);}
}
/**********************************
* Read ALCASAR CONF_FILE *
***********************************/
$ouvre=fopen(CONF_FILE,"r");
if ($ouvre){
while (!feof ($ouvre))
{
$tampon = fgets($ouvre, 4096);
if (strpos($tampon,"=")!==false){
$tmp = explode("=",$tampon);
$conf[$tmp[0]] = $tmp[1];
}
}
}else{
exit("Erreur d'ouverture du fichier ".CONF_FILE);
}
fclose($ouvre);
 
if (isset($_POST['choix'])){$choix=$_POST['choix'];} else {$choix="";}
switch ($choix)
304,7 → 321,11
echo ">";}
else {
echo "checked>";}
echo "<td><input type='checkbox' name='del-$ip_addr'>";
echo "<td>";
if (strcmp (trim($ip_addr),trim($conf["PUBLIC_IP"]))) {
echo "<input type='checkbox' name='del-$ip_addr'>";}
else {
echo "&nbsp;";}
echo "</tr>";
}
}
312,7 → 333,7
?>
</table>
<input type='hidden' name='choix' value='change_ip'>
<input type='submit' value='<?echo"$l_save_modif";?>'>
<input type='submit' value='<?echo"$l_save";?>'>
</form></td><td valign='middle' align='center'>
<form action='<?echo"$_SERVER[PHP_SELF]"?>' method='POST'>
<table cellspacing=2 cellpadding=3 border=1>
/web/acc/admin/network2.php
1,4 → 1,3
<table width="100%" border=1 cellspacing=0 cellpadding=1>
<tr><td colspan=2 align="center">
<?
echo "$l_static_dhcp_title</td></tr>";
27,7 → 26,7
if ($line_exist)
{
echo "<input type='hidden' name='choix' value='del_mac'>";
echo "<input type='submit' value='$l_submit'>";
echo "<input type='submit' value='$l_apply'>";
}
echo "</form></td><td valign='middle' align='center'>";
echo "<FORM action='network.php' method='POST'>";
44,5 → 43,3
</form>
</td></tr>
</table>
</BODY>
</HTML>
/web/acc/admin/net_filter2.php
20,7 → 20,11
echo ">";}
else {
echo "checked>";}
if ($name_svc != "icmp") {echo "<td><input type='checkbox' name='del-$name_svc'>";}
echo "<td>";
if ($name_svc != "icmp") {
echo "<input type='checkbox' name='del-$name_svc'>";}
else {
echo "&nbsp;";}
echo "</tr>";
}
}
28,7 → 32,7
?>
</table>
<input type='hidden' name='choix' value='change_port'>
<input type='submit' value='<?echo"$l_save_modif";?>'>
<input type='submit' value='<?echo"$l_save";?>'>
</form></td><td valign='middle' align='center'>
<form action='net_filter.php' method='POST'>
<table cellspacing=2 cellpadding=3 border=1>