# $Id: Portfile 92837 2012-05-09 00:51:48Z ryandesign@macports.org $

PortSystem 1.0

name               medusa
version            2.0
revision           2
categories         security net
platforms          darwin
maintainers        pmq openmaintainer

description        Medusa is a speedy, massively parallel, modular, login brute-forcer
long_description   Medusa is intended to be a speedy, massively parallel, \
		   modular, login brute-forcer. The goal is to support as \
		   many services which allow remote authentication as possible. \
		   The author considers following items as some of the key \
		   features of this application. Thread-based parallel testing: \
		   Brute-force testing can be performed against multiple hosts, \
		   users or passwords concurrently. Flexible user input: Target \
		   information (host/user/password) can be specified in a variety \
		   of ways. For example, each item can be either a single entry \
		   or a file containing multiple entries. Additionally, a \
		   combination file format allows the user to refine their target \
		   listing. Modular design: Each service module exists as an \
		   independent .mod file. This means that no modifications are \
		   necessary to the core application in order to extend the \
		   supported list of services for brute-forcing.

homepage           http://www.foofus.net/jmk/medusa/medusa.html
master_sites       http://www.foofus.net/jmk/tools freebsd:
checksums           md5     75df63e1cd3b0d18fd2b017f12fc51d7 \
                    sha1    bdea5e5c81d588af35e564a54d9eb2b77eb92371 \
                    rmd160  28e27525d704621c1d897c368a58080dac12be45
# Remove this line at next version update
dist_subdir        ${name}/${version}_0

depends_lib        port:openssl port:libssh2 port:pcre

livecheck.type	   regex
livecheck.url      ${homepage}
livecheck.regex	   "${name}-(.*?).tar.gz"

use_autoreconf      yes

patchfiles          patch-configure.in.diff

post-patch {
    reinplace "s|@PREFIX@|${prefix}|g" ${worksrcpath}/configure.in
}

# --enable-untested
# hopefully the mod-path will be superfluous next release
configure.args     --with-default-mod-path=${prefix}/lib/medusa/modules \
                   --enable-module-svn=no \
                   --enable-module-postgres=no

# All modules end up linked with libsvn_client-1.0.dylib, even if the svn
# module was not requested.
default_variants +subversion
if {![variant_isset subversion]} {
    variant_set subversion
}

variant subversion description "Build the Subversion module" {
    configure.args-delete --enable-module-svn=no
    configure.args-append --enable-module-svn=yes \
                          --with-subversion=${prefix}
    depends_lib-append port:subversion
}

variant postgresql description "Build the PostgreSQL module" {
    configure.args-delete --enable-module-postgres=no
    configure.args-append --enable-module-postgres=yes
    depends_lib-append port:postgresql83
}

# FIXME check building afpfs-ng, ncp
