-- -- (C) 2013-18 - ntop.org -- dirs = ntop.getDirs() package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path if((dirs.scriptdir ~= nil) and (dirs.scriptdir ~= "")) then package.path = dirs.scriptdir .. "/lua/modules/?.lua;" .. package.path end require "lua_utils" require "prefs_utils" require "alert_utils" local template = require "template_utils" local callback_utils = require "callback_utils" local lists_utils = require "lists_utils" local alert_consts = require "alert_consts" local slack_utils = require("slack") if(ntop.isPro()) then package.path = dirs.installdir .. "/scripts/lua/pro/?.lua;" .. package.path end sendHTTPContentTypeHeader('text/html') local show_advanced_prefs = false local alerts_disabled = false local product = ntop.getInfo().product local message_info = "" local message_severity = "alert-warning" if(haveAdminPrivileges()) then if(_POST["email_sender"] ~= nil) then _POST["email_sender"] = unescapeHTML(_POST["email_sender"]) end if(_POST["email_recipient"] ~= nil) then _POST["email_recipient"] = unescapeHTML(_POST["email_recipient"]) end if(_POST["flush_alerts_data"] ~= nil) then require "alert_utils" flushAlertsData() elseif(_POST["disable_alerts_generation"] == "1") then require "alert_utils" disableAlertsGeneration() elseif(_POST["send_test_email"] ~= nil) then local email_utils = require("email") local success = email_utils.sendEmail("TEST MAIL", "Email notification is working") if success then message_info = i18n("prefs.email_sent_successfully") message_severity = "alert-success" else message_info = i18n("prefs.email_send_error", {product=product}) message_severity = "alert-danger" end elseif(_POST["send_test_slack"] ~= nil) then local success = slack_utils.sendMessage("interface", "info", "Slack notification is working") if success then message_info = i18n("prefs.slack_sent_successfully", {channel=slack_utils.getChannelName("interface")}) message_severity = "alert-success" else message_info = i18n("prefs.slack_send_error", {product=product}) message_severity = "alert-danger" end elseif (_POST["timeseries_driver"] == "influxdb") then local url = string.gsub(string.gsub( _POST["ts_post_data_url"], "http:__", "http://"), "https:__", "https://") if ntop.getPref("ntopng.prefs.timeseries_driver") ~= "influxdb" or (url ~= ntop.getPref("ntopng.prefs.ts_post_data_url")) or (_POST["influx_dbname"] ~= ntop.getPref("ntopng.prefs.influx_dbname")) or (_POST["influx_retention"] ~= ntop.getPref("ntopng.prefs.influx_retention")) or (_POST["toggle_influx_auth"] ~= ntop.getPref("ntopng.prefs.influx_auth_enabled")) or (_POST["influx_username"] ~= ntop.getPref("ntopng.prefs.influx_username")) or (_POST["influx_password"] ~= ntop.getPref("ntopng.prefs.influx_password")) then package.path = dirs.installdir .. "/scripts/lua/modules/timeseries/drivers/?.lua;" .. package.path local influxdb = require("influxdb") local username = nil local password = nil if _POST["toggle_influx_auth"] == "1" then username = _POST["influx_username"] password = _POST["influx_password"] end local ok, message = influxdb.init(_POST["influx_dbname"], url, tonumber(_POST["influx_retention"]), username, password, false --[[verbose]]) if not ok then message_info = message message_severity = "alert-danger" -- reset driver to the old one _POST["timeseries_driver"] = nil elseif message then message_info = message message_severity = "alert-success" end end end local slack_channels_key = "ntopng.prefs.alerts.slack_channels" for k, v in pairs(_POST) do if starts(k, "slack_ch_") then local alert_entity = tonumber(split(k, "slack_ch_")[2]) local alert_entity_raw = alertEntityRaw(alert_entity) if alert_entity_raw then -- map entity -> channel name if alert_entity_raw == v then ntop.delHashCache(slack_channels_key, alert_entity_raw) else ntop.setHashCache(slack_channels_key, alert_entity_raw, v) end end end end ntop.dumpFile(dirs.installdir .. "/httpdocs/inc/header.inc") active_page = "admin" dofile(dirs.installdir .. "/scripts/lua/inc/menu.lua") prefs = ntop.getPrefs() if not isEmptyString(message_info) then print[[
]] end print [["..i18n("prefs.captive_portal_disabled_message").."
" end print(' ]] end -- ================================================================================ function printNbox() print(' ]] end -- ================================================================================ function printNetworkDiscovery() print(']] end -- ================================================================================ function printMisc() print(']] end -- ================================================================================ function printAuthentication() if not ntop.isPro() then return end print('') end -- ================================================================================ function printInMemory() print(' ]] end -- ================================================================================ function printStatsTimeseries() print(' ]] end -- ================================================================================ function printLogging() if prefs.has_cmdl_trace_lvl then return end print('