Subversion Repositories ALCASAR

Compare Revisions

Ignore whitespace Rev 111 → Rev 112

/alcasar.sh
776,10 → 776,10
[ -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 "WISPR" (inutilisée par Alcasar)
$SED "s?^HS_WISPRLOGIN=.*??g" /etc/chilli/functions
# suppression de la primitive "uamanydns" (les clients ne peuvent utiliser que les serveurs DNS d'Alcasar)
# 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 (suppression du cron et correction de la procédure d'arret)
[ -e /etc/init.d/chilli.default ] || cp /etc/init.d/chilli /etc/init.d/chilli.default
cp -f $DIR_CONF/chilli-init /etc/init.d/chilli
814,6 → 814,7
$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
# 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
/conf/chilli-init
6,17 → 6,49
# description: CoovaChilli
 
# Source function library.
. /etc/rc.d/init.d/functions
 
. /etc/sysconfig/network
daemon=
killproc=killall
 
[ ${NETWORKING} = "no" ] && exit 0
[ -e /etc/rc.d/init.d/functions ] && {
. /etc/rc.d/init.d/functions
daemon=daemon
killproc=killproc
}
 
[ -e /etc/sysconfig/network ] && {
. /etc/sysconfig/network
[ ${NETWORKING} = "no" ] && exit 0
}
 
[ -f /usr/sbin/chilli ] || exit 0
[ -f /etc/chilli.conf ] || exit 0
 
. /etc/chilli/functions
 
MULTI=$(ls /etc/chilli/*/chilli.conf 2>/dev/null)
[ -z "$DHCPIF" ] && [ -n "$MULTI" ] && {
for c in $MULTI;
do
gprintf "Found configuration %s\n" "$c"
DHCPIF=$(basename $(echo $c|sed 's#/chilli.conf##'))
export DHCPIF
gprintf "Running DHCPIF=%s %s $*\n" "$DHCPIF" "$0"
sh $0 $*
done
exit
}
 
if [ -n "$DHCPIF" ]; then
CONFIG=/etc/chilli/$DHCPIF/chilli.conf
else
CONFIG=/etc/chilli.conf
fi
 
[ -f $CONFIG ] || {
gprintf "%s Not found\n" "$CONFIG"
exit 0
}
 
check_required
 
RETVAL=0
24,32 → 56,34
 
case $1 in
start)
echo -n $"Starting $prog: "
gprintf "Starting %s: " "$prog"
 
/sbin/modprobe tun >/dev/null 2>&1
echo 1 > /proc/sys/net/ipv4/ip_forward
 
[ -e /dev/net/tun ] || {
(cd /dev;
mkdir net;
cd net;
mknod tun c 10 200)
}
 
writeconfig
radiusconfig
 
# (crontab -l 2>&- | grep -v $0
# test ${HS_ADMINTERVAL:-0} -gt 0 && echo "*/$HS_ADMINTERVAL * * * * $0 radconfig"
# echo "*/10 * * * * $0 checkrunning"
# echo "*/2 * * * * $0 arping"
# ) | crontab - 2>&-
 
# ifconfig $HS_LANIF 0.0.0.0
daemon /usr/sbin/chilli
test ${HS_ADMINTERVAL:-0} -gt 0 && {
(crontab -l 2>&- | grep -v $0
gprintf "*/%s * * * * %s radconfig\n" "$HS_ADMINTERVAL" "$0"
) | crontab - 2>&-
}
ifconfig $HS_LANIF 0.0.0.0
$daemon /usr/sbin/chilli -c $CONFIG &
RETVAL=$?
 
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/chilli
echo
echo
;;
 
checkrunning)
[ -e $LKFILE -a ! -e $PIDFILE ] && $0 start
;;
 
radconfig)
radconfig)
[ -e $MAIN_CONF ] || writeconfig
radiusconfig
;;
63,34 → 97,32
$0 start
RETVAL=$?
;;
 
