Subversion Repositories ALCASAR

Compare Revisions

Ignore whitespace Rev 798 → Rev 799

/alcasar.sh
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 ##
## - Paramètrage de la page d'authentification (intercept.php) ##
##########################################################################################
##################################################################################
## Fonction param_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