aboutsummaryrefslogtreecommitdiff
path: root/net-mgmt/fastnetmon
diff options
context:
space:
mode:
authorBabak Farrokhi <farrokhi@FreeBSD.org>2015-08-31 09:29:17 +0000
committerBabak Farrokhi <farrokhi@FreeBSD.org>2015-08-31 09:29:17 +0000
commit17939f28a0c1f7b493de9a6cd7a10350e50f4f8d (patch)
tree96c3699558e3f365020d21e68d1a1832ee758755 /net-mgmt/fastnetmon
parent47f4599d9e5365b06efdefc463ca3e961c91a122 (diff)
downloadports-17939f28a0c1f7b493de9a6cd7a10350e50f4f8d.tar.gz
ports-17939f28a0c1f7b493de9a6cd7a10350e50f4f8d.zip
New Port: net-mgmt/fastnetmon 1.1.2 - high performance DoS/DDoS load analyzer
Approved by: mat Differential Revision: https://reviews.freebsd.org/D3532
Notes
Notes: svn path=/head/; revision=395657
Diffstat (limited to 'net-mgmt/fastnetmon')
-rw-r--r--net-mgmt/fastnetmon/Makefile46
-rw-r--r--net-mgmt/fastnetmon/distinfo2
-rw-r--r--net-mgmt/fastnetmon/files/fastnetmon.in28
-rw-r--r--net-mgmt/fastnetmon/files/patch-src_CMakeLists.txt46
-rw-r--r--net-mgmt/fastnetmon/pkg-descr4
-rw-r--r--net-mgmt/fastnetmon/pkg-plist5
6 files changed, 131 insertions, 0 deletions
diff --git a/net-mgmt/fastnetmon/Makefile b/net-mgmt/fastnetmon/Makefile
new file mode 100644
index 000000000000..a8bc91365127
--- /dev/null
+++ b/net-mgmt/fastnetmon/Makefile
@@ -0,0 +1,46 @@
+# Created by: Babak Farrokhi <farrokhi@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= fastnetmon
+PORTVERSION= 1.1.2
+DISTVERSIONPREFIX= v
+CATEGORIES= net-mgmt security
+
+MAINTAINER= farrokhi@FreeBSD.org
+COMMENT= Very fast DDoS analyzer with sflow/netflow/mirror support
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libboost_regex.so:${PORTSDIR}/devel/boost-libs \
+ liblog4cpp.so:${PORTSDIR}/devel/log4cpp
+
+USE_GITHUB= yes
+GH_ACCOUNT= FastVPSEestiOu
+
+USERS= ${PORTNAME}
+GROUPS= ${PORTNAME}
+
+USES= cmake
+CMAKE_SOURCE_PATH= ${WRKSRC}/src
+
+USE_RC_SUBR= ${PORTNAME}
+
+OPTIONS_DEFINE= DOCS
+
+PORTDOCS= *
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' ${WRKSRC}/src/CMakeLists.txt
+ @${REINPLACE_CMD} -e 's|/usr/local|${PREFIX}|; \
+ s|/var/run|&/fastnetmon|g; s|/var/log|&/fastnetmon|g; \
+ s|"/etc/|"${PREFIX}/etc/|g; s|/root/fastnetmon|${DATADIR}|g' \
+ ${WRKSRC}/src/fastnetmon.conf ${WRKSRC}/src/fastnetmon.cpp
+
+post-install:
+ ${MV} ${STAGEDIR}${PREFIX}/etc/${PORTNAME}.conf \
+ ${STAGEDIR}${PREFIX}/etc/${PORTNAME}.conf.sample
+ cd ${WRKSRC} && ${COPYTREE_SHARE} "README.md docs" ${STAGEDIR}${DOCSDIR}
+ ${MKDIR} ${STAGEDIR}/var/run/fastnetmon ${STAGEDIR}/var/log/fastnetmon
+
+.include <bsd.port.mk>
diff --git a/net-mgmt/fastnetmon/distinfo b/net-mgmt/fastnetmon/distinfo
new file mode 100644
index 000000000000..55eea1b03585
--- /dev/null
+++ b/net-mgmt/fastnetmon/distinfo
@@ -0,0 +1,2 @@
+SHA256 (FastVPSEestiOu-fastnetmon-v1.1.2_GH0.tar.gz) = f2c554aa402e608b9837132b17da79b49f1b998c17934344779ddc9a397261b4
+SIZE (FastVPSEestiOu-fastnetmon-v1.1.2_GH0.tar.gz) = 6072730
diff --git a/net-mgmt/fastnetmon/files/fastnetmon.in b/net-mgmt/fastnetmon/files/fastnetmon.in
new file mode 100644
index 000000000000..52f1236bfbd6
--- /dev/null
+++ b/net-mgmt/fastnetmon/files/fastnetmon.in
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+# PROVIDE: fastnetmon
+# REQUIRE: NETWORKING SERVERS LOGIN
+# BEFORE: securelevel
+# KEYWORD: shutdown
+
+# Add the following line to /etc/rc.conf to enable 'fastnetmon':
+#
+# fastnetmon_enable="YES"
+#
+
+. /etc/rc.subr
+
+name=fastnetmon
+desc="fastnetmon startup script"
+rcvar=fastnetmon_enable
+
+load_rc_config "$name"
+
+: ${fastnetmon_enable:=NO}
+: ${fastnetmon_user:=fastnetmon}
+: ${fastnetmon_flags:=--daemonize}
+
+command=%%PREFIX%%/bin/fastnetmon
+pidfile=/var/run/fastnetmon/$name.pid
+
+run_rc_command "$1"
diff --git a/net-mgmt/fastnetmon/files/patch-src_CMakeLists.txt b/net-mgmt/fastnetmon/files/patch-src_CMakeLists.txt
new file mode 100644
index 000000000000..b7d89401fa9d
--- /dev/null
+++ b/net-mgmt/fastnetmon/files/patch-src_CMakeLists.txt
@@ -0,0 +1,46 @@
+--- src/CMakeLists.txt.orig 2015-06-02 16:43:16 UTC
++++ src/CMakeLists.txt
+@@ -14,8 +14,8 @@ set (Tutorial_VERSION_MAJOR 1)
+ set (Tutorial_VERSION_MINOR 1)
+
+ # It's pretty safe and provide big speedup for our packet processor and patricia code
+-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 ")
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
++set(CMAKE_C_FLAGS_RELEASE "-O2")
++set(CMAKE_CXX_FLAGS_RELEASE "-O2")
+
+ set(FASTNETMON_PROFILER OFF)
+
+@@ -91,11 +91,13 @@ target_link_libraries(netflow_plugin ipf
+ add_library(pcap_plugin STATIC pcap_plugin/pcap_collector.cpp)
+ target_link_libraries(pcap_plugin pcap)
+
++find_package(Threads)
++
+ if (ENABLE_PFRING_SUPPORT)
+ add_library(pfring_plugin STATIC pfring_plugin/pfring_collector.cpp)
+ target_link_libraries(pfring_plugin ${PFRING_LIBRARIES})
+ target_link_libraries(pfring_plugin numa)
+- target_link_libraries(pfring_plugin pthread)
++ target_link_libraries(pfring_plugin ${CMAKE_THREAD_LIBS_INIT})
+ endif()
+
+ # example plugin
+@@ -169,7 +171,7 @@ endif()
+
+ target_link_libraries(fastnetmon ${LOG4CPP_LIBRARY_PATH})
+
+-target_link_libraries(fastnetmon pthread)
++target_link_libraries(fastnetmon ${CMAKE_THREAD_LIBS_INIT})
+
+ # Our libs
+ target_link_libraries(fastnetmon patricia)
+@@ -217,6 +219,8 @@ endif()
+ install(TARGETS fastnetmon DESTINATION bin)
+ install(TARGETS fastnetmon_client DESTINATION bin)
+
++install(FILES fastnetmon.conf DESTINATION etc)
++
+ # Configure cpack package builder
+ # Run it with: cd build; cpack -G DEB ..
+ set(CPACK_PACKAGE_NAME "fastnetmon")
diff --git a/net-mgmt/fastnetmon/pkg-descr b/net-mgmt/fastnetmon/pkg-descr
new file mode 100644
index 000000000000..bdfa1671ece2
--- /dev/null
+++ b/net-mgmt/fastnetmon/pkg-descr
@@ -0,0 +1,4 @@
+FastNetMon - A high performance DoS/DDoS load analyzer built on top of
+multiple packet capture engines (NetFlow, IPFIX, sFLOW, netmap, PF_RING, PCAP).
+
+WWW: https://github.com/FastVPSEestiOu/fastnetmon
diff --git a/net-mgmt/fastnetmon/pkg-plist b/net-mgmt/fastnetmon/pkg-plist
new file mode 100644
index 000000000000..3e21d0238371
--- /dev/null
+++ b/net-mgmt/fastnetmon/pkg-plist
@@ -0,0 +1,5 @@
+bin/fastnetmon
+bin/fastnetmon_client
+@sample etc/fastnetmon.conf.sample
+@dir(fastnetmon,fastnetmon) /var/run/fastnetmon
+@dir(fastnetmon,fastnetmon) /var/log/fastnetmon