status)
status chilli
RETVAL=$?
;;
stop)
echo -n $"Shutting down $prog: "
gprintf "Shutting down %s: " "$prog"
 
crontab -l 2>&- | grep -v $0 | crontab -
killproc chilli
[ -f /var/run/chilli.pid ] && {
kill $(cat /var/run/chilli.pid)
RETVAL=$
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/chilli /var/run/chilli.pid
 
[ -f /var/run/chilli.$HS_LANIF.pid ] && {
kill $(cat /var/run/chilli.$HS_LANIF.pid)
RETVAL=$?
[ $RETVAL = 0 ] && {
rm -f /var/run/chilli.$HS_LANIF.pid 2>/dev/null
}
}
 
#$killproc chilli
 
echo
;;
 
condrestart)
if [ -f /var/lock/subsys/chilli ] ; then
$0 restart
RETVAL=$?
fi
;;
 
status)
status chilli
RETVAL=$?
;;
 
*)
echo $"Usage: $0 {start|stop|restart|condrestart|status|reload|radconfig}"
gprintf "Usage: %s {start|stop|restart|reload|radconfig}\n" "$0"
exit 1
esac
 
/gestion/admin/filter_exceptions.php
14,12 → 14,12
$Language = strtolower(substr(chop($Langue[0]),0,2)); }
if($Language == 'fr'){
$l_exception_IP = "Exception au filtrage";
$l_exception_txt="Entrez ici les adresses IP des stations du réseau de consultation ne subissant pas de filtrage<BR>Entrez une adresse IP par ligne";
$l_exception_txt="Entrez ici les adresses IP des stations du réseau de consultation ne subissant ni filtrage WEB ni filtrage réseau<BR>Entrez une adresse IP par ligne";
$l_submit = "Enregistrer";
}
else {
$l_exception_IP = "Network filtering exceptions";
$l_exception_txt="Put here the stations IP address that won't be filtered<BR>Put one IP per row";
$l_exception_txt="Put here the stations IP address that won't be neither WEB filtered nor network filtered<BR>Put one IP per row";
$l_submit = "Submit";
}
if (isset($_POST['choix'])){
28,8 → 28,18
case 'IP_exceptions' :
// réencodage iso + format unix + rc fin de ligne (ouf...)
$ip_list = str_replace("\r\n", "\n", utf8_decode($_POST['exception_list']));
if ($ip_list[strlen($ip_list)-1] != "\n") { $ip_list[strlen($ip_list)]="\n";} ;
if (strlen($ip_list) != 0){
if ($ip_list[strlen($ip_list)-1] != "\n") { $ip_list[strlen($ip_list)]="\n";} ;} ;
unset($_POST['exception_list']);
// écriture exception pour Dansguardian
$fichier=fopen("/etc/dansguardian/lists/exceptioniplist", "w+");
fputs($fichier,$ip_list);
fclose($fichier);
// écriture exception pour filtrage réseau
$fichier=fopen("/usr/local/etc/alcasar-filter-exceptions", "w+");
fputs($fichier, $ip_list);
fclose($fichier);
// test si Dansguardian activé
$pointeur = fopen("/etc/dansguardian/dansguardian.conf", "r");
$result = false;
if ($pointeur)
47,11 → 57,9
fclose($pointeur);
if ($result)
{
$fichier=fopen("/etc/dansguardian/lists/exceptioniplist", "w+");
fputs($fichier,$ip_list);
fclose($fichier);
exec ("sudo /usr/local/sbin/alcasar-bl.sh -reload");
}
// test si filtrage réseau activé
$pointeur = fopen("/usr/local/bin/alcasar-iptables.sh", "r");
$result = False ;
if ($pointeur)
69,9 → 77,6
fclose($pointeur);
if ($result)
{
$fichier=fopen("/usr/local/etc/alcasar-filter-exceptions", "w+");
fputs($fichier, $ip_list);
fclose($fichier);
exec ("sudo /usr/local/sbin/alcasar-nf.sh -on");
}
break;