aboutsummaryrefslogtreecommitdiffstats
path: root/net-mgmt
diff options
context:
space:
mode:
authorfarrokhi <farrokhi@FreeBSD.org>2015-08-31 17:29:17 +0800
committerfarrokhi <farrokhi@FreeBSD.org>2015-08-31 17:29:17 +0800
commit18c745714b4deb2727b648b1d748221366b333f4 (patch)
tree96c3699558e3f365020d21e68d1a1832ee758755 /net-mgmt
parentffef5fd317ed0ed236d779be00cfb0f66062f4d7 (diff)
downloadfreebsd-ports-gnome-18c745714b4deb2727b648b1d748221366b333f4.tar.gz
freebsd-ports-gnome-18c745714b4deb2727b648b1d748221366b333f4.tar.zst
freebsd-ports-gnome-18c745714b4deb2727b648b1d748221366b333f4.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
Diffstat (limited to 'net-mgmt')
-rw-r--r--net-mgmt/Makefile1
-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
7 files changed, 132 insertions, 0 deletions
diff --git a/net-mgmt/Makefile b/net-mgmt/Makefile
index 4dd337fdbb44..a4a574e405b1 100644
--- a/net-mgmt/Makefile
+++ b/net-mgmt/Makefile
@@ -57,6 +57,7 @@
SUBDIR += etherape
SUBDIR += ettercap
SUBDIR += ezradius
+ SUBDIR += fastnetmon
SUBDIR += fetchconfig
SUBDIR += flow-extract
SUBDIR += flow-tools
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