# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# $Id: Portfile 92270 2012-04-23 16:05:21Z jmr@macports.org $

PortSystem 1.0

name		mod_evasive
version		1.10.1
categories	www
platforms	darwin
maintainers	touche.fr.st:julien.touche
description	apache module against DDoS
long_description	mod_evasive is an evasive maneuvers module for \
			Apache to provide evasive action in the event of an \
			HTTP DoS or DDoS attack or brute force attack. It is \
			also designed to be a detection and network management \
			tool, and can be easily configured to talk to \
			ipchains, firewalls, routers, and etcetera. \
			mod_evasive presently reports abuses via email and \
			syslog facilities.

homepage	http://www.zdziarski.com/blog/?page_id=442
master_sites	http://www.zdziarski.com/blog/wp-content/uploads/2010/02/
distname	${name}_${version}
checksums   sha1    7240481f9f7b0f80693787a73a2bfd9bfec6f274 \
            rmd160  1ce741bf3f3bbc0cc81a9aa73311b08a68bd454e

set worksrcdir	${name}
set apachedir   apache2
set cversion    "20"

use_configure	no

variant apache1 conflicts apache2 {
    depends_lib	port:apache
    set apachedir apache
    set cversion ""
    build.args	-c -o ${name}.so ${name}.c
}

variant apache2 conflicts apache1 {
    depends_lib	port:apache2
    set apachedir apache2
    set cversion "20"
    build.args	-c -o ${name}${cversion}.so ${name}${cversion}.c
}

build.cmd	${prefix}/${apachedir}/bin/apxs
build.target

destroot.violate_mtree	yes

destroot {
	xinstall -m 755 -d \
	    ${destroot}${prefix}/${apachedir}/modules \
		${destroot}${prefix}/share/doc/${name}
	xinstall -m 644 ${worksrcpath}/.libs/${name}${cversion}.so \
		${destroot}${prefix}/apache2/modules
	xinstall -m 644 -W ${worksrcpath} CHANGELOG LICENSE README \
		${destroot}${prefix}/share/doc/${name}
}

post-destroot {
	exec    ${prefix}/${apachedir}/bin/apxs -e \
            -S SYSCONFDIR=${prefix}/${apachedir}/conf/standard \
            -S TARGET=00000-dso \
            -n "evasive_module" \
            -a modules/mod_evasive${cversion}.so \
            2>@1
    exec    sed -n -E \
            -e "/IfModule mod_evasive${cversion}.c/,/IfModule/p" \
            ${worksrcpath}/README \
            > ${prefix}/${apachedir}/conf/extra/httpd-evasive.conf
    reinplace   "s|mod_evasive${cversion}.c|evasive_module|" \
                ${prefix}/${apachedir}/conf/extra/httpd-evasive.conf
}

if { ![variant_isset apache1] } { default_variants +apache2 }
