blob: 9abd08baa09144a8c63842bd2715fba0d5a2e258 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
{ 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 = stdenv.lib.platforms.linux;
};
}
|