aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTijl Coosemans <tijl@FreeBSD.org>2024-12-03 10:45:10 +0000
committerTijl Coosemans <tijl@FreeBSD.org>2024-12-03 10:46:39 +0000
commit6b17d944a1d448dbb797c5fa5b0778242ba02e52 (patch)
treed657aad5b68dd230d6df0deae40fae43a204735f
parent057db5b227d0e1c1d14c7dbc67c6613e328d1735 (diff)
-rwxr-xr-xlibexec/rc/rc.d/sendmail49
1 files changed, 26 insertions, 23 deletions
diff --git a/libexec/rc/rc.d/sendmail b/libexec/rc/rc.d/sendmail
index 5a780e5b15a1..fa82d44ecc35 100755
--- a/libexec/rc/rc.d/sendmail
+++ b/libexec/rc/rc.d/sendmail
@@ -42,11 +42,28 @@ esac
if checkyesno sendmail_enable; then
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
+ _sendmail_run=true
fi
# If sendmail_submit_enable=yes, don't need outbound daemon
if checkyesno sendmail_submit_enable; then
+ name="sendmail_submit"
+ rcvar="sendmail_submit_enable"
sendmail_outbound_enable="NO"
+ _sendmail_run=true
+fi
+
+if checkyesno sendmail_outbound_enable; then
+ name="sendmail_outbound"
+ rcvar="sendmail_outbound_enable"
+ _sendmail_run=true
+fi
+
+if checkyesno sendmail_msp_queue_enable; then
+ _sendmail_msp_queue_run=true
+else
+ # Make sure run_rc_command is called at least once.
+ _sendmail_run=true
fi
sendmail_cert_create()
@@ -166,8 +183,8 @@ 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
+ if checkyesno ${rcvar} && [ -f "/etc/sendmail.cf" ]; then
+ if ! cmp -s "/etc/mail/sendmail.cf" "/etc/sendmail.cf"; then
warn \
"${name} was not started; you have multiple copies of sendmail.cf."
return 1
@@ -205,33 +222,19 @@ sendmail_precmd()
fi
}
-run_rc_command "$1"
-_ret=$?
-
-required_files=
-
-if checkyesno sendmail_submit_enable; then
- name="sendmail_submit"
- rcvar="sendmail_submit_enable"
- _rc_restart_done=false
+if ${_sendmail_run:-false}; then
run_rc_command "$1"
- _ret=$(( _ret > $? ? _ret : $? ))
fi
+_ret=$?
-if checkyesno sendmail_outbound_enable; then
- name="sendmail_outbound"
- rcvar="sendmail_outbound_enable"
+if ${_sendmail_msp_queue_run:-false}; then
+ name="sendmail_msp_queue"
+ rcvar="sendmail_msp_queue_enable"
+ pidfile="${sendmail_msp_queue_pidfile:-/var/spool/clientmqueue/sm-client.pid}"
+ required_files="/etc/mail/submit.cf"
_rc_restart_done=false
run_rc_command "$1"
_ret=$(( _ret > $? ? _ret : $? ))
fi
-name="sendmail_msp_queue"
-rcvar="sendmail_msp_queue_enable"
-pidfile="${sendmail_msp_queue_pidfile:-/var/spool/clientmqueue/sm-client.pid}"
-required_files="/etc/mail/submit.cf"
-_rc_restart_done=false
-run_rc_command "$1"
-_ret=$(( _ret > $? ? _ret : $? ))
-
(exit "$_ret")