1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #!/usr/bin/openrc-run
- # Copyright 1999-2013 Gentoo Foundation
- # Distributed under the terms of the GNU General Public License v2
- CONFFILE=/etc/opendkim/${SVCNAME}.conf
- depend() {
- use dns logger net
- before mta
- }
- check_cfg() {
- PIDFILE=$(sed -ne 's/^[[:space:]]*PidFile[[:space:]]\+//p' "${CONFFILE}")
- local PIDDIR="${PIDFILE%/*}"
- if [ ! -d "${PIDDIR}" ] ; then
- checkpath -q -d -o opendkim:mail -m 0755 "${PIDDIR}" || return 1
- fi
- if [ ! -f "${CONFFILE}" ] ; then
- eerror "Configuration file ${CONFFILE} is missing"
- return 1
- fi
- if [ -z "${PIDFILE}" ] ; then
- eerror "Configuration file needs PidFile setting - recommend adding 'PidFile /run/opendkim/${SVCNAME}.pid' to ${CONFFILE}"
- return 1
- fi
- if egrep -q '^[[:space:]]*Background[[:space:]]+no' "${CONFFILE}" ; then
- eerror "${SVCNAME} service cannot run with Background key set to yes!"
- return 1
- fi
- }
- start() {
- check_cfg || return 1
-
- # Remove stalled Unix socket if no other process is using it
- local UNIX_SOCKET=$(sed -ne 's/^[[:space:]]*Socket[[:space:]]\+\(unix\|local\)://p' "${CONFFILE}")
- if [ -S "${UNIX_SOCKET}" ] && ! fuser -s "${UNIX_SOCKET}"; then
- rm "${UNIX_SOCKET}"
- fi
- ebegin "Starting OpenDKIM"
- start-stop-daemon --start --pidfile "${PIDFILE}" \
- --exec /usr/bin/opendkim -- -x "${CONFFILE}"
- eend $?
- }
- stop() {
- check_cfg || return 1
- ebegin "Stopping OpenDKIM"
- start-stop-daemon --stop --pidfile "${PIDFILE}"
- eend $?
- }
|