summaryrefslogtreecommitdiff
path: root/net/ntopng
diff options
context:
space:
mode:
authoradam <adam@pkgsrc.org>2016-04-08 16:59:07 +0000
committeradam <adam@pkgsrc.org>2016-04-08 16:59:07 +0000
commit583cb382761a25b729ee2102af72f27325a9a43c (patch)
treeefbc684a51dab23e4711cc5bd74ef3f0506c92ae /net/ntopng
parentd57147d581a02c65dac0fc6f6184ff35bf437c24 (diff)
downloadpkgsrc-583cb382761a25b729ee2102af72f27325a9a43c.tar.gz
ntopng is the next generation version of the original ntop, a network traffic
probe that shows the network usage, similar to what the popular top Unix command does. ntopng is based on libpcap and it has been written in a portable way in order to virtually run on every Unix platform, MacOSX and on Windows as well. ntopng users can use a a web browser to navigate through ntop (that acts as a web server) traffic information and get a dump of the network status. In the latter case, ntopng can be seen as a simple RMON-like agent with an embedded web interface. The use of: * a web interface. * limited configuration and administration via the web interface. * reduced CPU and memory usage (they vary according to network size and traffic)
Diffstat (limited to 'net/ntopng')
-rw-r--r--net/ntopng/DESCR14
-rw-r--r--net/ntopng/Makefile44
-rw-r--r--net/ntopng/PLIST358
-rw-r--r--net/ntopng/distinfo12
-rw-r--r--net/ntopng/files/ntopng.sh26
-rw-r--r--net/ntopng/patches/patch-Makefile.in23
-rw-r--r--net/ntopng/patches/patch-configure.seed65
-rw-r--r--net/ntopng/patches/patch-include_ntop__includes.h15
-rw-r--r--net/ntopng/patches/patch-src_PacketDumperTuntap.cpp15
-rw-r--r--net/ntopng/patches/patch-src_Redis.cpp20
-rw-r--r--net/ntopng/patches/patch-third-party_mongoose_mongoose.c141
11 files changed, 733 insertions, 0 deletions
diff --git a/net/ntopng/DESCR b/net/ntopng/DESCR
new file mode 100644
index 00000000000..c9d1f007921
--- /dev/null
+++ b/net/ntopng/DESCR
@@ -0,0 +1,14 @@
+ntopng is the next generation version of the original ntop, a network traffic
+probe that shows the network usage, similar to what the popular top Unix
+command does. ntopng is based on libpcap and it has been written in a portable
+way in order to virtually run on every Unix platform, MacOSX and on Windows as
+well.
+
+ntopng users can use a a web browser to navigate through ntop (that acts as
+a web server) traffic information and get a dump of the network status. In
+the latter case, ntopng can be seen as a simple RMON-like agent with
+an embedded web interface. The use of:
+
+* a web interface.
+* limited configuration and administration via the web interface.
+* reduced CPU and memory usage (they vary according to network size and traffic)
diff --git a/net/ntopng/Makefile b/net/ntopng/Makefile
new file mode 100644
index 00000000000..221bca03e6a
--- /dev/null
+++ b/net/ntopng/Makefile
@@ -0,0 +1,44 @@
+# $NetBSD: Makefile,v 1.1 2016/04/08 16:59:07 adam Exp $
+
+DISTNAME= ntopng-2.2
+CATEGORIES= net
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=ntop/}
+
+MAINTAINER= adam@NetBSD.org
+HOMEPAGE= http://www.ntop.org/
+COMMENT= Network traffic probe
+LICENSE= gnu-gpl-v3
+
+DEPENDS+= redis-[0-9]*:../../databases/redis
+
+USE_LANGUAGES= c c++
+USE_LIBTOOL= yes
+USE_TOOLS+= autoconf automake gmake pkg-config
+GNU_CONFIGURE= yes
+
+RCD_SCRIPTS+= ntopng
+
+SUBST_CLASSES+= fix-vers
+SUBST_STAGE.fix-vers= pre-configure
+SUBST_MESSAGE.fix-vers= Setting package version.
+SUBST_FILES.fix-vers= configure.seed
+SUBST_SED.fix-vers= -e 's,@VERSION@,${PKGVERSION},g'
+SUBST_SED.fix-vers+= -e 's,@SHORT_VERSION@,${PKGVERSION_NOREV},g'
+
+pre-configure:
+ cd ${WRKSRC} && cp configure.seed configure.ac && autoreconf -fiv
+
+.include "../../databases/hiredis/buildlink3.mk"
+.include "../../databases/rrdtool/buildlink3.mk"
+.include "../../databases/sqlite3/buildlink3.mk"
+.include "../../lang/LuaJIT2/buildlink3.mk"
+.include "../../net/GeoIP/buildlink3.mk"
+.include "../../net/libpcap/buildlink3.mk"
+.include "../../net/ndpi/buildlink3.mk"
+.include "../../net/zeromq/buildlink3.mk"
+.include "../../security/gnutls/buildlink3.mk"
+.include "../../security/libgcrypt/buildlink3.mk"
+.include "../../www/curl/buildlink3.mk"
+.include "../../mk/dlopen.buildlink3.mk"
+.include "../../mk/mysql.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/net/ntopng/PLIST b/net/ntopng/PLIST
new file mode 100644
index 00000000000..45a23576a23
--- /dev/null
+++ b/net/ntopng/PLIST
@@ -0,0 +1,358 @@
+@comment $NetBSD: PLIST,v 1.1 2016/04/08 16:59:07 adam Exp $
+bin/ntopng
+man/man8/ntopng.8
+share/ntopng/httpdocs/bootstrap/css/bootstrap-theme.css
+share/ntopng/httpdocs/bootstrap/css/bootstrap-theme.css.map
+share/ntopng/httpdocs/bootstrap/css/bootstrap.css
+share/ntopng/httpdocs/bootstrap/css/bootstrap.css.map
+share/ntopng/httpdocs/bootstrap/fonts/glyphicons-halflings-regular.eot
+share/ntopng/httpdocs/bootstrap/fonts/glyphicons-halflings-regular.svg
+share/ntopng/httpdocs/bootstrap/fonts/glyphicons-halflings-regular.ttf
+share/ntopng/httpdocs/bootstrap/fonts/glyphicons-halflings-regular.woff
+share/ntopng/httpdocs/bootstrap/img/glyphicons-halflings-white.png
+share/ntopng/httpdocs/bootstrap/img/glyphicons-halflings.png
+share/ntopng/httpdocs/bootstrap/js/bootstrap.js
+share/ntopng/httpdocs/css/Rickshaw/detail.css
+share/ntopng/httpdocs/css/Rickshaw/graph.css
+share/ntopng/httpdocs/css/Rickshaw/legend.css
+share/ntopng/httpdocs/css/bootstrap-datetimepicker.css
+share/ntopng/httpdocs/css/bootstrap-duallistbox.css
+share/ntopng/httpdocs/css/bootstrap-slider.css
+share/ntopng/httpdocs/css/bubble-chart.css
+share/ntopng/httpdocs/css/c3.css
+share/ntopng/httpdocs/css/cal-heatmap.css
+share/ntopng/httpdocs/css/cubism.css
+share/ntopng/httpdocs/css/datepicker.css
+share/ntopng/httpdocs/css/dc.css
+share/ntopng/httpdocs/css/flags.css
+share/ntopng/httpdocs/css/jquery-ui.css
+share/ntopng/httpdocs/css/ntopng.css
+share/ntopng/httpdocs/css/nv.d3.css
+share/ntopng/httpdocs/css/pagingbar.css
+share/ntopng/httpdocs/css/pie-chart.css
+share/ntopng/httpdocs/css/prettify.css
+share/ntopng/httpdocs/css/rickshaw.css
+share/ntopng/httpdocs/css/sequence_sunburst.css
+share/ntopng/httpdocs/css/tablesorted.css
+share/ntopng/httpdocs/css/timeline.css
+share/ntopng/httpdocs/css/timepicker.css
+share/ntopng/httpdocs/favicon.ico
+share/ntopng/httpdocs/font-awesome/HELP-US-OUT.txt
+share/ntopng/httpdocs/font-awesome/css/font-awesome.css
+share/ntopng/httpdocs/font-awesome/css/font-awesome.min.css
+share/ntopng/httpdocs/font-awesome/fonts/FontAwesome.otf
+share/ntopng/httpdocs/font-awesome/fonts/fontawesome-webfont.eot
+share/ntopng/httpdocs/font-awesome/fonts/fontawesome-webfont.svg
+share/ntopng/httpdocs/font-awesome/fonts/fontawesome-webfont.ttf
+share/ntopng/httpdocs/font-awesome/fonts/fontawesome-webfont.woff
+share/ntopng/httpdocs/font-awesome/fonts/fontawesome-webfont.woff2
+share/ntopng/httpdocs/font-awesome/less/animated.less
+share/ntopng/httpdocs/font-awesome/less/bordered-pulled.less
+share/ntopng/httpdocs/font-awesome/less/core.less
+share/ntopng/httpdocs/font-awesome/less/fixed-width.less
+share/ntopng/httpdocs/font-awesome/less/font-awesome.less
+share/ntopng/httpdocs/font-awesome/less/icons.less
+share/ntopng/httpdocs/font-awesome/less/larger.less
+share/ntopng/httpdocs/font-awesome/less/list.less
+share/ntopng/httpdocs/font-awesome/less/mixins.less
+share/ntopng/httpdocs/font-awesome/less/path.less
+share/ntopng/httpdocs/font-awesome/less/rotated-flipped.less
+share/ntopng/httpdocs/font-awesome/less/stacked.less
+share/ntopng/httpdocs/font-awesome/less/variables.less
+share/ntopng/httpdocs/font-awesome/scss/_animated.scss
+share/ntopng/httpdocs/font-awesome/scss/_bordered-pulled.scss
+share/ntopng/httpdocs/font-awesome/scss/_core.scss
+share/ntopng/httpdocs/font-awesome/scss/_fixed-width.scss
+share/ntopng/httpdocs/font-awesome/scss/_icons.scss
+share/ntopng/httpdocs/font-awesome/scss/_larger.scss
+share/ntopng/httpdocs/font-awesome/scss/_list.scss
+share/ntopng/httpdocs/font-awesome/scss/_mixins.scss
+share/ntopng/httpdocs/font-awesome/scss/_path.scss
+share/ntopng/httpdocs/font-awesome/scss/_rotated-flipped.scss
+share/ntopng/httpdocs/font-awesome/scss/_stacked.scss
+share/ntopng/httpdocs/font-awesome/scss/_variables.scss
+share/ntopng/httpdocs/font-awesome/scss/font-awesome.scss
+share/ntopng/httpdocs/geoip/README
+share/ntopng/httpdocs/img/asc.gif
+share/ntopng/httpdocs/img/blank.gif
+share/ntopng/httpdocs/img/block-end.png
+share/ntopng/httpdocs/img/block-start.png
+share/ntopng/httpdocs/img/cpu_icon.png
+share/ntopng/httpdocs/img/desc.gif
+share/ntopng/httpdocs/img/flags.png
+share/ntopng/httpdocs/img/glyphicons-halflings-white.png
+share/ntopng/httpdocs/img/glyphicons-halflings.png
+share/ntopng/httpdocs/img/graph.gif
+share/ntopng/httpdocs/img/info.png
+share/ntopng/httpdocs/img/info_icon.png
+share/ntopng/httpdocs/img/interaction-graph-icons/apache2.png
+share/ntopng/httpdocs/img/interaction-graph-icons/firefox.png
+share/ntopng/httpdocs/img/interaction-graph-icons/java.png
+share/ntopng/httpdocs/img/interaction-graph-icons/nprobe.png
+share/ntopng/httpdocs/img/interaction-graph-icons/ntopng.png
+share/ntopng/httpdocs/img/interaction-graph-icons/redis-server.png
+share/ntopng/httpdocs/img/interaction-graph-icons/remote_hosts.png
+share/ntopng/httpdocs/img/interaction-graph-icons/sprobe.png
+share/ntopng/httpdocs/img/loading.gif
+share/ntopng/httpdocs/img/logo.png
+share/ntopng/httpdocs/img/logo.svg
+share/ntopng/httpdocs/img/maps/conv30.png
+share/ntopng/httpdocs/img/maps/conv40.png
+share/ntopng/httpdocs/img/maps/conv50.png
+share/ntopng/httpdocs/img/maps/heart30.png
+share/ntopng/httpdocs/img/maps/heart40.png
+share/ntopng/httpdocs/img/maps/heart50.png
+share/ntopng/httpdocs/img/maps/m1.png
+share/ntopng/httpdocs/img/maps/m2.png
+share/ntopng/httpdocs/img/maps/m3.png
+share/ntopng/httpdocs/img/maps/m4.png
+share/ntopng/httpdocs/img/maps/m5.png
+share/ntopng/httpdocs/img/maps/people35.png
+share/ntopng/httpdocs/img/maps/people45.png
+share/ntopng/httpdocs/img/maps/people55.png
+share/ntopng/httpdocs/img/network_icon.png
+share/ntopng/httpdocs/img/os_icon.png
+share/ntopng/httpdocs/img/throbber.gif
+share/ntopng/httpdocs/img/warning.png
+share/ntopng/httpdocs/inc/aggregated_hosts_stats_bottom.inc
+share/ntopng/httpdocs/inc/aggregated_hosts_stats_id.inc
+share/ntopng/httpdocs/inc/aggregated_hosts_stats_top.inc
+share/ntopng/httpdocs/inc/as_stats_id.inc
+share/ntopng/httpdocs/inc/as_stats_top.inc
+share/ntopng/httpdocs/inc/community_stats_bottom.inc
+share/ntopng/httpdocs/inc/community_stats_id.inc
+share/ntopng/httpdocs/inc/community_stats_top.inc
+share/ntopng/httpdocs/inc/country_stats_id.inc
+share/ntopng/httpdocs/inc/country_stats_top.inc
+share/ntopng/httpdocs/inc/flows_stats_bottom.inc
+share/ntopng/httpdocs/inc/flows_stats_id.inc
+share/ntopng/httpdocs/inc/flows_stats_middle.inc
+share/ntopng/httpdocs/inc/flows_stats_top.inc
+share/ntopng/httpdocs/inc/geolocation_disclaimer.inc
+share/ntopng/httpdocs/inc/header.inc
+share/ntopng/httpdocs/inc/host_to_server_id.inc
+share/ntopng/httpdocs/inc/host_to_server_top.inc
+share/ntopng/httpdocs/inc/hosts_stats_bottom.inc
+share/ntopng/httpdocs/inc/hosts_stats_id.inc
+share/ntopng/httpdocs/inc/hosts_stats_top.inc
+share/ntopng/httpdocs/inc/http_servers_stats_id.inc
+share/ntopng/httpdocs/inc/http_servers_stats_top.inc
+share/ntopng/httpdocs/inc/index_TopASNs.inc
+share/ntopng/httpdocs/inc/index_TopApplications.inc
+share/ntopng/httpdocs/inc/index_TopFlowSenders.inc
+share/ntopng/httpdocs/inc/index_TopHosts.inc
+share/ntopng/httpdocs/inc/index_TopPorts.inc
+share/ntopng/httpdocs/inc/mac_stats_bottom.inc
+share/ntopng/httpdocs/inc/mac_stats_id.inc
+share/ntopng/httpdocs/inc/mac_stats_top.inc
+share/ntopng/httpdocs/inc/network_stats_bottom.inc
+share/ntopng/httpdocs/inc/network_stats_id.inc
+share/ntopng/httpdocs/inc/network_stats_top.inc
+share/ntopng/httpdocs/inc/os_stats_id.inc
+share/ntopng/httpdocs/inc/os_stats_top.inc
+share/ntopng/httpdocs/inc/processes_stats_bottom.inc
+share/ntopng/httpdocs/inc/processes_stats_id.inc
+share/ntopng/httpdocs/inc/processes_stats_top.inc
+share/ntopng/httpdocs/inc/sflows_stats_bottom.inc
+share/ntopng/httpdocs/inc/sflows_stats_top.inc
+share/ntopng/httpdocs/inc/sprobe_process.inc
+share/ntopng/httpdocs/inc/sprobe_process_header.inc
+share/ntopng/httpdocs/inc/vlan_stats_id.inc
+share/ntopng/httpdocs/inc/vlan_stats_top.inc
+share/ntopng/httpdocs/js/README.gauge
+share/ntopng/httpdocs/js/bootstrap-datatable.js
+share/ntopng/httpdocs/js/bootstrap-datetimepicker.js
+share/ntopng/httpdocs/js/bootstrap-slider.js
+share/ntopng/httpdocs/js/bootstrap.ajaxpager-0.8.js
+share/ntopng/httpdocs/js/bootstrap3-typeahead.js
+share/ntopng/httpdocs/js/bubble-chart.js
+share/ntopng/httpdocs/js/c3.js
+share/ntopng/httpdocs/js/cal-heatmap.js
+share/ntopng/httpdocs/js/cpu_bar.js
+share/ntopng/httpdocs/js/crossfilter.js
+share/ntopng/httpdocs/js/cubism.v1.js
+share/ntopng/httpdocs/js/d3.v3.js
+share/ntopng/httpdocs/js/dc.js
+share/ntopng/httpdocs/js/gauge.js
+share/ntopng/httpdocs/js/googleMapJson.js
+share/ntopng/httpdocs/js/handlebars-1.0.0.0.beta.6.js
+share/ntopng/httpdocs/js/highlight.js
+share/ntopng/httpdocs/js/html5shiv.js
+share/ntopng/httpdocs/js/jquery-ui.js
+share/ntopng/httpdocs/js/jquery.bootstrap-duallistbox.js
+share/ntopng/httpdocs/js/jquery.form.js
+share/ntopng/httpdocs/js/jquery.js
+share/ntopng/httpdocs/js/jquery.peity.js
+share/ntopng/httpdocs/js/jquery.sparkline.js
+share/ntopng/httpdocs/js/jquery.tablesorter.js
+share/ntopng/httpdocs/js/line-graph.js
+share/ntopng/httpdocs/js/markerclusterer.js
+share/ntopng/httpdocs/js/matrix_volume.js
+share/ntopng/httpdocs/js/moment.js
+share/ntopng/httpdocs/js/ntopng_utils.js
+share/ntopng/httpdocs/js/nv.d3.js
+share/ntopng/httpdocs/js/pdfmake.js
+share/ntopng/httpdocs/js/pie-chart.js
+share/ntopng/httpdocs/js/prettify.js
+share/ntopng/httpdocs/js/rickshaw.js
+share/ntopng/httpdocs/js/sankey.js
+share/ntopng/httpdocs/js/sequence_sunburst.js
+share/ntopng/httpdocs/js/springy-ntop.js
+share/ntopng/httpdocs/js/springyui-ntop.js
+share/ntopng/httpdocs/js/timeline.js
+share/ntopng/httpdocs/js/validator.js
+share/ntopng/httpdocs/js/vfs_fonts.js
+share/ntopng/httpdocs/misc/ntopng_template_elk.json
+share/ntopng/httpdocs/other/EtherOUI.txt
+share/ntopng/httpdocs/ssl/README
+share/ntopng/httpdocs/ssl/ntopng-cert.pem.dummy
+share/ntopng/httpdocs/test.lp
+share/ntopng/scripts/callbacks/daily.lua
+share/ntopng/scripts/callbacks/hourly.lua
+share/ntopng/scripts/callbacks/minute.lua
+share/ntopng/scripts/callbacks/second.lua
+share/ntopng/scripts/lua/API.lua
+share/ntopng/scripts/lua/about.lua
+share/ntopng/scripts/lua/admin/add_user.lua
+share/ntopng/scripts/lua/admin/change_user_password.lua
+share/ntopng/scripts/lua/admin/change_user_prefs.lua
+share/ntopng/scripts/lua/admin/delete_user.lua
+share/ntopng/scripts/lua/admin/get_user_info.lua
+share/ntopng/scripts/lua/admin/get_users.lua
+share/ntopng/scripts/lua/admin/password_reset.lua
+share/ntopng/scripts/lua/admin/prefs.lua
+share/ntopng/scripts/lua/admin/users.lua
+share/ntopng/scripts/lua/admin/validate_new_user.lua
+share/ntopng/scripts/lua/as_stats.lua
+share/ntopng/scripts/lua/country_stats.lua
+share/ntopng/scripts/lua/db.lua
+share/ntopng/scripts/lua/db_query.lua
+share/ntopng/scripts/lua/do_export_data.lua
+share/ntopng/scripts/lua/examples/debug.lua
+share/ntopng/scripts/lua/examples/hello_world.lua
+share/ntopng/scripts/lua/examples/interface.lua
+share/ntopng/scripts/lua/examples/ntop.lua
+share/ntopng/scripts/lua/examples/sqlite.lua
+share/ntopng/scripts/lua/export_data.lua
+share/ntopng/scripts/lua/find_host.lua
+share/ntopng/scripts/lua/flow_details.lua
+share/ntopng/scripts/lua/flow_stats.lua
+share/ntopng/scripts/lua/flows_stats.lua
+share/ntopng/scripts/lua/get_alerts_data.lua
+share/ntopng/scripts/lua/get_db_flows.lua
+share/ntopng/scripts/lua/get_filter_host.lua
+share/ntopng/scripts/lua/get_flow_data.lua
+share/ntopng/scripts/lua/get_flows_data.lua
+share/ntopng/scripts/lua/get_geo_hosts.lua
+share/ntopng/scripts/lua/get_grouped_hosts_data.lua
+share/ntopng/scripts/lua/get_hitters_data.lua
+share/ntopng/scripts/lua/get_host_activitymap.lua
+share/ntopng/scripts/lua/get_host_contacts.lua
+share/ntopng/scripts/lua/get_host_daily_activity.lua
+share/ntopng/scripts/lua/get_host_data.lua
+share/ntopng/scripts/lua/get_host_traffic.lua
+share/ntopng/scripts/lua/get_hosts_data.lua
+share/ntopng/scripts/lua/get_hosts_interaction.lua
+share/ntopng/scripts/lua/get_http_hosts.lua
+share/ntopng/scripts/lua/get_http_hosts_data.lua
+share/ntopng/scripts/lua/get_process_info.lua
+share/ntopng/scripts/lua/get_processes_data.lua
+share/ntopng/scripts/lua/get_system_hosts_interaction.lua
+share/ntopng/scripts/lua/get_top_talkers.lua
+share/ntopng/scripts/lua/get_treemap.lua
+share/ntopng/scripts/lua/get_user_info.lua
+share/ntopng/scripts/lua/host_details.lua
+share/ntopng/scripts/lua/host_details_ndpi.lua
+share/ntopng/scripts/lua/host_dns_breakdown.lua
+share/ntopng/scripts/lua/host_get_json.lua
+share/ntopng/scripts/lua/host_http_breakdown.lua
+share/ntopng/scripts/lua/host_l4_stats.lua
+share/ntopng/scripts/lua/host_pkt_distro.lua
+share/ntopng/scripts/lua/host_sflow_distro.lua
+share/ntopng/scripts/lua/host_stats.lua
+share/ntopng/scripts/lua/host_top_peers_protocols.lua
+share/ntopng/scripts/lua/hosts_comparison.lua
+share/ntopng/scripts/lua/hosts_comparison_bubble.lua
+share/ntopng/scripts/lua/hosts_comparison_sankey.lua
+share/ntopng/scripts/lua/hosts_geomap.lua
+share/ntopng/scripts/lua/hosts_matrix.lua
+share/ntopng/scripts/lua/hosts_stats.lua
+share/ntopng/scripts/lua/hosts_treemap.lua
+share/ntopng/scripts/lua/http_servers_stats.lua
+share/ntopng/scripts/lua/if_pkt_distro.lua
+share/ntopng/scripts/lua/if_stats.lua
+share/ntopng/scripts/lua/if_stats_ndpi.lua
+share/ntopng/scripts/lua/iface_flows_sankey.lua
+share/ntopng/scripts/lua/iface_hosts_list.lua
+share/ntopng/scripts/lua/iface_local_stats.lua
+share/ntopng/scripts/lua/iface_ndpi_stats.lua
+share/ntopng/scripts/lua/iface_ports_list.lua
+share/ntopng/scripts/lua/inc/add_user_dialog.lua
+share/ntopng/scripts/lua/inc/change_user_password_form.lua
+share/ntopng/scripts/lua/inc/delete_user_dialog.lua
+share/ntopng/scripts/lua/inc/footer.lua
+share/ntopng/scripts/lua/inc/menu.lua
+share/ntopng/scripts/lua/inc/password_dialog.lua
+share/ntopng/scripts/lua/inc/sankey.lua
+share/ntopng/scripts/lua/inc/search_host_box.lua
+share/ntopng/scripts/lua/inc/sprobe.lua
+share/ntopng/scripts/lua/inc/users.lua
+share/ntopng/scripts/lua/index.lua
+share/ntopng/scripts/lua/login.lua
+share/ntopng/scripts/lua/logout.lua
+share/ntopng/scripts/lua/mac_stats.lua
+share/ntopng/scripts/lua/mesh_antenna_stats.lua
+share/ntopng/scripts/lua/modules/alert_utils.lua
+share/ntopng/scripts/lua/modules/db_utils.lua
+share/ntopng/scripts/lua/modules/dkjson.lua
+share/ntopng/scripts/lua/modules/flow_utils.lua
+share/ntopng/scripts/lua/modules/graph_utils.lua
+share/ntopng/scripts/lua/modules/json.lua
+share/ntopng/scripts/lua/modules/lua_trace.lua
+share/ntopng/scripts/lua/modules/lua_utils.lua
+share/ntopng/scripts/lua/modules/persistence.lua
+share/ntopng/scripts/lua/modules/sqlite_utils.lua
+share/ntopng/scripts/lua/modules/template.lua
+share/ntopng/scripts/lua/modules/top_scripts/top_asn.lua
+share/ntopng/scripts/lua/modules/top_scripts/top_countries.lua
+share/ntopng/scripts/lua/modules/top_scripts/top_networks.lua
+share/ntopng/scripts/lua/modules/top_scripts/top_os.lua
+share/ntopng/scripts/lua/modules/top_scripts/top_os_local.lua
+share/ntopng/scripts/lua/modules/top_scripts/top_talkers.lua
+share/ntopng/scripts/lua/modules/top_scripts/top_vlan.lua
+share/ntopng/scripts/lua/modules/top_structure.lua
+share/ntopng/scripts/lua/modules/top_talkers.lua
+share/ntopng/scripts/lua/modules/traffic_stats.lua
+share/ntopng/scripts/lua/modules/voip_utils.lua
+share/ntopng/scripts/lua/network_details.lua
+share/ntopng/scripts/lua/network_load.lua
+share/ntopng/scripts/lua/network_stats.lua
+share/ntopng/scripts/lua/os_stats.lua
+share/ntopng/scripts/lua/page_not_found.lua
+share/ntopng/scripts/lua/pid_stats.lua
+share/ntopng/scripts/lua/popKeys.lua
+share/ntopng/scripts/lua/port_details.lua
+share/ntopng/scripts/lua/processes_stats.lua
+share/ntopng/scripts/lua/protocols/dns_aggregations.lua
+share/ntopng/scripts/lua/protocols/epp_aggregations.lua
+share/ntopng/scripts/lua/resolve_address.lua
+share/ntopng/scripts/lua/set_active_interface.lua
+share/ntopng/scripts/lua/set_if_prefs.lua
+share/ntopng/scripts/lua/sflow_tree.lua
+share/ntopng/scripts/lua/sflows_stats.lua
+share/ntopng/scripts/lua/show_alerts.lua
+share/ntopng/scripts/lua/sprobe.lua
+share/ntopng/scripts/lua/sprobe_data.lua
+share/ntopng/scripts/lua/sprobe_flow_data.lua
+share/ntopng/scripts/lua/sprobe_host_process.lua
+share/ntopng/scripts/lua/sprobe_host_process_data.lua
+share/ntopng/scripts/lua/sprobe_hosts.lua
+share/ntopng/scripts/lua/sprobe_hosts_data.lua
+share/ntopng/scripts/lua/sprobe_hosts_interactions.lua
+share/ntopng/scripts/lua/sprobe_hosts_interactions_data.lua
+share/ntopng/scripts/lua/system_hosts_interaction.lua
+share/ntopng/scripts/lua/test_snmp.lua
+share/ntopng/scripts/lua/top_generic.lua
+share/ntopng/scripts/lua/top_hosts.lua
+share/ntopng/scripts/lua/user_stats.lua
+share/ntopng/scripts/lua/vlan_stats.lua
diff --git a/net/ntopng/distinfo b/net/ntopng/distinfo
new file mode 100644
index 00000000000..0aab462a7e3
--- /dev/null
+++ b/net/ntopng/distinfo
@@ -0,0 +1,12 @@
+$NetBSD: distinfo,v 1.1 2016/04/08 16:59:07 adam Exp $
+
+SHA1 (ntopng-2.2.tar.gz) = 873170e54611acb77741be67aec8b782fb8efb9b
+RMD160 (ntopng-2.2.tar.gz) = ff89921551d6c23c286df6d4965c67818f2c5df5
+SHA512 (ntopng-2.2.tar.gz) = d0dacdd821bb546a1034bd616201ae05f17037fd446ec2b7566fe6b2c1fa90b256056c3dd5f0b10aded4c903286adfa7ac5f3901c4392de92f6c27dcc523cb23
+Size (ntopng-2.2.tar.gz) = 91319029 bytes
+SHA1 (patch-Makefile.in) = 210769de15d90f050d228a9af5a9b020dee245e9
+SHA1 (patch-configure.seed) = b19f4e10860d4c8453ebd4b04313fc9ca2aa2a4d
+SHA1 (patch-include_ntop__includes.h) = dd8f61228d6a8d96a5577e53857cb8a05394a036
+SHA1 (patch-src_PacketDumperTuntap.cpp) = 274b70f065f407ca34a3d88e021924639ffa105b
+SHA1 (patch-src_Redis.cpp) = 10f04cb1b300cd400905df993bb7d4f20431569b
+SHA1 (patch-third-party_mongoose_mongoose.c) = 1b163b56600390e393d2ede7aace3e26c12c9a67
diff --git a/net/ntopng/files/ntopng.sh b/net/ntopng/files/ntopng.sh
new file mode 100644
index 00000000000..27627d74415
--- /dev/null
+++ b/net/ntopng/files/ntopng.sh
@@ -0,0 +1,26 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: ntopng.sh,v 1.1 2016/04/08 16:59:07 adam Exp $
+#
+# PROVIDE: ntopng
+# REQUIRE: DAEMON network
+# KEYWORD: shutdown
+
+if [ -f /etc/rc.subr ]; then
+ . /etc/rc.subr
+fi
+
+name="ntopng"
+rcvar=$name
+# XXX must be in tmp, because ntopng runs as nobody
+pidfile="@VARBASE@/tmp/$name.pid"
+command="@PREFIX@/bin/$name"
+command_args="-e -G $pidfile"
+
+if [ -f /etc/rc.subr ]; then
+ load_rc_config $name
+ run_rc_command "$1"
+else
+ echo -n "${name}"
+ @SU@ -c "${command}"
+fi
diff --git a/net/ntopng/patches/patch-Makefile.in b/net/ntopng/patches/patch-Makefile.in
new file mode 100644
index 00000000000..3ea2f68e1b2
--- /dev/null
+++ b/net/ntopng/patches/patch-Makefile.in
@@ -0,0 +1,23 @@
+$NetBSD: patch-Makefile.in,v 1.1 2016/04/08 16:59:07 adam Exp $
+
+Install into DESTDIR.
+Use external nDPI.
+
+--- Makefile.in.orig 2015-11-30 18:15:18.000000000 +0000
++++ Makefile.in
+@@ -5,13 +5,13 @@ SHELL=/bin/sh
+ OS := $(shell uname -s)
+ PWD=@PWD@
+ GPP=@GPP@
+-INSTALL_DIR=$(prefix)
++INSTALL_DIR=$(DESTDIR)$(prefix)
+ MAN_DIR=$(DESTDIR)@MAN_DIR@
+
+ ######
+ HAS_NDPI=$(shell pkg-config --exists libndpi; echo $$?)
+ ifeq ($(HAS_NDPI), 0)
+- NDPI_INC = $(shell pkg-config --cflags libndpi | sed -e 's/\(-I[^ \t]*\)/\1\/libndpi/g')
++ NDPI_INC = $(shell pkg-config --cflags libndpi)/libndpi
+ NDPI_LIB = $(shell pkg-config --libs libndpi)
+ NDPI_LIB_DEP =
+ else
diff --git a/net/ntopng/patches/patch-configure.seed b/net/ntopng/patches/patch-configure.seed
new file mode 100644
index 00000000000..068a2b3e977
--- /dev/null
+++ b/net/ntopng/patches/patch-configure.seed
@@ -0,0 +1,65 @@
+$NetBSD: patch-configure.seed,v 1.1 2016/04/08 16:59:07 adam Exp $
+
+Do not use included nDPI.
+Do not use -O0 for clang.
+On Darwin, install into man/.
+
+--- configure.seed.orig 2015-11-30 18:15:18.000000000 +0000
++++ configure.seed
+@@ -44,35 +44,6 @@ GIT_BRANCH="@GIT_BRANCH@"
+ PRO_GIT_RELEASE="@PRO_GIT_RELEASE@"
+ PRO_GIT_DATE="@PRO_GIT_DATE@"
+
+-AC_MSG_CHECKING(for nDPI)
+-NDPI_HOME=./nDPI
+-if test -d "$NDPI_HOME" ; then :
+- AC_MSG_RESULT(found in $NDPI_HOME)
+-else
+- NDPI_HOME=../nDPI
+- if test -d "$NDPI_HOME"; then :
+- AC_MSG_RESULT(found in $NDPI_HOME)
+- else
+- NDPI_HOME=$HOME/nDPI
+- if test -d "$NDPI_HOME"; then :
+- AC_MSG_RESULT(found in $NDPI_HOME)
+- else
+- AC_MSG_RESULT(not found)
+- echo "Please do cd ..; git clone https://github.com/ntop/nDPI.git; cd nDPI; ./autogen.sh; make; cd ../ntopng"
+- echo " and try again"
+- exit
+- fi
+- fi
+-fi
+-
+-NDPI_LIB=$NDPI_HOME/src/lib/.libs/libndpi.a
+-AC_MSG_CHECKING(for $NDPI_LIB)
+-if test -f "$NDPI_LIB" ; then :
+- AC_MSG_RESULT(found $NDPI_LIB)
+-else
+- AC_MSG_RESULT(not found $NDPI_LIB: compiling)
+- cd $NDPI_HOME; ./autogen.sh; make; cd -
+-fi
+
+ AC_MSG_CHECKING(for ntopng professional edition)
+ if test -d "pro"; then :
+@@ -351,7 +322,7 @@ if test x$GPP = x
+ then
+ GPP="g++"
+ else
+- GPP="$GPP -O0"
++ GPP="$GPP"
+ fi
+
+ GIT=`which git`
+@@ -374,11 +345,7 @@ then
+ INSTALL_DIR=${ac_default_prefix}
+ fi
+
+-if test $SYSTEM = "Darwin"; then
+- MAN_DIR=$INSTALL_DIR/share/man
+-else
+ MAN_DIR=$INSTALL_DIR/man
+-fi
+
+ if test $SYSTEM = "OpenBSD"; then
+ INSTALL_DIR=${prefix}
diff --git a/net/ntopng/patches/patch-include_ntop__includes.h b/net/ntopng/patches/patch-include_ntop__includes.h
new file mode 100644
index 00000000000..1daabc3e1db
--- /dev/null
+++ b/net/ntopng/patches/patch-include_ntop__includes.h
@@ -0,0 +1,15 @@
+$NetBSD: patch-include_ntop__includes.h,v 1.1 2016/04/08 16:59:07 adam Exp $
+
+Add NetBSD support.
+
+--- include/ntop_includes.h.orig 2016-04-04 12:57:38.000000000 +0000
++++ include/ntop_includes.h
+@@ -43,7 +43,7 @@
+ #include <arpa/inet.h>
+ #include <poll.h>
+
+-#if defined(__OpenBSD__)
++#if defined(__NetBSD__) || defined(__OpenBSD__)
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
diff --git a/net/ntopng/patches/patch-src_PacketDumperTuntap.cpp b/net/ntopng/patches/patch-src_PacketDumperTuntap.cpp
new file mode 100644
index 00000000000..e19a96b5af4
--- /dev/null
+++ b/net/ntopng/patches/patch-src_PacketDumperTuntap.cpp
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_PacketDumperTuntap.cpp,v 1.1 2016/04/08 16:59:07 adam Exp $
+
+Add NetBSD support.
+
+--- src/PacketDumperTuntap.cpp.orig 2016-04-04 12:59:52.000000000 +0000
++++ src/PacketDumperTuntap.cpp
+@@ -127,7 +127,7 @@ int PacketDumperTuntap::openTap(char *de
+
+ /* ********************************************* */
+
+-#ifdef __OpenBSD__
++#if defined(__NetBSD__) || defined(__OpenBSD__)
+ #define OPENBSD_TAPDEVICE_SIZE 32
+ int PacketDumperTuntap::openTap(char *dev, /* user-definable interface name, eg. edge0 */ int mtu) {
+ int i;
diff --git a/net/ntopng/patches/patch-src_Redis.cpp b/net/ntopng/patches/patch-src_Redis.cpp
new file mode 100644
index 00000000000..3d297de69d2
--- /dev/null
+++ b/net/ntopng/patches/patch-src_Redis.cpp
@@ -0,0 +1,20 @@
+$NetBSD: patch-src_Redis.cpp,v 1.1 2016/04/08 16:59:07 adam Exp $
+
+Allow Redis connection through unix socket.
+
+--- src/Redis.cpp.orig 2016-04-06 11:41:42.000000000 +0000
++++ src/Redis.cpp
+@@ -75,7 +75,12 @@ void Redis::reconnectRedis() {
+ redisFree(redis);
+ }
+
+- redis = redisConnectWithTimeout(redis_host, redis_port, timeout);
++ if (redis_host[0] == '/') {
++ redis = redisConnectUnixWithTimeout(redis_host, timeout);
++ }
++ else {
++ redis = redisConnectWithTimeout(redis_host, redis_port, timeout);
++ }
+
+ while(num_attemps > 0) {
+ if(redis) reply = (redisReply*)redisCommand(redis, "PING"); else reply = NULL;
diff --git a/net/ntopng/patches/patch-third-party_mongoose_mongoose.c b/net/ntopng/patches/patch-third-party_mongoose_mongoose.c
new file mode 100644
index 00000000000..77c4e9ab0e8
--- /dev/null
+++ b/net/ntopng/patches/patch-third-party_mongoose_mongoose.c
@@ -0,0 +1,141 @@
+$NetBSD: patch-third-party_mongoose_mongoose.c,v 1.1 2016/04/08 16:59:07 adam Exp $
+
+Updated to the latest version from github.com/ntop/ntopng.
+On NetBSD, this fixes a problem with HTTP listening on IPv6 only.
+
+--- third-party/mongoose/mongoose.c.orig 2015-11-30 19:15:18.000000000 +0100
++++ third-party/mongoose/mongoose.c 2016-04-06 15:53:31.000000000 +0200
+@@ -444,6 +444,8 @@
+ struct sockaddr_in sin;
+ #if defined(USE_IPV6)
+ struct sockaddr_in6 sin6;
++#else
++ struct sockaddr sin6;
+ #endif
+ };
+
+@@ -4398,37 +4400,45 @@
+ // Examples: 80, 443s, 127.0.0.1:3128, 1.2.3.4:8080s
+ // TODO(lsm): add parsing of the IPv6 address
+ static int parse_port_string(const struct vec *vec, struct socket *so) {
+- int a, b, c, d, port, len;
+-
++ union usa *sa = (union usa *)&so->lsa;
++ int a, b, c, d, port = 0, len = 0;
++#if defined(USE_IPV6)
++ char buf[100];
++#endif
+ // MacOS needs that. If we do not zero it, subsequent bind() will fail.
+ // Also, all-zeroes in the socket address means binding to all addresses
+ // for both IPv4 and IPv6 (INADDR_ANY and IN6ADDR_ANY_INIT).
+- memset(so, 0, sizeof(*so));
++ memset(sa, 0, sizeof(*sa));
+
+- if (sscanf(vec->ptr, "%d.%d.%d.%d:%d%n", &a, &b, &c, &d, &port, &len) == 5) {
+- // Bind to a specific IPv4 address
+- so->lsa.sin.sin_addr.s_addr = htonl((a << 24) | (b << 16) | (c << 8) | d);
+- } else if (sscanf(vec->ptr, "%d%n", &port, &len) != 1 ||
+- len <= 0 ||
+- len > (int) vec->len ||
+- (vec->ptr[len] && vec->ptr[len] != 's' &&
+- vec->ptr[len] != 'r' && vec->ptr[len] != ',')) {
+- return 0;
+- }
++ sa->sin.sin_family = AF_INET;
++
++ if (sscanf(vec->ptr, "%u.%u.%u.%u:%u%n", &a, &b, &c, &d, &port, &len) == 5) {
++ /* Bind to a specific IPv4 address, e.g. 127.0.0.1:8080 */
++ sa->sin.sin_addr.s_addr =
++ htonl(((uint32_t) a << 24) | ((uint32_t) b << 16) | c << 8 | d);
++ sa->sin.sin_port = htons((uint16_t) port);
+
+- so->is_ssl = vec->ptr[len] == 's';
+- so->ssl_redir = vec->ptr[len] == 'r';
+ #if defined(USE_IPV6)
+- if(is_ip6_enabled) {
+- so->lsa.sin6.sin6_family = AF_INET6;
+- so->lsa.sin6.sin6_port = htons((uint16_t) port);
+- } else { /* NTOP - fall back to IPv4 */
+- so->lsa.sin.sin_family = AF_INET;
+- so->lsa.sin.sin_port = htons((uint16_t) port);
++ } else if (sscanf(vec->ptr, "[%[^]]]:%u%n", buf, &port, &len) == 2 &&
++ inet_pton(AF_INET6, buf, &sa->sin6.sin6_addr)) {
++ /* IPv6 address, e.g. [3ffe:2a00:100:7031::1]:8080 */
++ sa->sin6.sin6_family = AF_INET6;
++ sa->sin.sin_port = htons((uint16_t) port);
++#endif
++
++ } else if (sscanf(vec->ptr, ":%u%n", &port, &len) == 1 ||
++ sscanf(vec->ptr, "%u%n", &port, &len) == 1) {
++ /* If only port is specified, bind to IPv4, INADDR_ANY */
++ sa->sin.sin_port = htons((uint16_t) port);
++ } else {
++ return -1;
+ }
+-#else
+- so->lsa.sin.sin_family = AF_INET;
+- so->lsa.sin.sin_port = htons((uint16_t) port);
++
++ so->is_ssl = (vec->ptr[len] && vec->ptr[len] == 's');
++ so->ssl_redir = (vec->ptr[len] && vec->ptr[len] == 'r');
++
++#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
++ so->lsa.sin.sin_len = sizeof(struct sockaddr_in);
+ #endif
+
+ return 1;
+@@ -4439,6 +4449,15 @@
+ int on = 1, success = 1;
+ struct vec vec;
+ struct socket so;
++ int rc_setsockopt = 0, rc_bind = 0, rc_listen = 0;
++ union usa *sa = (union usa *)&so.lsa;
++
++ /*
++ #if defined(USE_IPV6)
++ if(is_ip6_enabled)
++ sa = (const struct sockaddr *)&so.lsa.sin6, sa_len = sizeof(so.lsa.sin6);
++ #endif
++ */
+
+ while (success && (list = next_option(list, &vec, NULL)) != NULL) {
+ if (!parse_port_string(&vec, &so)) {
+@@ -4448,19 +4467,22 @@
+ } else if (so.is_ssl && ctx->ssl_ctx == NULL) {
+ cry(fc(ctx), "Cannot add SSL socket, is -ssl_certificate option set?");
+ success = 0;
+- } else if ((so.sock = socket(so.lsa.sa.sa_family, SOCK_STREAM, 6)) ==
++ } else if ((so.sock = socket(so.lsa.sa.sa_family, SOCK_STREAM, IPPROTO_TCP)) ==
+ INVALID_SOCKET ||
+ // On Windows, SO_REUSEADDR is recommended only for
+ // broadcast UDP sockets
+- setsockopt(so.sock, SOL_SOCKET, SO_REUSEADDR,
++ (rc_setsockopt = setsockopt(so.sock, SOL_SOCKET, SO_REUSEADDR,
+ #ifdef WIN32
+ (const char*)
+ #else
+ (void *)
+ #endif
+- &on, sizeof(on)) != 0 ||
+- bind(so.sock, &so.lsa.sa, sizeof(so.lsa)) != 0 ||
+- listen(so.sock, SOMAXCONN) != 0) {
++ &on, sizeof(on))) != 0 ||
++ (rc_bind = bind(so.sock,
++ &sa->sa,
++ (sa->sa.sa_family == AF_INET) ? sizeof(sa->sin) : sizeof(sa->sin6))
++ ) != 0 ||
++ (rc_listen = listen(so.sock, SOMAXCONN)) != 0) {
+ cry(fc(ctx), "%s: cannot bind to %.*s: %s", __func__,
+ (int) vec.len, vec.ptr, strerror(ERRNO));
+ closesocket(so.sock);
+@@ -5239,6 +5261,10 @@
+ check_ipv6_enabled();
+ #endif
+
++#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
++ is_ip6_enabled = 0;
++#endif
++
+ #if defined(_WIN32) && !defined(__SYMBIAN32__)
+ WSADATA data;
+ WSAStartup(MAKEWORD(2,2), &data);