#!/sbin/openrc-run # This file is part of Fail2Ban. # # Fail2Ban is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # Fail2Ban is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Fail2Ban; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # Author: Sireyessire, Cyril Jaquier # description="Daemon to ban hosts that cause multiple authentication errors" description_reload="reload configuration" description_showlog="show fail2ban logs" extra_started_commands="reload showlog" command="/usr/bin/fail2ban-client" command_args="${FAIL2BAN_OPTIONS}" pidfile="/run/${RC_SVCNAME}/${RC_SVCNAME}.pid" depend() { use logger after iptables } start_pre() { checkpath -d "${pidfile%/*}" || return 1 # Remove stale socket after system crash, Gentoo bug 347477 rm -f /var/run/fail2ban/fail2ban.sock || return 1 } start() { ebegin "Starting ${RC_SVCNAME}" start-stop-daemon --start --pidfile "${pidfile}" \ -- ${command} ${command_args} start eend $? "Failed to start ${RC_SVCNAME}" } stop() { ebegin "Stopping ${RC_SVCNAME}" start-stop-daemon --stop --pidfile "${pidfile}" --retry 30 \ -- ${command} ${command_args} stop eend $? "Failed to stop ${RC_SVCNAME}" } reload() { ebegin "Reloading ${RC_SVCNAME}" ${command} ${command_args} reload eend $? "Failed to reload ${RC_SVCNAME}" } showlog(){ less /var/log/fail2ban.log }