nixpkgs/pkgs/servers/http/apache-modules/mod_evasive/default.nix
2021-01-15 14:24:03 +07:00

36 lines
963 B
Nix

{ lib, stdenv, fetchurl, apacheHttpd }:
if lib.versionAtLeast (lib.getVersion apacheHttpd) "2.4" then
throw "mod_evasive is not supported on Apache httpd 2.4"
else
stdenv.mkDerivation {
name = "mod_evasive-1.10.1";
src = fetchurl {
url = "http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz";
sha256 = "0rsnx50rjv6xygbp9r0gyss7xqdkcb0hy3wh9949jf1im8wm3i07";
};
buildInputs = [ apacheHttpd ];
buildPhase = ''
export APACHE_LIBEXECDIR=$out/modules
export makeFlagsArray=(APACHE_LIBEXECDIR=$out/modules)
apxs -ca mod_evasive20.c
'';
installPhase = ''
mkdir -p $out/modules
cp .libs/mod_evasive20.so $out/modules
'';
meta = {
homepage = "http://www.zdziarski.com/blog/?page_id=442";
description = "Evasive maneuvers module for Apache to provide evasive action in the event of an HTTP DoS or DDoS attack or brute force attack";
platforms = lib.platforms.linux;
};
}