iopsys-feed/owsd/files/owsd.init
Denis Osvald 543baa4e04 owsd: update to new version with multiple ports
Signed-off-by: Denis Osvald <denis.osvald@sartura.hr>
2018-01-08 19:27:40 +01:00

71 lines
1.3 KiB
Bash

#!/bin/sh /etc/rc.common
START=90
STOP=10
USE_PROCD=1
PROG=/usr/bin/owsd
CONFIGFILE="/etc/config/owsd"
validate_owsd() {
uci_validate_section "owsd" "owsd" "global" \
'sock:string' \
'www:string'
}
append_origin() {
procd_append_param command -o "$1"
}
validate_owsd_iface() {
uci_validate_section "owsd" "owsd-listen" "$1" \
'port:port' \
'interface:string' \
'origin:list(string)' \
'cert:string' \
'key:string'
}
parse_owsd_iface() {
local port interface cert key
validate_owsd_iface "$1" || {
echo "Validation failed"
return 1
}
[ -n "${port}" ] && procd_append_param command -p "${port}"
[ -n "${interface}" ] && procd_append_param command -i "${interface}"
[ -n "${cert}" ] && procd_append_param command -c "${cert}"
[ -n "${key}" ] && procd_append_param command -k "${key}"
config_list_foreach "$1" "origin" append_origin
}
start_service() {
config_load owsd
procd_open_instance
procd_set_param command $PROG
local sock www
validate_owsd || {
echo "Global validation failed"
return 1
}
[ -n "${sock}" ] && procd_append_param command -s "${sock}"
[ -n "${www}" ] && procd_append_param command -w "${www}"
config_foreach parse_owsd_iface "owsd-listen"
# procd_set_param stderr 1
procd_set_param respawn
procd_close_instance
}
stop_service()
{
service_stop ${PROG}
}