packages/ipv6/aiccu/files/aiccu.init
acinonyx 621678bcea [packages] aiccu: Add 'restart' option to force restart of daemon instead of HUP (#7629)
git-svn-id: svn://svn.openwrt.org/openwrt/packages@28727 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-11-03 16:05:42 +00:00

78 lines
1.6 KiB
Bash

#!/bin/sh /etc/rc.common
# Copyright (C) 2006-2011 OpenWrt.org
START=51
add_config_bool() {
local section="$1"
local option="$2"
local value="$3"
local default="$4"
local _val
config_get_bool _val "$section" "$option" "$default"
[ "$_val" -gt 0 ] && _val="true" || _val="false"
append args "$3 $_val" "\n"
}
add_config() {
local section="$1"
local option="$2"
local value="$3"
local _val
config_get _val "$section" "$option"
[ -n "$_val" ] && append args "$3 $_val" "\n"
}
start_instance() {
local cfg="$1"
CFGFILE="/var/etc/aiccu-${cfg}.conf"
PIDFILE="/var/run/aiccu-${cfg}.pid"
args=""
add_config "$cfg" username username
add_config "$cfg" password password
add_config "$cfg" server server
add_config "$cfg" protocol protocol
add_config "$cfg" interface ipv6_interface
add_config "$cfg" tunnel_id tunnel_id
add_config_bool "$cfg" requiretls requiretls 0
add_config_bool "$cfg" defaultroute defaultroute 1
add_config_bool "$cfg" nat behindnat 1
add_config_bool "$cfg" heartbeat makebeats 1
append args "daemonize true" "\n"
append args "pidfile $PIDFILE" "\n"
mkdir -p /var/run
echo -e "$args" > "$CFGFILE"
config_get_bool enabled "$cfg" enabled '1'
[ "$enabled" -gt 0 ] && aiccu start "$CFGFILE"
}
stop_instance() {
local cfg="$1"
aiccu stop /tmp/run/aiccu-"$cfg".conf
}
restart_instance() {
local cfg="$1"
config_get_bool restart "$cfg" restart 0
[ "$restart" -eq 1 ] && stop_instance "$cfg"
start_instance "$cfg"
}
start() {
config_load aiccu
config_foreach start_instance aiccu
}
stop() {
config_load aiccu
config_foreach stop_instance aiccu
}
restart() {
config_load aiccu
config_foreach restart_instance aiccu
}