aboutsummaryrefslogtreecommitdiff
path: root/libexec
diff options
context:
space:
mode:
authorTijl Coosemans <tijl@FreeBSD.org>2024-12-03 10:45:10 +0000
committerTijl Coosemans <tijl@FreeBSD.org>2024-12-31 13:17:46 +0000
commit242eb8d4e0095f7d922ecec78b7a3c91a6e2d99c (patch)
treef1dab2b6bab27534ffe5bd59757a066e350bea4b /libexec
parent3f00a0678b9de3657d859e590adb3e646aebb2ae (diff)
Diffstat (limited to 'libexec')
-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 28d6818eabac..97cd6fcfddce 100755
--- a/libexec/rc/rc.d/sendmail
+++ b/libexec/rc/rc.d/sendmail
@@ -40,11 +40,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()
@@ -164,8 +181,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
@@ -203,33 +220,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")