sendmail revision 242153
1#!/bin/sh
2#
3# $FreeBSD: stable/9/etc/rc.d/sendmail 242153 2012-10-26 18:06:49Z obrien $
4#
5
6# PROVIDE: mail
7# REQUIRE: LOGIN FILESYSTEMS
8#	we make mail start late, so that things like .forward's are not
9#	processed until the system is fully operational
10# KEYWORD: shutdown
11
12# XXX - Get together with sendmail mantainer to figure out how to
13#	better handle SENDMAIL_ENABLE and 3rd party MTAs.
14#
15. /etc/rc.subr
16
17name="sendmail"
18rcvar="sendmail_enable"
19required_files="/etc/mail/${name}.cf"
20start_precmd="sendmail_precmd"
21
22load_rc_config $name
23command=${sendmail_program:-/usr/sbin/${name}}
24pidfile=${sendmail_pidfile:-/var/run/${name}.pid}
25procname=${sendmail_procname:-/usr/sbin/${name}}
26
27case ${sendmail_enable} in
28[Nn][Oo][Nn][Ee])
29	sendmail_enable="NO"
30	sendmail_submit_enable="NO"
31	sendmail_outbound_enable="NO"
32	sendmail_msp_queue_enable="NO"
33	;;
34esac
35
36# If sendmail_enable=yes, don't need submit or outbound daemon
37if checkyesno sendmail_enable; then
38	sendmail_submit_enable="NO"
39	sendmail_outbound_enable="NO"
40fi
41
42# If sendmail_submit_enable=yes, don't need outbound daemon
43if checkyesno sendmail_submit_enable; then
44	sendmail_outbound_enable="NO"
45fi
46
47sendmail_precmd()
48{
49	# Die if there's pre-8.10 custom configuration file.  This check is
50	# mandatory for smooth upgrade.  See NetBSD PR 10100 for details.
51	#
52	if checkyesno ${rcvar} && [ -f "/etc/${name}.cf" ]; then
53		if ! cmp -s "/etc/mail/${name}.cf" "/etc/${name}.cf"; then
54			warn \
55    "${name} was not started; you have multiple copies of sendmail.cf."
56			return 1
57		fi
58	fi
59
60	# check modifications on /etc/mail/aliases
61	if checkyesno sendmail_rebuild_aliases; then
62		if [ -f "/etc/mail/aliases.db" ]; then
63			if [ "/etc/mail/aliases" -nt "/etc/mail/aliases.db" ]; then
64				echo \
65	    	"${name}: /etc/mail/aliases newer than /etc/mail/aliases.db, regenerating"
66				/usr/bin/newaliases
67			fi
68		else
69			echo \
70	    	"${name}: /etc/mail/aliases.db not present, generating"
71				/usr/bin/newaliases
72		fi
73	fi
74}
75
76run_rc_command "$1"
77
78required_files=
79
80if checkyesno sendmail_submit_enable; then
81	name="sendmail_submit"
82	rcvar="sendmail_submit_enable"
83	start_cmd="${command} ${sendmail_submit_flags}"
84	run_rc_command "$1"
85fi
86
87if checkyesno sendmail_outbound_enable; then
88	name="sendmail_outbound"
89	rcvar="sendmail_outbound_enable"
90	start_cmd="${command} ${sendmail_outbound_flags}"
91	run_rc_command "$1"
92fi
93
94name="sendmail_clientmqueue"
95rcvar="sendmail_msp_queue_enable"
96start_cmd="${command} ${sendmail_msp_queue_flags}"
97pidfile="${sendmail_mspq_pidfile:-/var/spool/clientmqueue/sm-client.pid}"
98required_files="/etc/mail/submit.cf"
99run_rc_command "$1"
100