59 lines
1.4 KiB
Plaintext
59 lines
1.4 KiB
Plaintext
|
#!/bin/sh /etc/rc.common
|
||
|
# Copyright (C) 2008 OpenWrt.org
|
||
|
START=50
|
||
|
|
||
|
BIN=/usr/bin/ushare
|
||
|
SSD=start-stop-daemon
|
||
|
|
||
|
append_bool() {
|
||
|
local section="$1"
|
||
|
local option="$2"
|
||
|
local value="$3"
|
||
|
local _val
|
||
|
config_get_bool _val "$section" "$option" '0'
|
||
|
[ "$_val" -gt 0 ] && append args "$3"
|
||
|
}
|
||
|
|
||
|
append_string() {
|
||
|
local section="$1"
|
||
|
local option="$2"
|
||
|
local value="$3"
|
||
|
local _val
|
||
|
config_get _val "$section" "$option"
|
||
|
[ -n "$_val" ] && append args "$3 $_val"
|
||
|
}
|
||
|
|
||
|
start_service() {
|
||
|
local section="$1"
|
||
|
args=""
|
||
|
config_get username "$section" "username"
|
||
|
config_get servername "$section" "servername"
|
||
|
config_get interface "$section" "interface"
|
||
|
config_get options "$section" "options"
|
||
|
config_get content_directories "$section" "content_directories"
|
||
|
append_bool "$section" "disable_webif" "-w"
|
||
|
append_bool "$section" "disable_telnet" "-t"
|
||
|
config_get_bool "enabled" "$section" "enabled" '1'
|
||
|
|
||
|
[ "$enabled" -gt 0 ] && $SSD -x $BIN -c ${username:-nobody} -S -b -p /var/run/ushare.pid -m -- -n ${servername:-OpenWrt} -i ${interface:-br-lan} -c ${content_directories:-/tmp} $args ${options} &
|
||
|
}
|
||
|
|
||
|
stop_service() {
|
||
|
local section="$1"
|
||
|
args=""
|
||
|
config_get username "$section" "username"
|
||
|
|
||
|
$SSD -K -x $BIN -c ${username:-nobody} -s 2 -p /var/run/ushare.pid
|
||
|
}
|
||
|
|
||
|
start() {
|
||
|
config_load ushare
|
||
|
config_foreach start_service ushare
|
||
|
}
|
||
|
|
||
|
stop() {
|
||
|
config_load ushare
|
||
|
config_foreach stop_service ushare
|
||
|
}
|
||
|
|