ports/security/py-fail2ban/files/fail2ban.in
Florian Koczan b48d2a658e security/py-fail2ban: Create required start dir
Reported at https://github.com/fail2ban/fail2ban/issues/2634
fail2ban should check and, if necessary create, the required directory.

It is still up to the user to ensure that configuration in fail2ban's
conf files and FreeBSD's /etc/rc.conf are in sync and that both, pidfile
and socket reside in the same directory.

PR:		244092
Approved by:	maintainer
MFH:		2021Q2
2021-06-15 09:02:44 -07:00

48 lines
1.1 KiB
Bash

#!/bin/sh
#
# PROVIDE: fail2ban
# REQUIRE: DAEMON
# KEYWORD: shutdown
# Add the following lines to /etc/rc.conf to enable fail2ban:
# fail2ban_enable="YES"
# fail2ban_flags="<set as needed>"
# fail2ban_pidfile="<same as in fail2ban.local>"
# Make sure pidfile and socket point to the same directory
. /etc/rc.subr
PATH=${PATH}:%%PREFIX%%/sbin:%%PREFIX%%/bin
name="fail2ban"
rcvar=fail2ban_enable
start_precmd="fail2ban_prestart"
command="%%PREFIX%%/bin/fail2ban-server"
command_interpreter="%%PYTHON_CMD%%"
client="%%PREFIX%%/bin/fail2ban-client"
extra_commands="reload jailstatus"
fail2ban_prestart()
{
install -d -m 0755 "$(dirname ${pidfile})"
}
load_rc_config ${name}
#
# DO NOT CHANGE THESE DEFAULT VALUES HERE
# SET THEM IN THE /etc/rc.conf FILE
#
fail2ban_enable=${fail2ban_enable-"NO"}
pidfile=${fail2ban_pidfile-"/var/run/fail2ban/fail2ban.pid"}
start_cmd="${client} ${fail2ban_flags} start"
stop_cmd="${client} ${fail2ban_flags} stop"
reload_cmd="${client} ${fail2ban_flags} reload"
jailstatus_cmd="${client} ${fail2ban_flags} status"
run_rc_command "$1"