freebsd-skq/etc/rc.d/sendmail
Mike Makonnen 82387f41ed Luke Mewburn has indicated that they (NetBSD) are not interested
in keeping the scripts under rc.d in sync with us. So, remove
NetBSD specific stuff (which made our scripts more complicated
than necessary).

The NetBSD ident string will be left intact, both for history and
also incase we wish to pull in future versions.
2004-01-17 10:59:43 +00:00

96 lines
2.4 KiB
Bash
Executable File

#!/bin/sh
#
# $NetBSD: sendmail,v 1.14 2002/02/12 01:26:36 lukem Exp $
# $FreeBSD$
#
# PROVIDE: mail
# REQUIRE: LOGIN
# KEYWORD: FreeBSD
# we make mail start late, so that things like .forward's are not
# processed until the system is fully operational
# XXX - Get together with sendmail mantainer to figure out how to
# better handle SENDMAIL_ENABLE and 3rd party MTAs.
#
. /etc/rc.subr
name="sendmail"
rcvar=`set_rcvar`
required_files="/etc/mail/${name}.cf"
command=${sendmail_program:-/usr/sbin/sendmail}
pidfile=${sendmail_pidfile:-/var/run/sendmail.pid}
load_rc_config $name
case ${sendmail_enable} in
[Nn][Oo][Nn][Ee])
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
;;
esac
sendmail_precmd()
{
# Die if there's pre-8.10 custom configuration file. This check is
# mandatory for smooth upgrade. See NetBSD PR 10100 for details.
#
if checkyesno ${rcvar} && [ -f "/etc/${name}.cf" ]; then
if ! cmp -s "/etc/mail/${name}.cf" "/etc/${name}.cf"; then
warn \
"${name} was not started; you have multiple copies of sendmail.cf."
return 1
fi
fi
# check modifications on /etc/mail/aliases
if [ -f "/etc/mail/aliases.db" ]; then
if [ "/etc/mail/aliases" -nt "/etc/mail/aliases.db" ]; then
echo \
"${name}: /etc/mail/aliases newer than /etc/mail/aliases.db, regenerating"
/usr/bin/newaliases
fi
else
echo \
"${name}: /etc/mail/aliases.db not present, generating"
/usr/bin/newaliases
fi
# check couple of common db files, too
for f in genericstable virtusertable domaintable mailertable; do
if [ -r "/etc/mail/$f" -a \
"/etc/mail/$f" -nt "/etc/mail/$f.db" ]; then
echo \
"${name}: /etc/mail/$f newer than /etc/mail/$f.db, regenerating"
/usr/sbin/makemap hash /etc/mail/$f < /etc/mail/$f
fi
done
}
run_rc_command "$1"
required_files=
if ! checkyesno sendmail_enable; then
name="sendmail_submit"
rcvar=`set_rcvar`
start_cmd="${command} ${sendmail_submit_flags}"
run_rc_command "$1"
fi
if ! checkyesno sendmail_outbound_enable; then
name="sendmail_outbound"
rcvar=`set_rcvar`
start_cmd="${command} ${sendmail_outbound_flags}"
run_rc_command "$1"
fi
name="sendmail_clientmqueue"
rcvar="sendmail_msp_queue_enable"
start_cmd="${command} ${sendmail_msp_queue_flags}"
pidfile="${sendmail_mspq_pidfile:-/var/spool/clientmqueue/sm-client.pid}"
required_files="/etc/mail/submit.cf"
run_rc_command "$1"