#!/bin/bash
#
# fail2ban
#
# chkconfig: 345 91 9
# description: if many unsuccessfull login attempts from some ip address \
#              during a short period happen, this address is banned \
#              by the firewall
#
# Author: Andrey G. Grozin
# 
# $Revision: 1.2 $

# Source function library.
. /etc/init.d/functions

# Get config.
. /etc/sysconfig/network

# Check that networking is up.
[ "${NETWORKING}" = "no" ] && exit 0
[ -f /etc/fail2ban.conf ] || exit 0

FAIL2BAN="/usr/bin/fail2ban"
PIDFILE="/var/run/fail2ban.pid"

RETVAL=0

start() {
    echo -n $"Starting fail2ban: "
    "${FAIL2BAN}" -b > /dev/null
    RETVAL=$?
    echo
}

stop() {
    if [ -f "${PIDFILE}" ]; then
	echo -n $"Stopping fail2ban: "
	"${FAIL2BAN}" -k > /dev/null
	echo
    fi
}

restart() {
    stop
    start
}

# See how we were called.
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  status)
        status fail2ban
        RETVAL=$?
        ;;
  reload)
        restart
        ;;
  restart)
        restart
        ;;
  condrestart)
        if [ -f "${PIDFILE}" ]; then
            restart
        fi
        ;;
  *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart}"
        exit 1
        ;;
esac

exit $RETVAL
