diff options
-rw-r--r-- | pkgs/tools/security/fail2ban/default.nix | 53 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 5 |
2 files changed, 56 insertions, 2 deletions
diff --git a/pkgs/tools/security/fail2ban/default.nix b/pkgs/tools/security/fail2ban/default.nix new file mode 100644 index 0000000000000..b600f71c7c93c --- /dev/null +++ b/pkgs/tools/security/fail2ban/default.nix @@ -0,0 +1,53 @@ +{ stdenv, fetchurl, pythonPackages, unzip }: + +let version = "0.8.6"; in + +pythonPackages.buildPythonPackage { + name = "fail2ban-${version}"; + + src = fetchurl { + url = "https://github.com/fail2ban/fail2ban/zipball/${version}"; + name = "fail2ban-${version}.zip"; + sha256 = "1linfz5qxmm4225lzi9vawsa79y41d3rcdahvrzlyqlhb02ipd55"; + }; + + buildInputs = [ unzip ]; + + preConfigure = + '' + substituteInPlace setup.cfg \ + --replace /usr $out + + substituteInPlace setup.py \ + --replace /etc $out/etc \ + --replace /var $TMPDIR/var \ + + for i in fail2ban-client fail2ban-regex fail2ban-server; do + substituteInPlace $i \ + --replace /usr/share/fail2ban $out/share/fail2ban + done + + for i in config/action.d/sendmail*.conf; do + substituteInPlace $i \ + --replace /usr/sbin/sendmail sendmail \ + --replace /usr/bin/whois whois + done + ''; + + doCheck = false; + + installCommand = + '' + python setup.py install --prefix=$out + + # A wrapper is not needed. + wrapPythonProgram() { true; } + ''; + + meta = { + homepage = http://www.fail2ban.org/; + description = "A program that scans log files for repeated failing login attempts and bans IP addresses"; + license = stdenv.lib.licenses.gpl2Plus; + maintainers = [ stdenv.lib.maintainers.eelco ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e0c8cff481cb4..c8c218812b734 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -662,10 +662,11 @@ let expect = callPackage ../tools/misc/expect { }; + fail2ban = callPackage ../tools/security/fail2ban { }; + fakeroot = callPackage ../tools/system/fakeroot { }; - fcron = callPackage ../tools/system/fcron { # see also cron - }; + fcron = callPackage ../tools/system/fcron { }; fdisk = callPackage ../tools/system/fdisk { }; |