rendered paste body#!/bin/sh
#
# $NetBSD: qmailsmtpd.sh,v 1.7 2005/07/19 21:06:39 schmonz Exp $
#
# qmail-run-20050415 script to control qmail-smtpd (SMTP service).
#
# PROVIDE: qmailsmtpd mail
# REQUIRE: qmailsend
name="qmailsmtpd"
# User-settable rc.conf variables and their default values:
: ${qmailsmtpd_postenv:="QMAILQUEUE=/usr/pkg/bin/qmail-queue"}
: ${qmailsmtpd_tcpflags:="-vRl0"}
: ${qmailsmtpd_tcphost:="0"}
: ${qmailsmtpd_tcpport:="25"}
: ${qmailsmtpd_datalimit:="2000000"}
: ${qmailsmtpd_pretcpserver:=""}
: ${qmailsmtpd_presmtpd:=""}
: ${qmailsmtpd_postsmtpd:=""}
: ${qmailsmtpd_log:="YES"}
: ${qmailsmtpd_logcmd:="logger -t nb${name} -p mail.info"}
: ${qmailsmtpd_nologcmd:="/usr/pkg/bin/multilog -*"}
if [ -f /etc/rc.subr ]; then
. /etc/rc.subr
fi
rcvar=${name}
required_files="/usr/pkg/etc/qmail/control/concurrencyincoming"
required_files="${required_files} /usr/pkg/etc/qmail/tcp.smtp.cdb"
required_files="${required_files} /usr/pkg/etc/qmail/control/rcpthosts"
command="/usr/pkg/bin/tcpserver"
procname=${name}
start_precmd="qmailsmtpd_precmd"
extra_commands="stat pause cont cdb"
stat_cmd="qmailsmtpd_stat"
pause_cmd="qmailsmtpd_pause"
cont_cmd="qmailsmtpd_cont"
cdb_cmd="qmailsmtpd_cdb"
qmailsmtpd_precmd()
{
# tcpserver(1) is akin to inetd(8), but runs one service per process.
# We want to signal only the tcpserver process responsible for SMTP
# service. Use argv0(1) to set procname to "qmailsmtpd".
if [ -f /etc/rc.subr ]; then
checkyesno qmailsmtpd_log || qmailsmtpd_logcmd=${qmailsmtpd_nologcmd}
fi
command="/usr/bin/env - ${qmailsmtpd_postenv} /usr/pkg/bin/softlimit -m ${qmailsmtpd_datalimit} ${qmailsmtpd_pretcpserver} $
command_args="&"
rc_flags=""
}
qmailsmtpd_stat()
{
run_rc_command status
}
qmailsmtpd_pause()
{
if ! statusmsg=`run_rc_command status`; then
echo $statusmsg
return 1
fi
echo "Pausing ${name}."
kill -STOP $rc_pid
}
qmailsmtpd_cont()
{
if ! statusmsg=`run_rc_command status`; then
echo $statusmsg
return 1
fi
echo "Continuing ${name}."
kill -CONT $rc_pid
}
qmailsmtpd_cdb()
{
echo "Reloading /usr/pkg/etc/qmail/tcp.smtp."
/usr/pkg/bin/tcprules /usr/pkg/etc/qmail/tcp.smtp.cdb /usr/pkg/etc/qmail/tcp.smtp.tmp < /usr/pkg/etc/qmail/tcp.smtp
/bin/chmod 644 /usr/pkg/etc/qmail/tcp.smtp.cdb
}
if [ -f /etc/rc.subr ]; then
load_rc_config $name
run_rc_command "$1"
else
echo -n " ${name}"
qmailsmtpd_precmd
eval ${command} ${qmailsmtpd_flags} ${command_args}
fi