sendmail revision 103264
1247841Sbapt#!/bin/sh 2263020Sbapt# 3257353Sbdrewery# $NetBSD: sendmail,v 1.14 2002/02/12 01:26:36 lukem Exp $ 4247841Sbapt# $FreeBSD: head/etc/rc.d/sendmail 103264 2002-09-12 17:31:09Z gordon $ 5247841Sbapt# 6247841Sbapt 7247841Sbapt# PROVIDE: mail 8247841Sbapt# REQUIRE: LOGIN 9247841Sbapt# KEYWORD: FreeBSD NetBSD 10247841Sbapt# we make mail start late, so that things like .forward's are not 11247841Sbapt# processed until the system is fully operational 12247841Sbapt 13247841Sbapt# XXX - Get together with sendmail mantainer to figure out how to 14247841Sbapt# better handle SENDMAIL_ENABLE and 3rd party MTAs. 15247841Sbapt# 16247841Sbapt. /etc/rc.subr 17247841Sbapt 18247841Sbaptname="sendmail" 19247841Sbaptrcvar=`set_rcvar` 20247841Sbaptrequired_files="/etc/mail/${name}.cf" 21247841Sbapt 22247841Sbaptcase ${OSTYPE} in 23247841SbaptFreeBSD) 24247841Sbapt command=${sendmail_program:-/usr/sbin/sendmail} 25247841Sbapt pidfile=${sendmail_pidfile:-/var/run/sendmail.pid} 26247841Sbapt 27247841Sbapt load_rc_config $name 28247841Sbapt 29247841Sbapt case ${sendmail_enable} in 30247841Sbapt [Nn][Oo][Nn][Ee]) 31247841Sbapt sendmail_enable="NO" 32261144Sbapt sendmail_submit_enable="NO" 33247841Sbapt sendmail_outbound_enable="NO" 34247841Sbapt sendmail_msp_queue_enable="NO" 35247841Sbapt ;; 36259613Sbdrewery esac 37247841Sbapt ;; 38255457SbaptNetBSD) 39259613Sbdrewery command="/usr/sbin/${name}" 40263020Sbapt pidfile="/var/run/${name}.pid" 41247841Sbapt start_precmd="sendmail_precmd" 42247841Sbapt 43247841Sbapt load_rc_config $name 44247841Sbapt ;; 45247841Sbaptesac 46247841Sbapt 47247841Sbaptsendmail_precmd() 48247841Sbapt{ 49247841Sbapt # Die if there's pre-8.10 custom configuration file. This check is 50247841Sbapt # mandatory for smooth upgrade. See NetBSD PR 10100 for details. 51247841Sbapt # 52247841Sbapt if checkyesno ${rcvar} && [ -f "/etc/${name}.cf" ]; then 53247841Sbapt if ! cmp -s "/etc/mail/${name}.cf" "/etc/${name}.cf"; then 54247841Sbapt warn \ 55247841Sbapt "${name} was not started; you have multiple copies of sendmail.cf." 56247841Sbapt return 1 57259613Sbdrewery fi 58259613Sbdrewery fi 59259613Sbdrewery 60259613Sbdrewery # check modifications on /etc/mail/aliases 61259613Sbdrewery if [ -f "/etc/mail/aliases.db" ]; then 62247841Sbapt if [ "/etc/mail/aliases" -nt "/etc/mail/aliases.db" ]; then 63247841Sbapt echo \ 64247841Sbapt "${name}: /etc/mail/aliases newer than /etc/mail/aliases.db, regenerating" 65247841Sbapt /usr/bin/newaliases 66247841Sbapt fi 67259613Sbdrewery else 68247841Sbapt echo \ 69263621Sbdrewery "${name}: /etc/mail/aliases.db not present, generating" 70247841Sbapt /usr/bin/newaliases 71247841Sbapt fi 72247841Sbapt 73247841Sbapt # check couple of common db files, too 74247841Sbapt for f in genericstable virtusertable domaintable mailertable; do 75247841Sbapt if [ -r "/etc/mail/$f" -a \ 76257328Sbdrewery "/etc/mail/$f" -nt "/etc/mail/$f.db" ]; then 77247841Sbapt echo \ 78259613Sbdrewery "${name}: /etc/mail/$f newer than /etc/mail/$f.db, regenerating" 79247841Sbapt /usr/sbin/makemap hash /etc/mail/$f < /etc/mail/$f 80263621Sbdrewery fi 81247841Sbapt done 82247841Sbapt} 83247841Sbapt 84247841Sbaptrun_rc_command "$1" 85247841Sbapt 86247841Sbaptcase ${OSTYPE} in 87259613SbdreweryFreeBSD) 88247841Sbapt required_files= 89263621Sbdrewery 90247841Sbapt if ! checkyesno sendmail_enable; then 91247841Sbapt name="sendmail_submit" 92247841Sbapt rcvar=`set_rcvar` 93247841Sbapt start_cmd="${command} ${sendmail_submit_flags}" 94247841Sbapt run_rc_command "$1" 95247841Sbapt fi 96259613Sbdrewery 97247841Sbapt if ! checkyesno sendmail_outbound_enable; then 98263621Sbdrewery name="sendmail_outbound" 99247841Sbapt rcvar=`set_rcvar` 100247841Sbapt start_cmd="${command} ${sendmail_outbound_flags}" 101247841Sbapt run_rc_command "$1" 102247841Sbapt fi 103247841Sbapt 104247841Sbapt name="sendmail_clientmqueue" 105259613Sbdrewery rcvar="sendmail_msp_queue_enable" 106247841Sbapt start_cmd="${command} ${sendmail_msp_queue_flags}" 107263621Sbdrewery pidfile="${sendmail_mspq_pidfile:-/var/spool/clientmqueue/sm-client.pid}" 108257353Sbdrewery required_files="/etc/mail/submit.cf" 109257353Sbdrewery run_rc_command "$1" 110257353Sbdrewery ;; 111257353Sbdreweryesac 112257353Sbdrewery