82387f41ed
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.
96 lines
2.4 KiB
Bash
Executable File
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"
|