sendmail revision 104980
156893Sfenner#!/bin/sh 256893Sfenner# 356893Sfenner# $NetBSD: sendmail,v 1.14 2002/02/12 01:26:36 lukem Exp $ 456893Sfenner# $FreeBSD: head/etc/rc.d/sendmail 104980 2002-10-12 10:31:31Z schweikh $ 556893Sfenner# 656893Sfenner 756893Sfenner# PROVIDE: mail 856893Sfenner# REQUIRE: LOGIN 956893Sfenner# KEYWORD: FreeBSD NetBSD 1056893Sfenner# we make mail start late, so that things like .forward's are not 1156893Sfenner# processed until the system is fully operational 1256893Sfenner 1356893Sfenner# XXX - Get together with sendmail mantainer to figure out how to 1456893Sfenner# better handle SENDMAIL_ENABLE and 3rd party MTAs. 1556893Sfenner# 1656893Sfenner. /etc/rc.subr 1756893Sfenner 1856893Sfennername="sendmail" 1956893Sfennerrcvar=`set_rcvar` 2056893Sfennerrequired_files="/etc/mail/${name}.cf" 2156893Sfenner 2256893Sfennercase ${OSTYPE} in 2356893SfennerFreeBSD) 2456893Sfenner command=${sendmail_program:-/usr/sbin/sendmail} 2556893Sfenner pidfile=${sendmail_pidfile:-/var/run/sendmail.pid} 2656893Sfenner 2756893Sfenner load_rc_config $name 2856893Sfenner 2956893Sfenner case ${sendmail_enable} in 3056893Sfenner [Nn][Oo][Nn][Ee]) 3156893Sfenner sendmail_enable="NO" 3256893Sfenner sendmail_submit_enable="NO" 3356893Sfenner sendmail_outbound_enable="NO" 3456893Sfenner sendmail_msp_queue_enable="NO" 3556893Sfenner ;; 3656893Sfenner esac 3756893Sfenner ;; 3856893SfennerNetBSD) 3956893Sfenner command="/usr/sbin/${name}" 4056893Sfenner pidfile="/var/run/${name}.pid" 4156893Sfenner start_precmd="sendmail_precmd" 4256893Sfenner 4356893Sfenner load_rc_config $name 44127668Sbms ;; 45190207Srpauloesac 4656893Sfenner 4756893Sfennersendmail_precmd() 48127668Sbms{ 4956893Sfenner # Die if there's pre-8.10 custom configuration file. This check is 5056893Sfenner # mandatory for smooth upgrade. See NetBSD PR 10100 for details. 5156893Sfenner # 5256893Sfenner if checkyesno ${rcvar} && [ -f "/etc/${name}.cf" ]; then 5356893Sfenner if ! cmp -s "/etc/mail/${name}.cf" "/etc/${name}.cf"; then 5456893Sfenner warn \ 5556893Sfenner "${name} was not started; you have multiple copies of sendmail.cf." 5656893Sfenner return 1 5756893Sfenner fi 5856893Sfenner fi 5956893Sfenner 6056893Sfenner # check modifications on /etc/mail/aliases 6156893Sfenner if [ -f "/etc/mail/aliases.db" ]; then 6256893Sfenner if [ "/etc/mail/aliases" -nt "/etc/mail/aliases.db" ]; then 6356893Sfenner echo \ 6456893Sfenner "${name}: /etc/mail/aliases newer than /etc/mail/aliases.db, regenerating" 6556893Sfenner /usr/bin/newaliases 6656893Sfenner fi 6756893Sfenner else 6856893Sfenner echo \ 6956893Sfenner "${name}: /etc/mail/aliases.db not present, generating" 7056893Sfenner /usr/bin/newaliases 7156893Sfenner fi 7256893Sfenner 7356893Sfenner # check couple of common db files, too 7456893Sfenner for f in genericstable virtusertable domaintable mailertable; do 75235530Sdelphij if [ -r "/etc/mail/$f" -a \ 7656893Sfenner "/etc/mail/$f" -nt "/etc/mail/$f.db" ]; then 7756893Sfenner echo \ 7856893Sfenner "${name}: /etc/mail/$f newer than /etc/mail/$f.db, regenerating" 7956893Sfenner /usr/sbin/makemap hash /etc/mail/$f < /etc/mail/$f 8056893Sfenner fi 81146773Ssam done 8256893Sfenner} 8356893Sfenner 8456893Sfennerrun_rc_command "$1" 8598524Sfenner 8656893Sfennercase ${OSTYPE} in 8756893SfennerFreeBSD) 8856893Sfenner required_files= 8956893Sfenner 9056893Sfenner if ! checkyesno sendmail_enable; then 9156893Sfenner name="sendmail_submit" 9256893Sfenner rcvar=`set_rcvar` 93127668Sbms start_cmd="${command} ${sendmail_submit_flags}" 9456893Sfenner run_rc_command "$1" 9556893Sfenner fi 9656893Sfenner 9756893Sfenner if ! checkyesno sendmail_outbound_enable; then 9856893Sfenner name="sendmail_outbound" 9956893Sfenner rcvar=`set_rcvar` 10056893Sfenner start_cmd="${command} ${sendmail_outbound_flags}" 10156893Sfenner run_rc_command "$1" 10256893Sfenner fi 10356893Sfenner 10456893Sfenner name="sendmail_clientmqueue" 105235530Sdelphij rcvar="sendmail_msp_queue_enable" 106235530Sdelphij start_cmd="${command} ${sendmail_msp_queue_flags}" 107235530Sdelphij pidfile="${sendmail_mspq_pidfile:-/var/spool/clientmqueue/sm-client.pid}" 10856893Sfenner required_files="/etc/mail/submit.cf" 10956893Sfenner run_rc_command "$1" 11056893Sfenner ;; 11156893Sfenneresac 11256893Sfenner