mirror of
https://github.com/novatiq/packages.git
synced 2026-04-30 07:28:39 +01:00
minidlna: run as an unprivileged user
- run as an unprivileged user by default - move generated config to /var/run (/tmp/run in fact) - disable service until it's configured: there is no way to reliably guess where files to be shared are located Signed-off-by: Maxim Storchak <m.storchak@gmail.com>
This commit is contained in:
committed by
Yousong Zhou
parent
7450b5fec5
commit
6f83fedc21
@@ -1,10 +1,11 @@
|
||||
config minidlna config
|
||||
option 'enabled' '1'
|
||||
option 'enabled' '0'
|
||||
option user 'minidlna'
|
||||
option port '8200'
|
||||
option interface 'br-lan'
|
||||
option friendly_name 'OpenWrt DLNA Server'
|
||||
option db_dir '/var/run/minidlna'
|
||||
option log_dir '/var/log'
|
||||
option log_dir '/var/log/minidlna'
|
||||
option inotify '1'
|
||||
option enable_tivo '0'
|
||||
option wide_links '0'
|
||||
|
||||
@@ -6,7 +6,7 @@ START=50
|
||||
SERVICE_USE_PID=1
|
||||
SERVICE_PID_FILE=/var/run/minidlna/minidlna.pid
|
||||
|
||||
MINIDLNA_CONFIG_FILE="/tmp/minidlna.conf"
|
||||
MINIDLNA_CONFIG_FILE="/var/etc/minidlna.conf"
|
||||
|
||||
minidlna_cfg_append() {
|
||||
echo "$1" >> "$MINIDLNA_CONFIG_FILE"
|
||||
@@ -35,7 +35,6 @@ minidlna_cfg_addstr() {
|
||||
|
||||
minidlna_cfg_add_media_dir() {
|
||||
local val=$1
|
||||
|
||||
minidlna_cfg_append "media_dir=$val"
|
||||
}
|
||||
|
||||
@@ -44,31 +43,33 @@ minidlna_create_config() {
|
||||
local port
|
||||
local interface
|
||||
|
||||
config_get port $cfg port
|
||||
config_get interface $cfg interface
|
||||
config_get port "$cfg" port
|
||||
config_get interface "$cfg" interface
|
||||
|
||||
[ -z "$interface" -o -t "$port" ] && return 1
|
||||
|
||||
mkdir -p /var/etc
|
||||
echo "# this file is generated automatically, don't edit" > "$MINIDLNA_CONFIG_FILE"
|
||||
|
||||
minidlna_cfg_append "port=$port"
|
||||
minidlna_cfg_append "network_interface=$interface"
|
||||
|
||||
minidlna_cfg_addstr $cfg friendly_name
|
||||
minidlna_cfg_addstr $cfg db_dir
|
||||
minidlna_cfg_addstr $cfg log_dir
|
||||
minidlna_cfg_addstr $cfg log_level 'error'
|
||||
minidlna_cfg_addbool $cfg inotify '1'
|
||||
minidlna_cfg_addbool $cfg enable_tivo '0'
|
||||
minidlna_cfg_addbool $cfg wide_links '0'
|
||||
minidlna_cfg_addbool $cfg strict_dlna '0'
|
||||
minidlna_cfg_addstr $cfg album_art_names
|
||||
minidlna_cfg_addstr $cfg presentation_url
|
||||
minidlna_cfg_addstr $cfg notify_interval '900'
|
||||
minidlna_cfg_addstr $cfg serial '12345678'
|
||||
minidlna_cfg_addstr $cfg model_number '1'
|
||||
minidlna_cfg_addstr $cfg minissdpsocket
|
||||
minidlna_cfg_addstr $cfg root_container '.'
|
||||
minidlna_cfg_addstr "$cfg" friendly_name
|
||||
minidlna_cfg_addstr "$cfg" user
|
||||
minidlna_cfg_addstr "$cfg" db_dir
|
||||
minidlna_cfg_addstr "$cfg" log_dir
|
||||
minidlna_cfg_addstr "$cfg" log_level 'error'
|
||||
minidlna_cfg_addbool "$cfg" inotify '1'
|
||||
minidlna_cfg_addbool "$cfg" enable_tivo '0'
|
||||
minidlna_cfg_addbool "$cfg" wide_links '0'
|
||||
minidlna_cfg_addbool "$cfg" strict_dlna '0'
|
||||
minidlna_cfg_addstr "$cfg" album_art_names
|
||||
minidlna_cfg_addstr "$cfg" presentation_url
|
||||
minidlna_cfg_addstr "$cfg" notify_interval '900'
|
||||
minidlna_cfg_addstr "$cfg" serial '12345678'
|
||||
minidlna_cfg_addstr "$cfg" model_number '1'
|
||||
minidlna_cfg_addstr "$cfg" minissdpsocket
|
||||
minidlna_cfg_addstr "$cfg" root_container '.'
|
||||
config_list_foreach "$cfg" "media_dir" minidlna_cfg_add_media_dir
|
||||
|
||||
return 0
|
||||
@@ -78,6 +79,7 @@ start() {
|
||||
local enabled
|
||||
local db_dir
|
||||
local log_dir
|
||||
local user
|
||||
|
||||
config_load 'minidlna'
|
||||
config_get_bool enabled config 'enabled' '0'
|
||||
@@ -87,10 +89,12 @@ start() {
|
||||
minidlna_create_config config || return 1
|
||||
|
||||
config_get db_dir config 'db_dir' '/var/run/minidlna'
|
||||
config_get log_dir config 'log_dir' '/var/log'
|
||||
config_get log_dir config 'log_dir' '/var/log/minidlna'
|
||||
config_get user config 'user' 'root'
|
||||
|
||||
mkdir -m 0755 -p "$db_dir" "$log_dir"
|
||||
chown -R "$user" "$db_dir" "$log_dir"
|
||||
|
||||
mkdir -m 0755 -p $db_dir
|
||||
mkdir -m 0755 -p $log_dir
|
||||
service_start /usr/bin/minidlna -f "$MINIDLNA_CONFIG_FILE"
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user