Fri Apr 8 16:59:07 2016 UTC ()
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)


(adam)
diff -r0 -r1.1 pkgsrc/net/ntopng/DESCR
diff -r0 -r1.1 pkgsrc/net/ntopng/Makefile
diff -r0 -r1.1 pkgsrc/net/ntopng/PLIST
diff -r0 -r1.1 pkgsrc/net/ntopng/distinfo
diff -r0 -r1.1 pkgsrc/net/ntopng/files/ntopng.sh
diff -r0 -r1.1 pkgsrc/net/ntopng/patches/patch-Makefile.in
diff -r0 -r1.1 pkgsrc/net/ntopng/patches/patch-configure.seed
diff -r0 -r1.1 pkgsrc/net/ntopng/patches/patch-include_ntop__includes.h
diff -r0 -r1.1 pkgsrc/net/ntopng/patches/patch-src_PacketDumperTuntap.cpp
diff -r0 -r1.1 pkgsrc/net/ntopng/patches/patch-src_Redis.cpp
diff -r0 -r1.1 pkgsrc/net/ntopng/patches/patch-third-party_mongoose_mongoose.c

File Added: pkgsrc/net/ntopng/DESCR
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)

File Added: pkgsrc/net/ntopng/Makefile
# $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"

File Added: pkgsrc/net/ntopng/PLIST
@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

File Added: pkgsrc/net/ntopng/distinfo
$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

File Added: pkgsrc/net/ntopng/files/ntopng.sh
#!@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

File Added: pkgsrc/net/ntopng/patches/patch-Makefile.in
$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

File Added: pkgsrc/net/ntopng/patches/Attic/patch-configure.seed
$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}

File Added: pkgsrc/net/ntopng/patches/patch-include_ntop__includes.h
$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>

File Added: pkgsrc/net/ntopng/patches/patch-src_PacketDumperTuntap.cpp
$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;

File Added: pkgsrc/net/ntopng/patches/patch-src_Redis.cpp
$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;

File Added: pkgsrc/net/ntopng/patches/Attic/patch-third-party_mongoose_mongoose.c
$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);