mirror of
https://git.proxmox.com/git/proxmox-spamassassin
synced 2025-04-29 08:09:46 +00:00
151 lines
2.9 KiB
Bash
Executable File
151 lines
2.9 KiB
Bash
Executable File
#!@RCD_SCRIPTS_SHELL@
|
|
#
|
|
# $NetBSD$
|
|
#
|
|
# Start script for 'spamd' installed by the pkgsrc package collection
|
|
# running on *BSD, MacOS X, Solaris, Linux, and various other U*IX-like
|
|
# systems.
|
|
#
|
|
# The 'spamd' daemon checks emails provided by the 'spamc' client for signs
|
|
# of spam
|
|
#
|
|
# PLEASE read the file
|
|
# @PREFIX@/share/doc/spamassassin/spamd/README
|
|
# especially the section about security.
|
|
|
|
## only for DragonFlyBSD/NetBSD
|
|
# PROVIDE: spamd
|
|
# REQUIRE: LOGIN
|
|
# BEFORE: mail
|
|
# KEYWORD: shutdown
|
|
##
|
|
|
|
PATH=/sbin:/bin:/usr/sbin:/usr/bin:@PREFIX@/bin
|
|
export PATH
|
|
|
|
if [ -f /etc/rc.subr ]
|
|
then
|
|
. /etc/rc.subr
|
|
fi
|
|
|
|
name="spamd"
|
|
rcvar=$name
|
|
command_interpreter="@PERL5@"
|
|
command="@PREFIX@/bin/spamd"
|
|
pidfile="/var/run/${name}.pid"
|
|
sig_stop="TERM"
|
|
command_args="-d -r ${pidfile}"
|
|
extra_commands="reload"
|
|
sig_reload="HUP"
|
|
|
|
# default values, may be overridden on NetBSD/DragonFlyBSD by setting them
|
|
# in /etc/rc.conf
|
|
spamd_flags=${spamd_flags-"-H -c"}
|
|
spamd=${spamd:-NO}
|
|
spamd_fdlimit=${spamd_fdlimit-"128"}
|
|
|
|
# both set during package build
|
|
OPSYS=@OPSYS@
|
|
INTERPRETER_SUPPORT=@INTERPRETER_SUPPORT@
|
|
|
|
# A default limit of 64 on NetBSD may be too low for many
|
|
# people (e.g. with additional RBL rules)
|
|
SOFT_FDLIMIT=`ulimit -S -n`
|
|
HARD_FDLIMIT=`ulimit -H -n`
|
|
|
|
if [ ${spamd_fdlimit} -gt ${SOFT_FDLIMIT} ]; then
|
|
if [ ${spamd_fdlimit} -le ${HARD_FDLIMIT} ]; then
|
|
ulimit -S -n ${spamd_fdlimit}
|
|
else
|
|
ulimit -S -n ${HARD_FDLIMIT}
|
|
fi
|
|
fi
|
|
|
|
spamd_start()
|
|
{
|
|
if [ -n "${the_spamd_pid}" ]; then
|
|
echo "${command} already running as pid ${the_spamd_pid}."
|
|
return 1
|
|
fi
|
|
echo "Starting spamd"
|
|
${command} ${spamd_flags} ${command_args}
|
|
}
|
|
|
|
spamd_stop()
|
|
{
|
|
if [ -z "${the_spamd_pid}" ]; then
|
|
echo "${command} not running? (check ${pidfile})."
|
|
return 1
|
|
fi
|
|
echo "Stopping spamd"
|
|
kill -${sig_stop} ${the_spamd_pid}
|
|
}
|
|
|
|
spamd_status()
|
|
{
|
|
if [ -z "${the_spamd_pid}" ]; then
|
|
echo "${command} is not running? (check ${pidfile})."
|
|
else
|
|
echo "${command} is running as pid ${the_spamd_pid}."
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
spamd_reload()
|
|
{
|
|
if [ -z "${the_spamd_pid}" ]; then
|
|
echo "${command} not running? (check ${pidfile})."
|
|
return 1
|
|
fi
|
|
echo "Reloading spamd"
|
|
kill -${sig_reload} ${the_spamd_pid}
|
|
}
|
|
|
|
if [ "${OPSYS}" = "NetBSD" -o "${OPSYS}" = "DragonFly" ]; then
|
|
if checkyesno INTERPRETER_SUPPORT; then
|
|
: # support for 'command_interpreter' was added in NetBSD 1.6
|
|
else
|
|
start_cmd="spamd_start"
|
|
stop_cmd="spamd_stop"
|
|
status_cmd="spamd_status"
|
|
reload_cmd="spamd_reload"
|
|
the_spamd_pid=`check_pidfile ${pidfile} ${command_interpreter}`
|
|
fi
|
|
|
|
load_rc_config $name
|
|
run_rc_command "$1"
|
|
|
|
else # not NetBSD or DragonFlyBSD
|
|
|
|
if [ -f ${pidfile} ]; then
|
|
the_spamd_pid=`head -1 ${pidfile}`
|
|
else
|
|
the_spamd_pid=
|
|
fi
|
|
|
|
case ${1+"$@"} in
|
|
start)
|
|
spamd_start
|
|
;;
|
|
stop)
|
|
spamd_stop
|
|
;;
|
|
restart)
|
|
spamd_stop
|
|
sleep 1
|
|
spamd_start
|
|
;;
|
|
status)
|
|
spamd_status
|
|
;;
|
|
reload)
|
|
spamd_reload
|
|
;;
|
|
*)
|
|
echo "Usage: ${0} (start|stop|restart|status|reload)"
|
|
;;
|
|
|
|
esac
|
|
fi
|