mirror of
https://git.yoctoproject.org/meta-security
synced 2026-01-11 15:00:34 +00:00
Convert fail2ban-testcases output to follow Automake-compatible format (PASS:/FAIL:) so that ptest-runner can correctly parse and report test results. root@intel-x86-64:~# ptest-runner python3-fail2ban -t 300 START: ptest-runner 2025-09-22T07:57 BEGIN: /usr/lib64/python3-fail2ban/ptest Fail2ban 1.1.1.dev1 test suite. Python 3.12.11 (main, Jun 3 2025, 15:41:47) [GCC 13.4.0]. Please wait... I: Skipping smtp tests: No module named 'smtpd' I: Skipping SSL smtp tests: No module named 'aiosmtpd' PASS: fail2ban.tests.servertestcase.Transmitter.testAction PASS: fail2ban.tests.servertestcase.Transmitter.testAddJail PASS: fail2ban.tests.servertestcase.Transmitter.testDatabase PASS: fail2ban.tests.servertestcase.Transmitter.testDatePattern PASS: fail2ban.tests.servertestcase.Transmitter.testGetNOK PASS: fail2ban.tests.servertestcase.Transmitter.testJailAttemptIP PASS: fail2ban.tests.servertestcase.Transmitter.testJailBanIP ... PASS: fail2ban.tests.servertestcase.TransmitterLogging.testBanTimeIncr PASS: fail2ban.tests.servertestcase.TransmitterLogging.testFlushLogs PASS: fail2ban.tests.servertestcase.TransmitterLogging.testLogLevel PASS: fail2ban.tests.servertestcase.TransmitterLogging.testLogTarget PASS: fail2ban.tests.servertestcase.TransmitterLogging.testLogTargetSYSLOG PASS: fail2ban.tests.servertestcase.TransmitterLogging.testSyslogSocket PASS: fail2ban.tests.servertestcase.TransmitterLogging.testSyslogSocketNOK ============================================================================ Testsuite summary DURATION: 48 END: /usr/lib64/python3-fail2ban/ptest 2025-09-22T07:58 STOP: ptest-runner TOTAL: 1 FAIL: 0 Signed-off-by: Haixiao Yan <haixiao.yan.cn@windriver.com>
80 lines
2.9 KiB
BlitzBasic
80 lines
2.9 KiB
BlitzBasic
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 = "2856092709470250dc299931bc748f112590059f"
|
|
SRC_URI = "git://github.com/fail2ban/fail2ban.git;branch=master;protocol=https \
|
|
file://0001-fail2ban-use-putao.unittest.TestRunner-for-ptest-out.patch \
|
|
file://initd \
|
|
file://run-ptest \
|
|
"
|
|
|
|
PV = "1.1.0+git"
|
|
|
|
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
|
|
|
|
inherit update-rc.d ptest setuptools3_legacy
|
|
inherit systemd
|
|
|
|
SYSTEMD_SERVICE:${PN} = "fail2ban.service"
|
|
|
|
do_install:append () {
|
|
rm -f ${D}/${bindir}/fail2ban-python
|
|
install -d ${D}/${sysconfdir}/fail2ban
|
|
install -d ${D}/${sysconfdir}/init.d
|
|
install -m 0755 ${UNPACKDIR}/initd ${D}${sysconfdir}/init.d/fail2ban-server
|
|
|
|
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
|
|
install -d ${D}${systemd_system_unitdir}
|
|
install -m 0644 ${B}/fail2ban.service ${D}${systemd_system_unitdir}
|
|
fi
|
|
|
|
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##/python3/g' ${D}${PTEST_PATH}/run-ptest
|
|
install -D ${S}/bin/* ${D}${PTEST_PATH}/bin
|
|
rm -f ${D}${PTEST_PATH}/bin/fail2ban-python
|
|
|
|
for i in checklogtype.conf zzz-generic-example.conf zzz-sshd-obsolete-multiline.conf; do
|
|
sed -i -e 's|^before =.*|before = ${sysconfdir}/fail2ban/filter.d/common.conf|g' \
|
|
${D}${PYTHON_SITEPACKAGES_DIR}/fail2ban/tests/config/filter.d/${i}
|
|
done
|
|
|
|
install -m 0644 ${S}/README.md ${D}${PTEST_PATH}
|
|
sed -i -e 's|^logpath = README.md|logpath = ${PTEST_PATH}/README.md|g' \
|
|
${D}${PYTHON_SITEPACKAGES_DIR}/fail2ban/tests/config/jail.conf
|
|
}
|
|
|
|
INITSCRIPT_PACKAGES = "${PN}"
|
|
INITSCRIPT_NAME = "fail2ban-server"
|
|
INITSCRIPT_PARAMS = "defaults 25"
|
|
|
|
INSANE_SKIP:${PN}:append = "already-stripped"
|
|
|
|
RDEPENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog} nftables python3-core python3-pyinotify"
|
|
RDEPENDS:${PN} += "python3-sqlite3"
|
|
RDEPENDS:${PN} += " python3-logging python3-fcntl python3-json"
|
|
RDEPENDS:${PN}-ptest = " \
|
|
python3-core \
|
|
python3-io \
|
|
python3-modules \
|
|
python3-fail2ban \
|
|
python3-unittest-automake-output \
|
|
"
|
|
|
|
RRECOMMENDS:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'python3-systemd', '', d)}"
|