summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornils <nils>2015-02-09 10:05:25 +0000
committernils <nils>2015-02-09 10:05:25 +0000
commite9d8e536ae35f145fdb11399070b54be1acfdc00 (patch)
treeb9f37e857f38f768d80f31a88603ccab4067153e
parentd5c652f0ba108249f00d35d69b93d5390791eaf5 (diff)
downloadpkgsrc-e9d8e536ae35f145fdb11399070b54be1acfdc00.tar.gz
Initial import of security/fail2ban, version 0.9.1, into the NetBSD Packages Collection.
Fail2Ban scans log files like /var/log/pwdfail and bans IP that makes too many password failures. It updates firewall rules to reject the IP address. Theses rules can be defined by the user. Fail2Ban can read multiple log files such as sshd or Apache web server ones.
-rw-r--r--security/fail2ban/DESCR5
-rw-r--r--security/fail2ban/Makefile114
-rw-r--r--security/fail2ban/PLIST483
-rw-r--r--security/fail2ban/distinfo6
-rw-r--r--security/fail2ban/files/fail2ban.sh32
-rwxr-xr-xsecurity/fail2ban/files/paths-netbsd.conf28
-rwxr-xr-xsecurity/fail2ban/files/paths-pkgsrc.conf20
-rw-r--r--security/fail2ban/options.mk13
-rw-r--r--security/fail2ban/patches/patch-doc_Makefile22
9 files changed, 723 insertions, 0 deletions
diff --git a/security/fail2ban/DESCR b/security/fail2ban/DESCR
new file mode 100644
index 00000000000..8d6a8950609
--- /dev/null
+++ b/security/fail2ban/DESCR
@@ -0,0 +1,5 @@
+Fail2Ban scans log files like /var/log/pwdfail and bans IP
+that makes too many password failures. It updates firewall
+rules to reject the IP address. Theses rules can be defined by
+the user. Fail2Ban can read multiple log files such as sshd
+or Apache web server ones.
diff --git a/security/fail2ban/Makefile b/security/fail2ban/Makefile
new file mode 100644
index 00000000000..4116dd6f7a5
--- /dev/null
+++ b/security/fail2ban/Makefile
@@ -0,0 +1,114 @@
+# $NetBSD: Makefile,v 1.1 2015/02/09 10:05:25 nils Exp $
+#
+
+DISTNAME= fail2ban-0.9.1
+CATEGORIES= security
+MASTER_SITES= -https://github.com/fail2ban/fail2ban/archive/${PKGVERSION_NOREV}${EXTRACT_SUFX}
+EXTRACT_SUFX= .zip
+
+MAINTAINER= ahp-nils@users.sourceforge.net
+HOMEPAGE= http://www.fail2ban.org/
+COMMENT= Scans log files and bans IP that makes too many password failures
+LICENSE= gnu-gpl-v2
+
+DEPENDS+= ${PYPKGPREFIX}-sqlite3-[0-9]*:../../databases/py-sqlite3
+DEPENDS+= ${PYPKGPREFIX}-sphinx-[0-9]*:../../textproc/py-sphinx
+DEPENDS+= ${PYPKGPREFIX}-numpydoc-[0-9]*:../../textproc/py-numpydoc
+USE_TOOLS+= make:build
+
+USE_LANGUAGES= # none
+EGDIR= ${PREFIX}/share/examples/fail2ban
+PKG_SYSCONFSUBDIR= fail2ban
+DOCDIR= ${PREFIX}/share/doc/fail2ban
+OWN_DIRS= ${PKG_SYSCONFDIR} ${PKG_SYSCONFDIR}/action.d/ ${PKG_SYSCONFDIR}/filter.d/ \
+ ${VARBASE}/run/fail2ban ${VARBASE}/db/fail2ban
+INSTALLATION_DIRS+= ${PKGMANDIR}/man1/ ${PKGMANDIR}/man5/ ${EGDIR} ${EGDIR}/action.d/ ${EGDIR}/filter.d/ \
+ ${PKG_SYSCONFDIR} ${PKG_SYSCONFDIR}/action.d/ ${PKG_SYSCONFDIR}/filter.d/
+
+.for config in fail2ban.conf jail.conf paths-common.conf paths-debian.conf paths-fedora.conf paths-freebsd.conf paths-osx.conf paths-netbsd.conf paths-pkgsrc.conf
+CONF_FILES+= ${EGDIR}/${config} ${PKG_SYSCONFDIR}/${config}
+.endfor
+
+
+.for action in apf.conf badips.conf badips.py blocklist_de.conf bsd-ipfw.conf cloudflare.conf complain.conf dshield.conf dummy.conf firewallcmd-ipset.conf firewallcmd-new.conf hostsdeny.conf ipfilter.conf ipfw.conf iptables-allports.conf iptables-common.conf iptables-ipset-proto4.conf iptables-ipset-proto6-allports.conf iptables-ipset-proto6.conf iptables-multiport-log.conf iptables-multiport.conf iptables-new.conf iptables-xt_recent-echo.conf iptables.conf mail-buffered.conf mail-whois-lines.conf mail-whois.conf mail.conf mynetwatchman.conf osx-afctl.conf osx-ipfw.conf pf.conf route.conf sendmail-buffered.conf sendmail-common.conf sendmail-whois-lines.conf sendmail-whois-ipjailmatches.conf sendmail-whois-ipmatches.conf sendmail-whois-matches.conf sendmail-whois.conf sendmail.conf shorewall.conf smtp.py symbiosis-blacklist-allports.conf ufw.conf xarf-login-attack.conf
+CONF_FILES+= ${EGDIR}/action.d/${action} ${PKG_SYSCONFDIR}/action.d/${action}
+.endfor
+
+.for filter in 3proxy.conf apache-auth.conf apache-badbots.conf apache-botsearch.conf apache-common.conf apache-modsecurity.conf apache-nohome.conf apache-noscript.conf apache-overflows.conf apache-shellshock.conf assp.conf asterisk.conf common.conf counter-strike.conf courier-auth.conf courier-smtp.conf cyrus-imap.conf dovecot.conf directadmin.conf dropbear.conf ejabberd-auth.conf exim-common.conf exim-spam.conf exim.conf freeswitch.conf groupoffice.conf gssftpd.conf guacamole.conf horde.conf kerio.conf lighttpd-auth.conf monit.conf mysqld-auth.conf nagios.conf named-refused.conf nginx-http-auth.conf nsd.conf openwebmail.conf oracleims.conf pam-generic.conf perdition.conf php-url-fopen.conf portsentry.conf postfix-sasl.conf postfix.conf proftpd.conf pure-ftpd.conf qmail.conf recidive.conf roundcube-auth.conf selinux-common.conf selinux-ssh.conf sendmail-auth.conf sendmail-reject.conf sieve.conf sogo-auth.conf solid-pop3d.conf squid.conf squirrelmail.conf sshd-ddos.conf sshd.conf stunnel.conf suhosin.conf tine20.conf uwimap-auth.conf vsftpd.conf webmin-auth.conf wuftpd.conf xinetd-fail.conf
+CONF_FILES+= ${EGDIR}/filter.d/${filter} ${PKG_SYSCONFDIR}/filter.d/${filter}
+.endfor
+
+TXTDOCFILES+= develop.txt fail2ban.txt fail2ban.client.txt fail2ban.client.actionreader.txt fail2ban.client.beautifier.txt fail2ban.client.configparserinc.txt fail2ban.client.configreader.txt fail2ban.client.configurator.txt fail2ban.client.csocket.txt fail2ban.client.fail2banreader.txt fail2ban.client.filterreader.txt fail2ban.client.jailreader.txt fail2ban.exceptions.txt fail2ban.client.jailsreader.txt fail2ban.helpers.txt fail2ban.protocol.txt fail2ban.server.txt fail2ban.server.action.txt fail2ban.server.actions.txt fail2ban.server.asyncserver.txt fail2ban.server.banmanager.txt fail2ban.server.database.txt fail2ban.server.datedetector.txt fail2ban.server.datetemplate.txt fail2ban.server.faildata.txt fail2ban.server.failmanager.txt filters.txt fail2ban.server.failregex.txt fail2ban.server.filter.txt fail2ban.server.filtergamin.txt fail2ban.server.filterpoll.txt fail2ban.server.filterpyinotify.txt fail2ban.server.filtersystemd.txt fail2ban.server.jail.txt fail2ban.server.jails.txt fail2ban.server.jailthread.txt fail2ban.server.mytime.txt fail2ban.server.server.txt fail2ban.server.strptime.txt fail2ban.server.ticket.txt fail2ban.server.transmitter.txt fail2ban.version.txt index.txt release.txt
+
+AUTO_MKDIRS= yes
+MANPAGES1= fail2ban-client.1 fail2ban-regex.1 fail2ban-server.1
+MANPAGES5= jail.conf.5
+
+FILES_SUBST+= PYTHON_INTERP=${PYTHONBIN:Q}
+BUILD_DEFS+= PYTHON_INTERP
+BUILD_DEFS+= VARBASE
+RCD_SCRIPTS= fail2ban
+
+SUBST_CLASSES+= paths
+SUBST_STAGE.paths= pre-configure
+SUBST_MESSAGE.paths= Substituting paths variables.
+SUBST_VARS.paths+= VARBASE
+SUBST_FILES.paths= ${WRKSRC}/bin/fail2ban-client
+SUBST_FILES.paths+= ${WRKSRC}/fail2ban/client/configreader.py
+SUBST_FILES.paths+= ${WRKSRC}/fail2ban/tests/utils.py
+SUBST_FILES.paths+= ${WRKSRC}/man/fail2ban-client.1
+SUBST_FILES.paths+= ${WRKSRC}/man/fail2ban-client.h2m
+SUBST_FILES.paths+= ${WRKSRC}/setup.py
+SUBST_FILES.paths+= ${WRKSRC}/config/fail2ban.conf
+SUBST_FILES.paths+= ${WRKSRC}/config/jail.conf
+SUBST_FILES.paths+= ${WRKSRC}/config/paths-pkgsrc.conf
+SUBST_SED.paths= -e 's,/etc,${PREFIX}/etc,g'
+SUBST_SED.paths+= -e 's,/var/lib,${VARBASE}/db,g'
+SUBST_SED.paths+= -e 's,/var,${VARBASE},g'
+SUBST_SED.paths+= -e 's,/usr/share,${PREFIX}/share,g'
+SUBST_SED.paths+= -e 's,/usr/share,${PREFIX}/share,g'
+SUBST_SED.paths+= -e 's,paths-debian.conf,paths-pkgsrc.conf,g'
+
+SUBST_CLASSES+= install
+SUBST_STAGE.install= pre-install
+SUBST_MESSAGE.install= correcting installation path
+SUBST_FILES.install= ${WRKSRC}/setup.py
+SUBST_SED.install= -e 's,${PREFIX}/etc/fail2ban,${EGDIR},g'
+
+.include "../../mk/bsd.prefs.mk"
+
+SUBST_CLASSES+= ostype
+SUBST_STAGE.ostype= post-configure
+SUBST_MESSAGE.ostype= Adjusting OS type
+SUBST_FILES.ostype= ${WRKSRC}/config/paths-pkgsrc.conf
+.if ${OPSYS} == "NetBSD"
+SUBST_SED.ostype= -e "s,\#before = paths-distro.conf,before = paths-netbsd.conf,g"
+.elif ${OPSYS} == "Darwin"
+SUBST_SED.ostype= -e "s,\#before = paths-distro.conf,before = paths-osx.conf,g"
+.elif ${OPSYS} == "DragonFly" || ${OPSYS} == "FreeBSD"
+SUBST_SED.ostype= -e "s,\#before = paths-distro.conf,before = paths-freebsd.conf,g"
+.endif
+
+
+post-extract:
+ ${CP} ${FILESDIR}/paths-netbsd.conf ${WRKSRC}/config/paths-netbsd.conf
+ ${CP} ${FILESDIR}/paths-pkgsrc.conf ${WRKSRC}/config/paths-pkgsrc.conf
+
+post-build:
+ cd ${WRKSRC}/doc/ && make text
+
+post-install:
+.for manfile1 in ${MANPAGES1}
+ ${INSTALL_MAN} ${WRKSRC}/man/${manfile1} ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/
+.endfor
+.for manfile5 in ${MANPAGES5}
+ ${INSTALL_MAN} ${WRKSRC}/man/${manfile5} ${DESTDIR}${PREFIX}/${PKGMANDIR}/man5/
+.endfor
+.for i in ${TXTDOCFILES}
+ ${INSTALL_DATA} ${WRKSRC}/doc/build/text/${i} ${DESTDIR}${DOCDIR}/
+.endfor
+
+.include "options.mk"
+
+.include "../../lang/python/distutils.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/security/fail2ban/PLIST b/security/fail2ban/PLIST
new file mode 100644
index 00000000000..ac314d9089c
--- /dev/null
+++ b/security/fail2ban/PLIST
@@ -0,0 +1,483 @@
+@comment $NetBSD: PLIST,v 1.1 2015/02/09 10:05:25 nils Exp $
+bin/fail2ban-client
+bin/fail2ban-regex
+bin/fail2ban-server
+bin/fail2ban-testcases
+${PYSITELIB}/${EGG_FILE}/PKG-INFO
+${PYSITELIB}/${EGG_FILE}/SOURCES.txt
+${PYSITELIB}/${EGG_FILE}/dependency_links.txt
+${PYSITELIB}/${EGG_FILE}/top_level.txt
+${PYSITELIB}/fail2ban/__init__.py
+${PYSITELIB}/fail2ban/__init__.pyc
+${PYSITELIB}/fail2ban/__init__.pyo
+${PYSITELIB}/fail2ban/client/__init__.py
+${PYSITELIB}/fail2ban/client/__init__.pyc
+${PYSITELIB}/fail2ban/client/__init__.pyo
+${PYSITELIB}/fail2ban/client/actionreader.py
+${PYSITELIB}/fail2ban/client/actionreader.pyc
+${PYSITELIB}/fail2ban/client/actionreader.pyo
+${PYSITELIB}/fail2ban/client/beautifier.py
+${PYSITELIB}/fail2ban/client/beautifier.pyc
+${PYSITELIB}/fail2ban/client/beautifier.pyo
+${PYSITELIB}/fail2ban/client/configparserinc.py
+${PYSITELIB}/fail2ban/client/configparserinc.pyc
+${PYSITELIB}/fail2ban/client/configparserinc.pyo
+${PYSITELIB}/fail2ban/client/configreader.py
+${PYSITELIB}/fail2ban/client/configreader.pyc
+${PYSITELIB}/fail2ban/client/configreader.pyo
+${PYSITELIB}/fail2ban/client/configurator.py
+${PYSITELIB}/fail2ban/client/configurator.pyc
+${PYSITELIB}/fail2ban/client/configurator.pyo
+${PYSITELIB}/fail2ban/client/csocket.py
+${PYSITELIB}/fail2ban/client/csocket.pyc
+${PYSITELIB}/fail2ban/client/csocket.pyo
+${PYSITELIB}/fail2ban/client/fail2banreader.py
+${PYSITELIB}/fail2ban/client/fail2banreader.pyc
+${PYSITELIB}/fail2ban/client/fail2banreader.pyo
+${PYSITELIB}/fail2ban/client/filterreader.py
+${PYSITELIB}/fail2ban/client/filterreader.pyc
+${PYSITELIB}/fail2ban/client/filterreader.pyo
+${PYSITELIB}/fail2ban/client/jailreader.py
+${PYSITELIB}/fail2ban/client/jailreader.pyc
+${PYSITELIB}/fail2ban/client/jailreader.pyo
+${PYSITELIB}/fail2ban/client/jailsreader.py
+${PYSITELIB}/fail2ban/client/jailsreader.pyc
+${PYSITELIB}/fail2ban/client/jailsreader.pyo
+${PYSITELIB}/fail2ban/exceptions.py
+${PYSITELIB}/fail2ban/exceptions.pyc
+${PYSITELIB}/fail2ban/exceptions.pyo
+${PYSITELIB}/fail2ban/helpers.py
+${PYSITELIB}/fail2ban/helpers.pyc
+${PYSITELIB}/fail2ban/helpers.pyo
+${PYSITELIB}/fail2ban/protocol.py
+${PYSITELIB}/fail2ban/protocol.pyc
+${PYSITELIB}/fail2ban/protocol.pyo
+${PYSITELIB}/fail2ban/server/__init__.py
+${PYSITELIB}/fail2ban/server/__init__.pyc
+${PYSITELIB}/fail2ban/server/__init__.pyo
+${PYSITELIB}/fail2ban/server/action.py
+${PYSITELIB}/fail2ban/server/action.pyc
+${PYSITELIB}/fail2ban/server/action.pyo
+${PYSITELIB}/fail2ban/server/actions.py
+${PYSITELIB}/fail2ban/server/actions.pyc
+${PYSITELIB}/fail2ban/server/actions.pyo
+${PYSITELIB}/fail2ban/server/asyncserver.py
+${PYSITELIB}/fail2ban/server/asyncserver.pyc
+${PYSITELIB}/fail2ban/server/asyncserver.pyo
+${PYSITELIB}/fail2ban/server/banmanager.py
+${PYSITELIB}/fail2ban/server/banmanager.pyc
+${PYSITELIB}/fail2ban/server/banmanager.pyo
+${PYSITELIB}/fail2ban/server/database.py
+${PYSITELIB}/fail2ban/server/database.pyc
+${PYSITELIB}/fail2ban/server/database.pyo
+${PYSITELIB}/fail2ban/server/datedetector.py
+${PYSITELIB}/fail2ban/server/datedetector.pyc
+${PYSITELIB}/fail2ban/server/datedetector.pyo
+${PYSITELIB}/fail2ban/server/datetemplate.py
+${PYSITELIB}/fail2ban/server/datetemplate.pyc
+${PYSITELIB}/fail2ban/server/datetemplate.pyo
+${PYSITELIB}/fail2ban/server/faildata.py
+${PYSITELIB}/fail2ban/server/faildata.pyc
+${PYSITELIB}/fail2ban/server/faildata.pyo
+${PYSITELIB}/fail2ban/server/failmanager.py
+${PYSITELIB}/fail2ban/server/failmanager.pyc
+${PYSITELIB}/fail2ban/server/failmanager.pyo
+${PYSITELIB}/fail2ban/server/failregex.py
+${PYSITELIB}/fail2ban/server/failregex.pyc
+${PYSITELIB}/fail2ban/server/failregex.pyo
+${PYSITELIB}/fail2ban/server/filter.py
+${PYSITELIB}/fail2ban/server/filter.pyc
+${PYSITELIB}/fail2ban/server/filter.pyo
+${PYSITELIB}/fail2ban/server/filtergamin.py
+${PYSITELIB}/fail2ban/server/filtergamin.pyc
+${PYSITELIB}/fail2ban/server/filtergamin.pyo
+${PYSITELIB}/fail2ban/server/filterpoll.py
+${PYSITELIB}/fail2ban/server/filterpoll.pyc
+${PYSITELIB}/fail2ban/server/filterpoll.pyo
+${PYSITELIB}/fail2ban/server/filterpyinotify.py
+${PYSITELIB}/fail2ban/server/filterpyinotify.pyc
+${PYSITELIB}/fail2ban/server/filterpyinotify.pyo
+${PYSITELIB}/fail2ban/server/filtersystemd.py
+${PYSITELIB}/fail2ban/server/filtersystemd.pyc
+${PYSITELIB}/fail2ban/server/filtersystemd.pyo
+${PYSITELIB}/fail2ban/server/jail.py
+${PYSITELIB}/fail2ban/server/jail.pyc
+${PYSITELIB}/fail2ban/server/jail.pyo
+${PYSITELIB}/fail2ban/server/jails.py
+${PYSITELIB}/fail2ban/server/jails.pyc
+${PYSITELIB}/fail2ban/server/jails.pyo
+${PYSITELIB}/fail2ban/server/jailthread.py
+${PYSITELIB}/fail2ban/server/jailthread.pyc
+${PYSITELIB}/fail2ban/server/jailthread.pyo
+${PYSITELIB}/fail2ban/server/mytime.py
+${PYSITELIB}/fail2ban/server/mytime.pyc
+${PYSITELIB}/fail2ban/server/mytime.pyo
+${PYSITELIB}/fail2ban/server/server.py
+${PYSITELIB}/fail2ban/server/server.pyc
+${PYSITELIB}/fail2ban/server/server.pyo
+${PYSITELIB}/fail2ban/server/strptime.py
+${PYSITELIB}/fail2ban/server/strptime.pyc
+${PYSITELIB}/fail2ban/server/strptime.pyo
+${PYSITELIB}/fail2ban/server/ticket.py
+${PYSITELIB}/fail2ban/server/ticket.pyc
+${PYSITELIB}/fail2ban/server/ticket.pyo
+${PYSITELIB}/fail2ban/server/transmitter.py
+${PYSITELIB}/fail2ban/server/transmitter.pyc
+${PYSITELIB}/fail2ban/server/transmitter.pyo
+${PYSITELIB}/fail2ban/tests/__init__.py
+${PYSITELIB}/fail2ban/tests/__init__.pyc
+${PYSITELIB}/fail2ban/tests/__init__.pyo
+${PYSITELIB}/fail2ban/tests/action_d/__init__.py
+${PYSITELIB}/fail2ban/tests/action_d/__init__.pyc
+${PYSITELIB}/fail2ban/tests/action_d/__init__.pyo
+${PYSITELIB}/fail2ban/tests/action_d/test_badips.py
+${PYSITELIB}/fail2ban/tests/action_d/test_badips.pyc
+${PYSITELIB}/fail2ban/tests/action_d/test_badips.pyo
+${PYSITELIB}/fail2ban/tests/action_d/test_smtp.py
+${PYSITELIB}/fail2ban/tests/action_d/test_smtp.pyc
+${PYSITELIB}/fail2ban/tests/action_d/test_smtp.pyo
+${PYSITELIB}/fail2ban/tests/actionstestcase.py
+${PYSITELIB}/fail2ban/tests/actionstestcase.pyc
+${PYSITELIB}/fail2ban/tests/actionstestcase.pyo
+${PYSITELIB}/fail2ban/tests/actiontestcase.py
+${PYSITELIB}/fail2ban/tests/actiontestcase.pyc
+${PYSITELIB}/fail2ban/tests/actiontestcase.pyo
+${PYSITELIB}/fail2ban/tests/banmanagertestcase.py
+${PYSITELIB}/fail2ban/tests/banmanagertestcase.pyc
+${PYSITELIB}/fail2ban/tests/banmanagertestcase.pyo
+${PYSITELIB}/fail2ban/tests/clientreadertestcase.py
+${PYSITELIB}/fail2ban/tests/clientreadertestcase.pyc
+${PYSITELIB}/fail2ban/tests/clientreadertestcase.pyo
+${PYSITELIB}/fail2ban/tests/config/action.d/brokenaction.conf
+${PYSITELIB}/fail2ban/tests/config/fail2ban.conf
+${PYSITELIB}/fail2ban/tests/config/filter.d/simple.conf
+${PYSITELIB}/fail2ban/tests/config/jail.conf
+${PYSITELIB}/fail2ban/tests/databasetestcase.py
+${PYSITELIB}/fail2ban/tests/databasetestcase.pyc
+${PYSITELIB}/fail2ban/tests/databasetestcase.pyo
+${PYSITELIB}/fail2ban/tests/datedetectortestcase.py
+${PYSITELIB}/fail2ban/tests/datedetectortestcase.pyc
+${PYSITELIB}/fail2ban/tests/datedetectortestcase.pyo
+${PYSITELIB}/fail2ban/tests/dummyjail.py
+${PYSITELIB}/fail2ban/tests/dummyjail.pyc
+${PYSITELIB}/fail2ban/tests/dummyjail.pyo
+${PYSITELIB}/fail2ban/tests/failmanagertestcase.py
+${PYSITELIB}/fail2ban/tests/failmanagertestcase.pyc
+${PYSITELIB}/fail2ban/tests/failmanagertestcase.pyo
+${PYSITELIB}/fail2ban/tests/files/action.d/action.py
+${PYSITELIB}/fail2ban/tests/files/action.d/action.pyc
+${PYSITELIB}/fail2ban/tests/files/action.d/action.pyo
+${PYSITELIB}/fail2ban/tests/files/action.d/action_errors.py
+${PYSITELIB}/fail2ban/tests/files/action.d/action_errors.pyc
+${PYSITELIB}/fail2ban/tests/files/action.d/action_errors.pyo
+${PYSITELIB}/fail2ban/tests/files/action.d/action_modifyainfo.py
+${PYSITELIB}/fail2ban/tests/files/action.d/action_modifyainfo.pyc
+${PYSITELIB}/fail2ban/tests/files/action.d/action_modifyainfo.pyo
+${PYSITELIB}/fail2ban/tests/files/action.d/action_noAction.py
+${PYSITELIB}/fail2ban/tests/files/action.d/action_noAction.pyc
+${PYSITELIB}/fail2ban/tests/files/action.d/action_noAction.pyo
+${PYSITELIB}/fail2ban/tests/files/action.d/action_nomethod.py
+${PYSITELIB}/fail2ban/tests/files/action.d/action_nomethod.pyc
+${PYSITELIB}/fail2ban/tests/files/action.d/action_nomethod.pyo
+${PYSITELIB}/fail2ban/tests/files/config/apache-auth/README
+${PYSITELIB}/fail2ban/tests/files/config/apache-auth/basic/authz_owner/.htaccess
+${PYSITELIB}/fail2ban/tests/files/config/apache-auth/basic/authz_owner/.htpasswd
+${PYSITELIB}/fail2ban/tests/files/config/apache-auth/basic/authz_owner/cant_get_me.html
+${PYSITELIB}/fail2ban/tests/files/config/apache-auth/basic/file/.htaccess
+${PYSITELIB}/fail2ban/tests/files/config/apache-auth/basic/file/.htpasswd
+${PYSITELIB}/fail2ban/tests/files/config/apache-auth/digest.py
+${PYSITELIB}/fail2ban/tests/files/config/apache-auth/digest.pyc
+${PYSITELIB}/fail2ban/tests/files/config/apache-auth/digest.pyo
+${PYSITELIB}/fail2ban/tests/files/config/apache-auth/digest/.htaccess
+${PYSITELIB}/fail2ban/tests/files/config/apache-auth/digest/.htpasswd
+${PYSITELIB}/fail2ban/tests/files/config/apache-auth/digest_anon/.htaccess
+${PYSITELIB}/fail2ban/tests/files/config/apache-auth/digest_anon/.htpasswd
+${PYSITELIB}/fail2ban/tests/files/config/apache-auth/digest_time/.htaccess
+${PYSITELIB}/fail2ban/tests/files/config/apache-auth/digest_time/.htpasswd
+${PYSITELIB}/fail2ban/tests/files/config/apache-auth/digest_wrongrelm/.htaccess
+${PYSITELIB}/fail2ban/tests/files/config/apache-auth/digest_wrongrelm/.htpasswd
+${PYSITELIB}/fail2ban/tests/files/config/apache-auth/noentry/.htaccess
+${PYSITELIB}/fail2ban/tests/files/database_v1.db
+${PYSITELIB}/fail2ban/tests/files/filter.d/substition.conf
+${PYSITELIB}/fail2ban/tests/files/filter.d/testcase-common.conf
+${PYSITELIB}/fail2ban/tests/files/filter.d/testcase01.conf
+${PYSITELIB}/fail2ban/tests/files/ignorecommand.py
+${PYSITELIB}/fail2ban/tests/files/ignorecommand.pyc
+${PYSITELIB}/fail2ban/tests/files/ignorecommand.pyo
+${PYSITELIB}/fail2ban/tests/files/logs/3proxy
+${PYSITELIB}/fail2ban/tests/files/logs/apache-auth
+${PYSITELIB}/fail2ban/tests/files/logs/apache-badbots
+${PYSITELIB}/fail2ban/tests/files/logs/apache-botsearch
+${PYSITELIB}/fail2ban/tests/files/logs/apache-modsecurity
+${PYSITELIB}/fail2ban/tests/files/logs/apache-nohome
+${PYSITELIB}/fail2ban/tests/files/logs/apache-noscript
+${PYSITELIB}/fail2ban/tests/files/logs/apache-overflows
+${PYSITELIB}/fail2ban/tests/files/logs/apache-shellshock
+${PYSITELIB}/fail2ban/tests/files/logs/assp
+${PYSITELIB}/fail2ban/tests/files/logs/asterisk
+${PYSITELIB}/fail2ban/tests/files/logs/bsd/syslog-plain.txt
+${PYSITELIB}/fail2ban/tests/files/logs/bsd/syslog-v.txt
+${PYSITELIB}/fail2ban/tests/files/logs/bsd/syslog-vv.txt
+${PYSITELIB}/fail2ban/tests/files/logs/counter-strike
+${PYSITELIB}/fail2ban/tests/files/logs/courier-auth
+${PYSITELIB}/fail2ban/tests/files/logs/courier-smtp
+${PYSITELIB}/fail2ban/tests/files/logs/cyrus-imap
+${PYSITELIB}/fail2ban/tests/files/logs/directadmin
+${PYSITELIB}/fail2ban/tests/files/logs/dovecot
+${PYSITELIB}/fail2ban/tests/files/logs/dropbear
+${PYSITELIB}/fail2ban/tests/files/logs/ejabberd-auth
+${PYSITELIB}/fail2ban/tests/files/logs/exim
+${PYSITELIB}/fail2ban/tests/files/logs/exim-spam
+${PYSITELIB}/fail2ban/tests/files/logs/freeswitch
+${PYSITELIB}/fail2ban/tests/files/logs/groupoffice
+${PYSITELIB}/fail2ban/tests/files/logs/gssftpd
+${PYSITELIB}/fail2ban/tests/files/logs/guacamole
+${PYSITELIB}/fail2ban/tests/files/logs/horde
+${PYSITELIB}/fail2ban/tests/files/logs/kerio
+${PYSITELIB}/fail2ban/tests/files/logs/lighttpd-auth
+${PYSITELIB}/fail2ban/tests/files/logs/monit
+${PYSITELIB}/fail2ban/tests/files/logs/mysqld-auth
+${PYSITELIB}/fail2ban/tests/files/logs/nagios
+${PYSITELIB}/fail2ban/tests/files/logs/named-refused
+${PYSITELIB}/fail2ban/tests/files/logs/nginx-http-auth
+${PYSITELIB}/fail2ban/tests/files/logs/nsd
+${PYSITELIB}/fail2ban/tests/files/logs/openwebmail
+${PYSITELIB}/fail2ban/tests/files/logs/oracleims
+${PYSITELIB}/fail2ban/tests/files/logs/pam-generic
+${PYSITELIB}/fail2ban/tests/files/logs/perdition
+${PYSITELIB}/fail2ban/tests/files/logs/php-url-fopen
+${PYSITELIB}/fail2ban/tests/files/logs/portsentry
+${PYSITELIB}/fail2ban/tests/files/logs/postfix
+${PYSITELIB}/fail2ban/tests/files/logs/postfix-sasl
+${PYSITELIB}/fail2ban/tests/files/logs/proftpd
+${PYSITELIB}/fail2ban/tests/files/logs/pure-ftpd
+${PYSITELIB}/fail2ban/tests/files/logs/qmail
+${PYSITELIB}/fail2ban/tests/files/logs/recidive
+${PYSITELIB}/fail2ban/tests/files/logs/roundcube-auth
+${PYSITELIB}/fail2ban/tests/files/logs/selinux-ssh
+${PYSITELIB}/fail2ban/tests/files/logs/sendmail-auth
+${PYSITELIB}/fail2ban/tests/files/logs/sendmail-reject
+${PYSITELIB}/fail2ban/tests/files/logs/sieve
+${PYSITELIB}/fail2ban/tests/files/logs/sogo-auth
+${PYSITELIB}/fail2ban/tests/files/logs/solid-pop3d
+${PYSITELIB}/fail2ban/tests/files/logs/squid
+${PYSITELIB}/fail2ban/tests/files/logs/squirrelmail
+${PYSITELIB}/fail2ban/tests/files/logs/sshd
+${PYSITELIB}/fail2ban/tests/files/logs/sshd-ddos
+${PYSITELIB}/fail2ban/tests/files/logs/stunnel
+${PYSITELIB}/fail2ban/tests/files/logs/suhosin
+${PYSITELIB}/fail2ban/tests/files/logs/tine20
+${PYSITELIB}/fail2ban/tests/files/logs/uwimap-auth
+${PYSITELIB}/fail2ban/tests/files/logs/vsftpd
+${PYSITELIB}/fail2ban/tests/files/logs/webmin-auth
+${PYSITELIB}/fail2ban/tests/files/logs/wuftpd
+${PYSITELIB}/fail2ban/tests/files/logs/xinetd-fail
+${PYSITELIB}/fail2ban/tests/files/testcase-journal.log
+${PYSITELIB}/fail2ban/tests/files/testcase-multiline.log
+${PYSITELIB}/fail2ban/tests/files/testcase-usedns.log
+${PYSITELIB}/fail2ban/tests/files/testcase01.log
+${PYSITELIB}/fail2ban/tests/files/testcase02.log
+${PYSITELIB}/fail2ban/tests/files/testcase03.log
+${PYSITELIB}/fail2ban/tests/files/testcase04.log
+${PYSITELIB}/fail2ban/tests/filtertestcase.py
+${PYSITELIB}/fail2ban/tests/filtertestcase.pyc
+${PYSITELIB}/fail2ban/tests/filtertestcase.pyo
+${PYSITELIB}/fail2ban/tests/misctestcase.py
+${PYSITELIB}/fail2ban/tests/misctestcase.pyc
+${PYSITELIB}/fail2ban/tests/misctestcase.pyo
+${PYSITELIB}/fail2ban/tests/samplestestcase.py
+${PYSITELIB}/fail2ban/tests/samplestestcase.pyc
+${PYSITELIB}/fail2ban/tests/samplestestcase.pyo
+${PYSITELIB}/fail2ban/tests/servertestcase.py
+${PYSITELIB}/fail2ban/tests/servertestcase.pyc
+${PYSITELIB}/fail2ban/tests/servertestcase.pyo
+${PYSITELIB}/fail2ban/tests/sockettestcase.py
+${PYSITELIB}/fail2ban/tests/sockettestcase.pyc
+${PYSITELIB}/fail2ban/tests/sockettestcase.pyo
+${PYSITELIB}/fail2ban/tests/utils.py
+${PYSITELIB}/fail2ban/tests/utils.pyc
+${PYSITELIB}/fail2ban/tests/utils.pyo
+${PYSITELIB}/fail2ban/version.py
+${PYSITELIB}/fail2ban/version.pyc
+${PYSITELIB}/fail2ban/version.pyo
+man/man1/fail2ban-client.1
+man/man1/fail2ban-regex.1
+man/man1/fail2ban-server.1
+man/man5/jail.conf.5
+share/doc/fail2ban/DEVELOP
+share/doc/fail2ban/FILTERS
+share/doc/fail2ban/README.Solaris
+share/doc/fail2ban/README.md
+share/doc/fail2ban/develop.txt
+share/doc/fail2ban/fail2ban.client.actionreader.txt
+share/doc/fail2ban/fail2ban.client.beautifier.txt
+share/doc/fail2ban/fail2ban.client.configparserinc.txt
+share/doc/fail2ban/fail2ban.client.configreader.txt
+share/doc/fail2ban/fail2ban.client.configurator.txt
+share/doc/fail2ban/fail2ban.client.csocket.txt
+share/doc/fail2ban/fail2ban.client.fail2banreader.txt
+share/doc/fail2ban/fail2ban.client.filterreader.txt
+share/doc/fail2ban/fail2ban.client.jailreader.txt
+share/doc/fail2ban/fail2ban.client.jailsreader.txt
+share/doc/fail2ban/fail2ban.client.txt
+share/doc/fail2ban/fail2ban.exceptions.txt
+share/doc/fail2ban/fail2ban.helpers.txt
+share/doc/fail2ban/fail2ban.protocol.txt
+share/doc/fail2ban/fail2ban.server.action.txt
+share/doc/fail2ban/fail2ban.server.actions.txt
+share/doc/fail2ban/fail2ban.server.asyncserver.txt
+share/doc/fail2ban/fail2ban.server.banmanager.txt
+share/doc/fail2ban/fail2ban.server.database.txt
+share/doc/fail2ban/fail2ban.server.datedetector.txt
+share/doc/fail2ban/fail2ban.server.datetemplate.txt
+share/doc/fail2ban/fail2ban.server.faildata.txt
+share/doc/fail2ban/fail2ban.server.failmanager.txt
+share/doc/fail2ban/fail2ban.server.failregex.txt
+share/doc/fail2ban/fail2ban.server.filter.txt
+share/doc/fail2ban/fail2ban.server.filtergamin.txt
+share/doc/fail2ban/fail2ban.server.filterpoll.txt
+share/doc/fail2ban/fail2ban.server.filterpyinotify.txt
+share/doc/fail2ban/fail2ban.server.filtersystemd.txt
+share/doc/fail2ban/fail2ban.server.jail.txt
+share/doc/fail2ban/fail2ban.server.jails.txt
+share/doc/fail2ban/fail2ban.server.jailthread.txt
+share/doc/fail2ban/fail2ban.server.mytime.txt
+share/doc/fail2ban/fail2ban.server.server.txt
+share/doc/fail2ban/fail2ban.server.strptime.txt
+share/doc/fail2ban/fail2ban.server.ticket.txt
+share/doc/fail2ban/fail2ban.server.transmitter.txt
+share/doc/fail2ban/fail2ban.server.txt
+share/doc/fail2ban/fail2ban.txt
+share/doc/fail2ban/fail2ban.version.txt
+share/doc/fail2ban/filters.txt
+share/doc/fail2ban/index.txt
+share/doc/fail2ban/release.txt
+share/doc/fail2ban/run-rootless.txt
+share/examples/fail2ban/action.d/apf.conf
+share/examples/fail2ban/action.d/badips.conf
+share/examples/fail2ban/action.d/badips.py
+share/examples/fail2ban/action.d/blocklist_de.conf
+share/examples/fail2ban/action.d/bsd-ipfw.conf
+share/examples/fail2ban/action.d/cloudflare.conf
+share/examples/fail2ban/action.d/complain.conf
+share/examples/fail2ban/action.d/dshield.conf
+share/examples/fail2ban/action.d/dummy.conf
+share/examples/fail2ban/action.d/firewallcmd-ipset.conf
+share/examples/fail2ban/action.d/firewallcmd-new.conf
+share/examples/fail2ban/action.d/hostsdeny.conf
+share/examples/fail2ban/action.d/ipfilter.conf
+share/examples/fail2ban/action.d/ipfw.conf
+share/examples/fail2ban/action.d/iptables-allports.conf
+share/examples/fail2ban/action.d/iptables-common.conf
+share/examples/fail2ban/action.d/iptables-ipset-proto4.conf
+share/examples/fail2ban/action.d/iptables-ipset-proto6-allports.conf
+share/examples/fail2ban/action.d/iptables-ipset-proto6.conf
+share/examples/fail2ban/action.d/iptables-multiport-log.conf
+share/examples/fail2ban/action.d/iptables-multiport.conf
+share/examples/fail2ban/action.d/iptables-new.conf
+share/examples/fail2ban/action.d/iptables-xt_recent-echo.conf
+share/examples/fail2ban/action.d/iptables.conf
+share/examples/fail2ban/action.d/mail-buffered.conf
+share/examples/fail2ban/action.d/mail-whois-lines.conf
+share/examples/fail2ban/action.d/mail-whois.conf
+share/examples/fail2ban/action.d/mail.conf
+share/examples/fail2ban/action.d/mynetwatchman.conf
+share/examples/fail2ban/action.d/osx-afctl.conf
+share/examples/fail2ban/action.d/osx-ipfw.conf
+share/examples/fail2ban/action.d/pf.conf
+share/examples/fail2ban/action.d/route.conf
+share/examples/fail2ban/action.d/sendmail-buffered.conf
+share/examples/fail2ban/action.d/sendmail-common.conf
+share/examples/fail2ban/action.d/sendmail-whois-ipjailmatches.conf
+share/examples/fail2ban/action.d/sendmail-whois-ipmatches.conf
+share/examples/fail2ban/action.d/sendmail-whois-lines.conf
+share/examples/fail2ban/action.d/sendmail-whois-matches.conf
+share/examples/fail2ban/action.d/sendmail-whois.conf
+share/examples/fail2ban/action.d/sendmail.conf
+share/examples/fail2ban/action.d/shorewall.conf
+share/examples/fail2ban/action.d/smtp.py
+share/examples/fail2ban/action.d/symbiosis-blacklist-allports.conf
+share/examples/fail2ban/action.d/ufw.conf
+share/examples/fail2ban/action.d/xarf-login-attack.conf
+share/examples/fail2ban/fail2ban.conf
+share/examples/fail2ban/filter.d/3proxy.conf
+share/examples/fail2ban/filter.d/apache-auth.conf
+share/examples/fail2ban/filter.d/apache-badbots.conf
+share/examples/fail2ban/filter.d/apache-botsearch.conf
+share/examples/fail2ban/filter.d/apache-common.conf
+share/examples/fail2ban/filter.d/apache-modsecurity.conf
+share/examples/fail2ban/filter.d/apache-nohome.conf
+share/examples/fail2ban/filter.d/apache-noscript.conf
+share/examples/fail2ban/filter.d/apache-overflows.conf
+share/examples/fail2ban/filter.d/apache-shellshock.conf
+share/examples/fail2ban/filter.d/assp.conf
+share/examples/fail2ban/filter.d/asterisk.conf
+share/examples/fail2ban/filter.d/common.conf
+share/examples/fail2ban/filter.d/counter-strike.conf
+share/examples/fail2ban/filter.d/courier-auth.conf
+share/examples/fail2ban/filter.d/courier-smtp.conf
+share/examples/fail2ban/filter.d/cyrus-imap.conf
+share/examples/fail2ban/filter.d/directadmin.conf
+share/examples/fail2ban/filter.d/dovecot.conf
+share/examples/fail2ban/filter.d/dropbear.conf
+share/examples/fail2ban/filter.d/ejabberd-auth.conf
+share/examples/fail2ban/filter.d/exim-common.conf
+share/examples/fail2ban/filter.d/exim-spam.conf
+share/examples/fail2ban/filter.d/exim.conf
+share/examples/fail2ban/filter.d/freeswitch.conf
+share/examples/fail2ban/filter.d/groupoffice.conf
+share/examples/fail2ban/filter.d/gssftpd.conf
+share/examples/fail2ban/filter.d/guacamole.conf
+share/examples/fail2ban/filter.d/horde.conf
+share/examples/fail2ban/filter.d/kerio.conf
+share/examples/fail2ban/filter.d/lighttpd-auth.conf
+share/examples/fail2ban/filter.d/monit.conf
+share/examples/fail2ban/filter.d/mysqld-auth.conf
+share/examples/fail2ban/filter.d/nagios.conf
+share/examples/fail2ban/filter.d/named-refused.conf
+share/examples/fail2ban/filter.d/nginx-http-auth.conf
+share/examples/fail2ban/filter.d/nsd.conf
+share/examples/fail2ban/filter.d/openwebmail.conf
+share/examples/fail2ban/filter.d/oracleims.conf
+share/examples/fail2ban/filter.d/pam-generic.conf
+share/examples/fail2ban/filter.d/perdition.conf
+share/examples/fail2ban/filter.d/php-url-fopen.conf
+share/examples/fail2ban/filter.d/portsentry.conf
+share/examples/fail2ban/filter.d/postfix-sasl.conf
+share/examples/fail2ban/filter.d/postfix.conf
+share/examples/fail2ban/filter.d/proftpd.conf
+share/examples/fail2ban/filter.d/pure-ftpd.conf
+share/examples/fail2ban/filter.d/qmail.conf
+share/examples/fail2ban/filter.d/recidive.conf
+share/examples/fail2ban/filter.d/roundcube-auth.conf
+share/examples/fail2ban/filter.d/selinux-common.conf
+share/examples/fail2ban/filter.d/selinux-ssh.conf
+share/examples/fail2ban/filter.d/sendmail-auth.conf
+share/examples/fail2ban/filter.d/sendmail-reject.conf
+share/examples/fail2ban/filter.d/sieve.conf
+share/examples/fail2ban/filter.d/sogo-auth.conf
+share/examples/fail2ban/filter.d/solid-pop3d.conf
+share/examples/fail2ban/filter.d/squid.conf
+share/examples/fail2ban/filter.d/squirrelmail.conf
+share/examples/fail2ban/filter.d/sshd-ddos.conf
+share/examples/fail2ban/filter.d/sshd.conf
+share/examples/fail2ban/filter.d/stunnel.conf
+share/examples/fail2ban/filter.d/suhosin.conf
+share/examples/fail2ban/filter.d/tine20.conf
+share/examples/fail2ban/filter.d/uwimap-auth.conf
+share/examples/fail2ban/filter.d/vsftpd.conf
+share/examples/fail2ban/filter.d/webmin-auth.conf
+share/examples/fail2ban/filter.d/wuftpd.conf
+share/examples/fail2ban/filter.d/xinetd-fail.conf
+share/examples/fail2ban/jail.conf
+share/examples/fail2ban/paths-common.conf
+share/examples/fail2ban/paths-debian.conf
+share/examples/fail2ban/paths-fedora.conf
+share/examples/fail2ban/paths-freebsd.conf
+share/examples/fail2ban/paths-netbsd.conf
+share/examples/fail2ban/paths-osx.conf
+share/examples/fail2ban/paths-pkgsrc.conf
+@pkgdir share/examples/fail2ban/jail.d
+@pkgdir share/examples/fail2ban/fail2ban.d
+@pkgdir etc/fail2ban/filter.d
+@pkgdir etc/fail2ban/action.d
diff --git a/security/fail2ban/distinfo b/security/fail2ban/distinfo
new file mode 100644
index 00000000000..171abd9c20a
--- /dev/null
+++ b/security/fail2ban/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1 2015/02/09 10:05:25 nils Exp $
+
+SHA1 (fail2ban-0.9.1.zip) = 1b402896454b46ee92fab09f2126a93c02b16ceb
+RMD160 (fail2ban-0.9.1.zip) = aad8d5d49bfd5547e528b283ccc764d4916fa1fb
+Size (fail2ban-0.9.1.zip) = 469965 bytes
+SHA1 (patch-doc_Makefile) = b17d28b1ef79b0cf86e4cd5d6eaa3e3d1bc2da39
diff --git a/security/fail2ban/files/fail2ban.sh b/security/fail2ban/files/fail2ban.sh
new file mode 100644
index 00000000000..fc999022416
--- /dev/null
+++ b/security/fail2ban/files/fail2ban.sh
@@ -0,0 +1,32 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# PROVIDE: fail2ban
+# REQUIRE: NETWORKING syslogd
+#
+# Add the following lines to /etc/rc.conf to enable fail2ban:
+# fail2ban=YES
+# fail2ban_flags="<set as needed>"
+
+. /etc/rc.subr
+
+name="@PKGBASE@"
+rcvar=${name}
+command="@PREFIX@/bin/fail2ban-server"
+command_interpreter="@PYTHON_INTERP@"
+client="@PREFIX@/bin/fail2ban-client"
+pidfile="@VARBASE@/${name}/${name}.pid"
+extra_commands="reload"
+
+load_rc_config ${name}
+
+start_precmd="fail2ban_precmd"
+start_cmd="${client} ${fail2ban_flags} start"
+stop_cmd="${client} ${fail2ban_flags} stop"
+status_cmd="${client} ${fail2ban_flags} status"
+reload_cmd="${client} ${fail2ban_flags} reload"
+
+fail2ban_precmd () {
+ mkdir -p /var/run/fail2ban
+}
+
+run_rc_command "$1"
diff --git a/security/fail2ban/files/paths-netbsd.conf b/security/fail2ban/files/paths-netbsd.conf
new file mode 100755
index 00000000000..ddb4fc58eaf
--- /dev/null
+++ b/security/fail2ban/files/paths-netbsd.conf
@@ -0,0 +1,28 @@
+# NetBSD
+
+[INCLUDES]
+
+before = paths-common.conf
+
+after = paths-overrides.local
+
+
+[DEFAULT]
+
+syslog_mail = /var/log/maillog
+
+syslog_mail_warn = /var/log/maillog
+
+syslog_authpriv = /var/log/authlog
+
+syslog_ftp = /var/log/xferlog
+
+syslog_daemon = /var/log/messages
+
+syslog_local0 = /var/log/messages
+
+# Linux things
+# we fake to avoid parse error in startups
+
+auditd_log = /dev/null
+
diff --git a/security/fail2ban/files/paths-pkgsrc.conf b/security/fail2ban/files/paths-pkgsrc.conf
new file mode 100755
index 00000000000..e70c75ecd4f
--- /dev/null
+++ b/security/fail2ban/files/paths-pkgsrc.conf
@@ -0,0 +1,20 @@
+# pkgsrc
+
+[INCLUDES]
+
+#before = paths-distro.conf
+
+after = paths-overrides.local
+
+
+[DEFAULT]
+
+apache_error_log = @VARBASE@/log/httpd/error_log
+
+apache_access_log = @VARBASE@/log/httpd/access_log
+
+
+nginx_error_log = @VARBASE@/log/nginx/error.log
+
+nginx_access_log = @VARBASE@/log/nginx/access.log
+
diff --git a/security/fail2ban/options.mk b/security/fail2ban/options.mk
new file mode 100644
index 00000000000..214d79847b2
--- /dev/null
+++ b/security/fail2ban/options.mk
@@ -0,0 +1,13 @@
+# $NetBSD: options.mk,v 1.1 2015/02/09 10:05:25 nils Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.fail2ban
+PKG_SUPPORTED_OPTIONS= gamin
+
+.include "../../mk/bsd.options.mk"
+
+###
+### Use Gamin
+###
+.if !empty(PKG_OPTIONS:Mgamin)
+DEPENDS+= gamin>=0.0.21:../../sysutils/gamin
+.endif
diff --git a/security/fail2ban/patches/patch-doc_Makefile b/security/fail2ban/patches/patch-doc_Makefile
new file mode 100644
index 00000000000..af820179a7e
--- /dev/null
+++ b/security/fail2ban/patches/patch-doc_Makefile
@@ -0,0 +1,22 @@
+$NetBSD: patch-doc_Makefile,v 1.1 2015/02/09 10:05:25 nils Exp $
+
+removed non-working check for sphinx and corrected sphinx-build name
+
+--- doc/Makefile.orig 2014-10-28 01:49:40.000000000 +0000
++++ doc/Makefile
+@@ -3,14 +3,10 @@
+
+ # You can set these variables from the command line.
+ SPHINXOPTS =
+-SPHINXBUILD = sphinx-build2
++SPHINXBUILD = sphinx-build
+ PAPER =
+ BUILDDIR = ""build
+
+-# User-friendly check for sphinx-build2
+-ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
+-$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
+-endif
+
+ # Internal variables.
+ PAPEROPT_a4 = -D latex_paper_size=a4