37d071da1d
- to log all messages at start-up time of a daemon, - to show error messages when some error occurs at that time, - and to checks $dkfilter_{in,out}_user exist or not. PR: ports/101024 Submitted by: Yoshisato YANAGISAWA <yanagisawa(at)csg.is.titech.ac.jp> (Maintainer)
73 lines
1.6 KiB
Bash
73 lines
1.6 KiB
Bash
#!/bin/sh
|
|
# $FreeBSD$
|
|
#
|
|
|
|
# PROVIDE: dkimproxy_in
|
|
# REQUIRE: LOGIN
|
|
# BEFORE: mail
|
|
# KEYWORD: shutdown
|
|
|
|
#
|
|
# Add the following lines to /etc/rc.conf to enable dkimproxy.in:
|
|
#
|
|
# dkimproxy_in_enable="YES"
|
|
#
|
|
|
|
. %%RC_SUBR%%
|
|
|
|
name=dkimproxy_in
|
|
rcvar=`set_rcvar`
|
|
|
|
# set defaults
|
|
|
|
: ${dkimproxy_in_enable="NO"}
|
|
: ${dkimproxy_in_flags="127.0.0.1:10025 127.0.0.1:10026"}
|
|
: ${dkimproxy_in_pidfile="/var/run/dkimproxy_in.pid"}
|
|
: ${dkimproxy_in_user="dkimproxy"}
|
|
|
|
start_cmd="dkimproxy_in_start"
|
|
stop_cmd="dkimproxy_in_stop"
|
|
|
|
dkimproxy_in_start()
|
|
{
|
|
if [ -f ${dkimproxy_in_pidfile} ]; then
|
|
echo "${name} already running?"
|
|
exit 1
|
|
fi
|
|
if pw user show "${dkimproxy_in_user}" > /dev/null 2>&1; then else
|
|
echo "dkimproxy_in_user: ${dkimproxy_in_user} not found"
|
|
exit 1
|
|
fi
|
|
echo "Starting ${name}"
|
|
logger -t ${name} "Starting ${name}"
|
|
touch ${dkimproxy_in_pidfile}
|
|
chown ${dkimproxy_in_user} ${dkimproxy_in_pidfile}
|
|
logfile=`mktemp /tmp/${name}.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`
|
|
su -m ${dkimproxy_in_user} -c "daemon -c -p ${dkimproxy_in_pidfile} \
|
|
%%PREFIX%%/bin/dkimproxy.in ${dkimproxy_in_flags}" \
|
|
> /dev/null 2> ${logfile}
|
|
sleep 1 # XXX: wait until dkimproxy start.
|
|
logger -t ${name} "`cat ${logfile}`"
|
|
err=`grep Error ${logfile}`
|
|
if [ "${err}" ]; then
|
|
echo "Failed to start ${name}."
|
|
echo "${err}"
|
|
rm -f ${dkimproxy_in_pidfile}
|
|
fi
|
|
rm -f ${logfile}
|
|
}
|
|
|
|
dkimproxy_in_stop()
|
|
{
|
|
if [ ! -f ${dkimproxy_in_pidfile} ]; then
|
|
echo "${name} not running?"
|
|
exit 1
|
|
fi
|
|
echo "Stopping ${name}"
|
|
logger -t ${name} "Stopping ${name}"
|
|
kill `cat ${dkimproxy_in_pidfile}`
|
|
rm -f ${dkimproxy_in_pidfile}
|
|
}
|
|
|
|
load_rc_config $name
|
|
run_rc_command "$1"
|