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