1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-24 09:25:01 +00:00
freebsd-ports/mail/qmail/files/qmailsmtpd.in
2021-04-06 16:31:13 +02:00

67 lines
1.8 KiB
Bash

#!/bin/sh
# PROVIDE: qmailsmtpd
# REQUIRE: LOGIN cleanvar
# KEYWORD: shutdown
#
# To use the checkpassword interface to qmail-smtpd, set
# qmailsmtpd_checkpassword to the full path to the checkpassword program (e.g.
# security/checkpassword or security checkpassword-pam).
#
# Note: tcpserver can be found in the sysutils/ucspi-tcp package.
#
# qmailsmtpd_checkpassword could be set to e.g. /usr/local/bin/checkpassword-pam
. /etc/rc.subr
name=qmailsmtpd
rcvar=qmailsmtpd_enable
load_rc_config $name
: ${qmailsmtpd_tcpserver:=%%LOCALBASE%%/bin/tcpserver}
: ${qmailsmtpd_tcprules:=%%LOCALBASE%%/bin/tcprules}
: ${qmailsmtpd_pidfile:=/var/run/qmailsmtpd.pid}
: ${qmailsmtpd_enable:=NO}
: ${qmailsmtpd_cdb:=/etc/tcp.smtp}
: ${qmailsmtpd_flags="-R -H -u 82 -g 81"}
: ${qmailsmtpd_host:=0}
: ${qmailsmtpd_port:=smtp}
: ${qmailsmtpd_smtpd:=%%PREFIX%%/bin/qmail-smtpd}
: ${qmailsmtpd_fqdn:=`hostname`}
: ${qmailsmtpd_checksubprogram:=/usr/bin/true}
start_cmd=qmailsmtpd_start
start_precmd=qmailsmtpd_precmd
pidfile=${qmailsmtpd_pidfile}
procname=${qmailsmtpd_tcpserver}
qmailsmtpd_start()
{
if [ -n "$qmailsmtpd_checkpassword" ]; then
qmailsmtpd_usercheck="$qmailsmtpd_fqdn $qmailsmtpd_checkpassword $qmailsmtpd_checksubprogram"
fi
echo "Starting qmailsmtpd."
$qmailsmtpd_tcpserver -x $qmailsmtpd_cdb.cdb $qmailsmtpd_flags $qmailsmtpd_host $qmailsmtpd_port \
$qmailsmtpd_smtpd $qmailsmtpd_usercheck &
echo $! > $pidfile
}
qmailsmtpd_precmd()
{
if ! [ -e "${qmailsmtpd_tcpserver}" ]; then
echo "sysutils/ucspi-tcp is required" >&2
return 1
fi
if ! [ -e "${qmailsmtpd_cdb}" ]; then
echo "TCP rules file '${qmailsmtpd_cdb}' is missing." >&2
return 1
fi
$qmailsmtpd_tcprules $qmailsmtpd_cdb.cdb $qmailsmtpd_cdb.tmp < $qmailsmtpd_cdb \
|| return 1
}
run_rc_command "$1"