pps_fetch: introduce a helper to handle timeouts
[dragonfly.git] / etc / rc.d / sendmail
bloba3b4fcffa41563b502a33539cefe1ff065d4c232
1 #!/bin/sh
3 # $NetBSD: sendmail,v 1.14 2002/02/12 01:26:36 lukem Exp $
4 # $FreeBSD: src/etc/rc.d/sendmail,v 1.7 2002/10/12 10:31:31 schweikh Exp $
7 # PROVIDE: mail
8 # REQUIRE: LOGIN
9 # we make mail start late, so that things like .forward's are not
10 # processed until the system is fully operational
12 # XXX - Get together with sendmail mantainer to figure out how to
13 # better handle SENDMAIL_ENABLE and 3rd party MTAs.
15 . /etc/rc.subr
17 name="sendmail"
18 rcvar=`set_rcvar`
19 required_files="/etc/mail/${name}.cf"
20 start_precmd="sendmail_precmd"
21 command=${sendmail_program:-/usr/sbin/sendmail}
22 pidfile=${sendmail_pidfile:-/var/run/sendmail.pid}
24 load_rc_config $name
26 case ${sendmail_enable} in
27 [Nn][Oo][Nn][Ee])
28 sendmail_enable="NO"
29 sendmail_submit_enable="NO"
30 sendmail_outbound_enable="NO"
31 sendmail_msp_queue_enable="NO"
33 esac
35 sendmail_precmd()
37 # Die if there's pre-8.10 custom configuration file. This check is
38 # mandatory for smooth upgrade. See NetBSD PR 10100 for details.
40 if checkyesno ${rcvar} && [ -f "/etc/${name}.cf" ]; then
41 if ! cmp -s "/etc/mail/${name}.cf" "/etc/${name}.cf"; then
42 warn "${name} was not started; " \
43 "you have multiple copies of sendmail.cf."
44 return 1
48 # check modifications on /etc/mail/aliases
49 if checkyesno sendmail_rebuild_aliases; then
50 if [ ! -f "/etc/mail/aliases.db" ]; then
51 echo "${name}: /etc/mail/aliases.db not present, " \
52 "generating"
53 /usr/bin/newaliases
54 elif [ "/etc/mail/aliases" -nt "/etc/mail/aliases.db" ]; then
55 echo "${name}: /etc/mail/aliases newer than " \
56 "/etc/mail/aliases.db, regenerating"
57 /usr/bin/newaliases
61 # check couple of common db files, too
62 for f in genericstable virtusertable domaintable mailertable; do
63 if [ -r "/etc/mail/$f" ] && \
64 [ "/etc/mail/$f" -nt "/etc/mail/$f.db" ]; then
65 echo "${name}: /etc/mail/$f newer than " \
66 "/etc/mail/$f.db, regenerating"
67 /usr/sbin/makemap hash /etc/mail/$f < /etc/mail/$f
69 done
72 run_rc_command "$1"
74 required_files=
75 if ! checkyesno sendmail_enable; then
76 name="sendmail_submit"
77 rcvar=`set_rcvar`
78 start_cmd="${command} ${sendmail_submit_flags}"
79 run_rc_command "$1"
81 if ! checkyesno sendmail_outbound_enable; then
82 name="sendmail_outbound"
83 rcvar=`set_rcvar`
84 start_cmd="${command} ${sendmail_outbound_flags}"
85 run_rc_command "$1"
88 name="sendmail_clientmqueue"
89 rcvar="sendmail_msp_queue_enable"
90 start_cmd="${command} ${sendmail_msp_queue_flags}"
91 pidfile="${sendmail_mspq_pidfile:-/var/spool/clientmqueue/sm-client.pid}"
92 required_files="/etc/mail/submit.cf"
93 run_rc_command "$1"