/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; |