# -*- 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

PortSystem              1.0

name                    tcpxtract
version                 1.0.1
revision                1
checksums               rmd160  0577bdaa1ab57457c805fb49376aa305ae4d9457 \
                        sha256  613aa6be39772b236d89c5ef377c27b10ac44d1c34731105599283862dfc05be \
                        size    127102

categories              net security
license                 GPL-2+
maintainers             nomaintainer

description             tool for extracting files from network traffic based \
                        on file signatures

long_description        ${name} is a ${description}. Extracting files based \
                        on file type headers and footers (sometimes called \
                        \"carving\") is an age old data recovery technique. \
                        Tools like Foremost employ this technique to recover \
                        files from arbitrary data streams. Tcpxtract uses \
                        this technique specifically for the application of \
                        intercepting files transmitted across a network. \
                        Other tools that fill a similar need are driftnet \
                        and EtherPEG. driftnet and EtherPEG are tools for \
                        monitoring and extracting graphic files on a network \
                        and are commonly used by network administrators to \
                        police the Internet activity of their users. The \
                        major limitations of driftnet and EtherPEG are that \
                        they only support three filetypes with no easy way \
                        of adding more. The search technique they use is \
                        also not scalable and does not search across packet \
                        boundaries.

homepage                https://tcpxtract.sourceforge.net
master_sites            sourceforge:project/${name}/${name}/${version}

depends_build           port:flex
depends_lib             port:libpcap

patchfiles-append       implicit.patch

configure.args-append   --mandir=${prefix}/share/man

post-destroot {
    move ${destroot}${prefix}/etc/tcpxtract.conf ${destroot}${prefix}/etc/tcpxtract.conf.sample
}

post-activate {
    if {![file exists ${prefix}/etc/tcpxtract.conf]} {
        copy ${prefix}/etc/tcpxtract.conf.sample ${prefix}/etc/tcpxtract.conf
    }
}

notes "
To configure ${name}, edit ${prefix}/etc/${name}.conf
"
