#!/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 }