Subversion Repositories ALCASAR

Rev

Rev 796 | Rev 800 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 796 Rev 799
Line 1... Line 1...
1
#!/bin/bash
1
#!/bin/bash
2
#  $Id: alcasar.sh 796 2012-01-20 13:38:57Z richard $ 
2
#  $Id: alcasar.sh 799 2012-02-01 21:16:37Z richard $ 
3
 
3
 
4
# alcasar.sh
4
# alcasar.sh
5
# by Franck BOUIJOUX, Pascal LEVANT and Richard REY
5
# by Franck BOUIJOUX, Pascal LEVANT and Richard REY
6
# This script is distributed under the Gnu General Public License (GPL)
6
# This script is distributed under the Gnu General Public License (GPL)
7
 
7
 
Line 799... Line 799...
799
	ErrorDocument 404 https://$HOSTNAME
799
	ErrorDocument 404 https://$HOSTNAME
800
</Directory>
800
</Directory>
801
EOF
801
EOF
802
} # End of param_web_radius ()
802
} # End of param_web_radius ()
803
 
803
 
804
##########################################################################################
804
##################################################################################
805
##			Fonction param_chilli						##
805
##			Fonction param_chilli					##
806
## - Paramètrage du fichier d'initialisation et de configuration de coova-chilli	##
806
## - Création du fichier d'initialisation et de configuration de coova-chilli	##
807
## - Paramètrage de la page d'authentification (intercept.php)				##
807
## - Paramètrage de la page d'authentification (intercept.php)			##
808
##########################################################################################
808
##################################################################################
809
param_chilli ()
809
param_chilli ()
810
{
810
{
811
# modification du fichier d'initialisation
811
# init file creation
812
	[ -e /etc/init.d/chilli.default ] || cp /etc/init.d/chilli /etc/init.d/chilli.default
812
	[ -e /etc/init.d/chilli.default ] || cp /etc/init.d/chilli /etc/init.d/chilli.default
-
 
813
	cat <<EOF > /etc/init.d/chilli
-
 
814
#!/bin/sh
-
 
815
#
-
 
816
# chilli CoovaChilli init
-
 
817
#
-
 
818
# chkconfig: 2345 65 35
-
 
819
# description: CoovaChilli
-
 
820
### BEGIN INIT INFO
-
 
821
# Provides:       chilli
-
 
822
# Required-Start: network 
-
 
823
# Should-Start: 
-
 
824
# Required-Stop:  network
-
 
825
# Should-Stop: 
-
 
826
# Default-Start:  2 3 5
-
 
827
# Default-Stop:
813
	# ajout de la fonction 'status' (utile pour la gestion du process)
828
# Description:    CoovaChilli access controller
-
 
829
### END INIT INFO
-
 
830
 
-
 
831
[ -f /usr/sbin/chilli ] || exit 0
814
	$SED "/^.*functions/i. /etc/init.d/functions" /etc/init.d/chilli
832
. /etc/init.d/functions
-
 
833
CONFIG=/etc/chilli.conf
-
 
834
pidfile=/var/run/chilli.pid
-
 
835
[ -f \$CONFIG ] || {
-
 
836
    echo "\$CONFIG Not found"
-
 
837
    exit 0
-
 
838
}
-
 
839
RETVAL=0
-
 
840
prog="chilli"
-
 
841
case \$1 in
-
 
842
    start)
-
 
843
	if [ -f \$pidfile ] ; then 
-
 
844
		gprintf "chilli is already running"
-
 
845
	else
-
 
846
        	gprintf "Starting \$prog: "
-
 
847
		rm -f /var/run/chilli* # cleaning
-
 
848
        	/sbin/modprobe tun >/dev/null 2>&1
-
 
849
        	echo 1 > /proc/sys/net/ipv4/ip_forward
-
 
850
		[ -e /dev/net/tun ] || {
-
 
851
	    	(cd /dev; 
-
 
852
			mkdir net; 
-
 
853
			cd net; 
-
 
854
			mknod tun c 10 200)
-
 
855
		}
-
 
856
		ifconfig eth1 0.0.0.0
815
	$SED "/^[\t ]*stop)/i\    status)\n        status chilli\n        RETVAL=$?\n        ;;\n" /etc/init.d/chilli
857
		daemon /usr/sbin/chilli -c \$CONFIG --pidfile=\$pidfile &
-
 
858
        	RETVAL=$?
816
	# insertion d'une tempo sur le 'restart' pour permettre à tun0 d'être libérée
859
		sleep 1 # wait for tun0 to be up
-
 
860
	fi
-
 
861
	;;
-
 
862
 
-
 
863
    reload)
-
 
864
	killall -HUP chilli
-
 
865
	;;
-
 
866
 
-
 
867
    restart)
-
 
868
	\$0 stop
-
 
869
        sleep 2
-
 
870
	\$0 start
-
 
871
	;;
-
 
872
    
-
 
873
    status)
817
	$SED "/^[\t ]*\$0 start/i\        sleep 2" /etc/init.d/chilli
874
        status chilli
-
 
875
        RETVAL=0
-
 
876
        ;;
-
 
877
 
-
 
878
    stop)
-
 
879
	if [ -f \$pidfile ] ; then  
818
	# suppression des fonctions 'writeconfig' et 'radiusconfig'
880
        	gprintf "Shutting down \$prog: "
819
	$SED "/writeconfig/d" /etc/init.d/chilli
881
		killproc /usr/sbin/chilli
-
 
882
		RETVAL=\$?
820
	$SED "/radiusconfig/d" /etc/init.d/chilli
883
		[ \$RETVAL = 0 ] && rm -f $pidfile
-
 
884
	else	
821
	# suppression de warning disgracieux
885
        	gprintf "chilli is not running"
-
 
886
	fi
-
 
887
	;;
-
 
888
    
-
 
889
    *)
822
	$SED "s?which start-stop-daemon?which start-stop-daemon 2>/dev/null?g" /etc/init.d/chilli
890
        echo "Usage: \$0 {start|stop|restart|reload|status}"
-
 
891
        exit 1
-
 
892
esac
-
 
893
echo
-
 
894
EOF
-
 
895
 
823
# création du fichier de conf
896
# conf file creation
824
	[ -e /etc/chilli.conf.default ] || cp /etc/chilli.conf /etc/chilli.conf.default
897
	[ -e /etc/chilli.conf.default ] || cp /etc/chilli.conf /etc/chilli.conf.default
825
	cat <<EOF > /etc/chilli.conf
898
	cat <<EOF > /etc/chilli.conf
826
# coova config for ALCASAR
899
# coova config for ALCASAR
827
cmdsocket	/var/run/chilli.sock
900
cmdsocket	/var/run/chilli.sock
828
unixipc		chilli.eth1.ipc
901
unixipc		chilli.eth1.ipc