Subversion Repositories ALCASAR

Rev

Rev 40 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log

Rev Author Line No. Line
1 root 1
#!/bin/sh
2
#
3
# chilli      CoovaChilli init
4
#
5
# chkconfig: 2345 65 35
6
# description: CoovaChilli
7
 
8
# Source function library.
9
 
112 richard 10
daemon=
11
killproc=killall
1 root 12
 
112 richard 13
[ -e /etc/rc.d/init.d/functions ] && {
14
    . /etc/rc.d/init.d/functions
15
    daemon=daemon
16
    killproc=killproc
17
}
1 root 18
 
112 richard 19
[ -e /etc/sysconfig/network ] && {
20
    . /etc/sysconfig/network
21
    [ ${NETWORKING} = "no" ] && exit 0
22
}
23
 
1 root 24
[ -f /usr/sbin/chilli ] || exit 0
25
 
26
. /etc/chilli/functions
27
 
112 richard 28
MULTI=$(ls /etc/chilli/*/chilli.conf 2>/dev/null)
29
[ -z "$DHCPIF" ] && [ -n "$MULTI" ] && {
30
    for c in $MULTI; 
31
    do
32
	gprintf "Found configuration %s\n" "$c"
33
	DHCPIF=$(basename $(echo $c|sed 's#/chilli.conf##'))
34
	export DHCPIF
35
	gprintf "Running DHCPIF=%s %s $*\n" "$DHCPIF" "$0"
36
	sh $0 $*
37
    done
38
    exit
39
}
40
 
41
if [ -n "$DHCPIF" ]; then
42
    CONFIG=/etc/chilli/$DHCPIF/chilli.conf
43
else
44
    CONFIG=/etc/chilli.conf
45
fi
46
 
47
[ -f $CONFIG ] || {
48
    gprintf "%s Not found\n" "$CONFIG"
49
    exit 0
50
}
51
 
1 root 52
check_required
53
 
54
RETVAL=0
55
prog="chilli"
56
 
57
case $1 in
58
    start)
112 richard 59
        gprintf "Starting %s: " "$prog"
60
 
1 root 61
        /sbin/modprobe tun >/dev/null 2>&1
62
        echo 1 > /proc/sys/net/ipv4/ip_forward
63
 
112 richard 64
	[ -e /dev/net/tun ] || {
65
	    (cd /dev; 
66
		mkdir net; 
67
		cd net; 
68
		mknod tun c 10 200)
69
	}
70
 
1 root 71
	writeconfig
72
        radiusconfig
73
 
112 richard 74
	test ${HS_ADMINTERVAL:-0} -gt 0 && {	
75
            (crontab -l 2>&- | grep -v $0
76
		gprintf "*/%s * * * * %s radconfig\n" "$HS_ADMINTERVAL" "$0"
77
		) | crontab - 2>&-
78
	}
79
 
80
	ifconfig $HS_LANIF 0.0.0.0
81
        $daemon /usr/sbin/chilli -c $CONFIG &
1 root 82
        RETVAL=$?
112 richard 83
	echo
1 root 84
	;;
112 richard 85
 
86
    radconfig)
1 root 87
	[ -e $MAIN_CONF ] || writeconfig
88
	radiusconfig
89
	;;
90
 
91
    reload)
92
	killall -HUP chilli
93
	;;
94
 
95
    restart)
96
	$0 stop
97
	$0 start
98
	RETVAL=$?
99
	;;
112 richard 100
 
101
    status)
102
    	status chilli
103
	RETVAL=$?
104
	;;
105
 
1 root 106
    stop)
112 richard 107
        gprintf "Shutting down %s: " "$prog"
1 root 108
 
109
	crontab -l 2>&- | grep -v $0 | crontab -
112 richard 110
 
111
        [ -f /var/run/chilli.$HS_LANIF.pid ] && { 
112
	    kill $(cat /var/run/chilli.$HS_LANIF.pid)
113
	    RETVAL=$?
114
	    [ $RETVAL = 0 ] && {
115
		rm -f /var/run/chilli.$HS_LANIF.pid 2>/dev/null
116
	    }
1 root 117
	}
112 richard 118
 
119
	#$killproc chilli
120
 
1 root 121
        echo
122
	;;
112 richard 123
 
1 root 124
    *)
112 richard 125
        gprintf "Usage: %s {start|stop|restart|reload|radconfig}\n" "$0"
1 root 126
        exit 1
127
esac
128
 
129
exit $?