1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2014 OpenWrt.org
11 COMMAND
=/usr
/sbin
/$NAME
13 LOGGER
="/usr/bin/logger -p user.err -s -t $NAME --"
38 config_get_bool enabled general enabled
0
39 if [ $enabled -eq 0 ]; then
40 $LOGGER service not enabled
in /etc
/config
/$NAME
44 config_get user general user
$NAME
45 config_get group general group
$NAME
47 user_exists
"$user" ||
{
48 $LOGGER user
\""$user"\" does not exist
51 group_exists
"$group" ||
{
52 $LOGGER group
\""$group"\" does not exist
56 if [ "$user" = $NAME ]; then
57 if ! id
-nG $NAME |
grep -qwF dialout
; then
58 group_exists dialout
&& group_add_user dialout
$NAME
62 config_get_bool log_stderr general log_stderr
1
63 config_get_bool log_stdout general log_stdout
1
65 config_get agidir directories agidir
/usr
/share
/$NAME/agi-bin
66 config_get datadir directories datadir
/usr
/share
/$NAME
67 config_get dbdir directories dbdir
/var
/lib
/$NAME/astdb
68 config_get keydir directories keydir
/usr
/share
/$NAME/keys
69 config_get logdir directories logdir
/var
/log
/$NAME
70 config_get rundir directories rundir
/var
/run
/$NAME
71 config_get spooldir directories spooldir
/var
/spool
/$NAME
72 config_get varlibdir directories varlibdir
/var
/lib
/$NAME
74 config_get options general options
76 cdrcsvdir
="${logdir}/cdr-csv"
78 # do not touch directories that already exist
79 # posix shell does not support arrays, hence using awk
104 if (system("test ! -e \"" dir[x] "\"" )) {
109 system("mkdir -p \"" dir[x] "\"" )
110 system("chmod 750 \"" dir[x] "\"" )
111 system("chown \"" user "\":\"" group "\" \"" dir[x] "\"" )
116 chown
-R "$user":"$group" /etc
/$NAME
119 procd_set_param
command $COMMAND
120 procd_append_param
command \
125 # forward stderr to logd
126 procd_set_param stderr
$log_stderr
128 procd_set_param stdout
$log_stdout