Initial commit
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
#!/bin/sh
|
||||
### BEGIN INIT INFO
|
||||
# Provides: fail2ban
|
||||
# Required-Start: $local_fs $remote_fs
|
||||
# Required-Stop: $local_fs $remote_fs
|
||||
# Should-Start: $time $network $syslog iptables firehol shorewall ferm
|
||||
# Should-Stop: $network $syslog iptables firehol shorewall ferm
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: Start/Stop fail2ban
|
||||
# Description: Start/Stop fail2ban, a daemon to ban hosts that cause multiple authentication errors
|
||||
### END INIT INFO
|
||||
|
||||
# Source function library.
|
||||
. /etc/init.d/functions
|
||||
|
||||
# Check that the config file exists
|
||||
[ -f /etc/fail2ban/fail2ban.conf ] || exit 0
|
||||
|
||||
check_privsep_dir() {
|
||||
# Create the PrivSep empty dir if necessary
|
||||
if [ ! -d /var/run/fail2ban ]; then
|
||||
mkdir /var/run/fail2ban
|
||||
chmod 0755 /var/run/fail2ban
|
||||
fi
|
||||
}
|
||||
|
||||
FAIL2BAN="/usr/bin/fail2ban-client"
|
||||
prog=fail2ban-server
|
||||
lockfile=${LOCKFILE-/var/lock/subsys/fail2ban}
|
||||
socket=${SOCKET-/var/run/fail2ban/fail2ban.sock}
|
||||
pidfile=${PIDFILE-/var/run/fail2ban/fail2ban.pid}
|
||||
RETVAL=0
|
||||
|
||||
start() {
|
||||
echo -n $"Starting fail2ban: "
|
||||
check_privsep_dir
|
||||
${FAIL2BAN} -x start > /dev/null
|
||||
RETVAL=$?
|
||||
if [ $RETVAL = 0 ]; then
|
||||
touch ${lockfile}
|
||||
success
|
||||
else
|
||||
failure
|
||||
fi
|
||||
echo
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
stop() {
|
||||
echo -n $"Stopping fail2ban: "
|
||||
${FAIL2BAN} stop > /dev/null
|
||||
RETVAL=$?
|
||||
if [ $RETVAL = 0 ]; then
|
||||
rm -f ${lockfile} ${pidfile}
|
||||
success
|
||||
else
|
||||
failure
|
||||
fi
|
||||
echo
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
reload() {
|
||||
echo "Reloading fail2ban: "
|
||||
${FAIL2BAN} reload
|
||||
RETVAL=$?
|
||||
echo
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
# See how we were called.
|
||||
case "$1" in
|
||||
start)
|
||||
status -p ${pidfile} ${prog} >/dev/null 2>&1 && exit 0
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
reload)
|
||||
reload
|
||||
;;
|
||||
restart)
|
||||
stop
|
||||
start
|
||||
;;
|
||||
status)
|
||||
status -p ${pidfile} ${prog}
|
||||
RETVAL=$?
|
||||
[ $RETVAL = 0 ] && ${FAIL2BAN} status
|
||||
;;
|
||||
*)
|
||||
echo $"Usage: fail2ban {start|stop|restart|reload|status}"
|
||||
RETVAL=2
|
||||
esac
|
||||
|
||||
exit $RETVAL
|
||||
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
##PYTHON## bin/fail2ban-testcases
|
||||
+62
@@ -0,0 +1,62 @@
|
||||
SUMMARY = "Daemon to ban hosts that cause multiple authentication errors."
|
||||
DESCRIPTION = "Fail2Ban scans log files like /var/log/auth.log and bans IP addresses having too \
|
||||
many failed login attempts. It does this by updating system firewall rules to reject new \
|
||||
connections from those IP addresses, for a configurable amount of time. Fail2Ban comes \
|
||||
out-of-the-box ready to read many standard log files, such as those for sshd and Apache, \
|
||||
and is easy to configure to read any log file you choose, for any error you choose."
|
||||
HOMEPAGE = "http://www.fail2ban.org"
|
||||
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=ecabc31e90311da843753ba772885d9f"
|
||||
|
||||
DEPENDS = "python3-native"
|
||||
|
||||
SRCREV = "e1d3006b0330e9777705a7baafe3989d442ed120"
|
||||
SRC_URI = "git://github.com/fail2ban/fail2ban.git;branch=master;protocol=https \
|
||||
file://initd \
|
||||
file://run-ptest \
|
||||
"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
|
||||
|
||||
inherit update-rc.d ptest setuptools3_legacy
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
do_compile () {
|
||||
cd ${S}
|
||||
|
||||
#remove symlink to python3
|
||||
# otherwise 2to3 is run against it
|
||||
rm -f bin/fail2ban-python
|
||||
|
||||
./fail2ban-2to3
|
||||
}
|
||||
|
||||
do_install:append () {
|
||||
rm -f ${D}/${bindir}/fail2ban-python
|
||||
install -d ${D}/${sysconfdir}/fail2ban
|
||||
install -d ${D}/${sysconfdir}/init.d
|
||||
install -m 0755 ${WORKDIR}/initd ${D}${sysconfdir}/init.d/fail2ban-server
|
||||
chown -R root:root ${D}/${bindir}
|
||||
rm -rf ${D}/run
|
||||
}
|
||||
|
||||
do_install_ptest:append () {
|
||||
install -d ${D}${PTEST_PATH}
|
||||
install -d ${D}${PTEST_PATH}/bin
|
||||
sed -i -e 's/##PYTHON##/${PYTHON_PN}/g' ${D}${PTEST_PATH}/run-ptest
|
||||
install -D ${S}/bin/* ${D}${PTEST_PATH}/bin
|
||||
rm -f ${D}${PTEST_PATH}/bin/fail2ban-python
|
||||
}
|
||||
|
||||
|
||||
INITSCRIPT_PACKAGES = "${PN}"
|
||||
INITSCRIPT_NAME = "fail2ban-server"
|
||||
INITSCRIPT_PARAMS = "defaults 25"
|
||||
|
||||
INSANE_SKIP:${PN}:append = "already-stripped"
|
||||
|
||||
RDEPENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog} iptables sqlite3 python3-core python3-pyinotify"
|
||||
RDEPENDS:${PN} += " python3-logging python3-fcntl python3-json"
|
||||
RDEPENDS:${PN}-ptest = "python3-core python3-io python3-modules python3-fail2ban"
|
||||
Reference in New Issue
Block a user