801,26 → 801,99 |
EOF |
} # End of param_web_radius () |
|
########################################################################################## |
################################################################################## |
## Fonction param_chilli ## |
## - Paramètrage du fichier d'initialisation et de configuration de coova-chilli ## |
## - Création du fichier d'initialisation et de configuration de coova-chilli ## |
## - Paramètrage de la page d'authentification (intercept.php) ## |
########################################################################################## |
################################################################################## |
param_chilli () |
{ |
# modification du fichier d'initialisation |
# init file creation |
[ -e /etc/init.d/chilli.default ] || cp /etc/init.d/chilli /etc/init.d/chilli.default |
# ajout de la fonction 'status' (utile pour la gestion du process) |
$SED "/^.*functions/i. /etc/init.d/functions" /etc/init.d/chilli |
$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 des fonctions 'writeconfig' et 'radiusconfig' |
$SED "/writeconfig/d" /etc/init.d/chilli |
$SED "/radiusconfig/d" /etc/init.d/chilli |
# suppression de warning disgracieux |
$SED "s?which start-stop-daemon?which start-stop-daemon 2>/dev/null?g" /etc/init.d/chilli |
# création du fichier de conf |
cat <<EOF > /etc/init.d/chilli |
#!/bin/sh |
# |
# chilli CoovaChilli init |
# |
# chkconfig: 2345 65 35 |
# description: CoovaChilli |
### BEGIN INIT INFO |
# Provides: chilli |
# Required-Start: network |
# Should-Start: |
# Required-Stop: network |
# Should-Stop: |
# Default-Start: 2 3 5 |
# Default-Stop: |
# Description: CoovaChilli access controller |
### END INIT INFO |
|
[ -f /usr/sbin/chilli ] || exit 0 |
. /etc/init.d/functions |
CONFIG=/etc/chilli.conf |
pidfile=/var/run/chilli.pid |
[ -f \$CONFIG ] || { |
echo "\$CONFIG Not found" |
exit 0 |
} |
RETVAL=0 |
prog="chilli" |
case \$1 in |
start) |
if [ -f \$pidfile ] ; then |
gprintf "chilli is already running" |
else |
gprintf "Starting \$prog: " |
rm -f /var/run/chilli* # cleaning |
/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) |
} |
ifconfig eth1 0.0.0.0 |
daemon /usr/sbin/chilli -c \$CONFIG --pidfile=\$pidfile & |
RETVAL=$? |
sleep 1 # wait for tun0 to be up |
fi |
;; |
|
reload) |
killall -HUP chilli |
;; |
|
restart) |
\$0 stop |
sleep 2 |
\$0 start |
;; |
|
status) |
status chilli |
RETVAL=0 |
;; |
|
stop) |
if [ -f \$pidfile ] ; then |
gprintf "Shutting down \$prog: " |
killproc /usr/sbin/chilli |
RETVAL=\$? |
[ \$RETVAL = 0 ] && rm -f $pidfile |
else |
gprintf "chilli is not running" |
fi |
;; |
|
*) |
echo "Usage: \$0 {start|stop|restart|reload|status}" |
exit 1 |
esac |
echo |
EOF |
|
# conf file creation |
[ -e /etc/chilli.conf.default ] || cp /etc/chilli.conf /etc/chilli.conf.default |
cat <<EOF > /etc/chilli.conf |
# coova config for ALCASAR |