in keeping the scripts under rc.d in sync with us. So, begin removal of NetBSD specific stuff (which made our scripts more complicated than necessary), starting with the NetBSD KEYWORD.
112 lines
2.6 KiB
Bash
Executable File
112 lines
2.6 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"
|
|
|
|
case ${OSTYPE} in
|
|
FreeBSD)
|
|
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
|
|
;;
|
|
NetBSD)
|
|
command="/usr/sbin/${name}"
|
|
pidfile="/var/run/${name}.pid"
|
|
start_precmd="sendmail_precmd"
|
|
|
|
load_rc_config $name
|
|
;;
|
|
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"
|
|
|
|
case ${OSTYPE} in
|
|
FreeBSD)
|
|
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"
|
|
;;
|
|
esac
|