freebsd-ports/mail/dkimproxy/files/dkimproxy_in.in
Martin Wilke 37d071da1d - rc.d scripts are changed:
- 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)
2006-09-13 12:27:01 +00:00

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"