Changeset

7666:03aa330562ed

Merge 0.10->trunk
author Matthew Wild <mwild1@gmail.com>
date Mon, 12 Sep 2016 22:31:25 +0100 (2016-09-12)
parents 7661:37ab6c6326fe (current diff) 7665:2e553f80aedd (diff)
children 7667:5523880760b3
files plugins/mod_c2s.lua plugins/mod_component.lua plugins/mod_s2s/mod_s2s.lua
diffstat 5 files changed, 20 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/core/certmanager.lua	Sun Sep 11 14:54:16 2016 +0200
+++ b/core/certmanager.lua	Mon Sep 12 22:31:25 2016 +0100
@@ -103,7 +103,16 @@
 	};
 	verifyext = { "lsec_continue", "lsec_ignore_purpose" };
 	curve = "secp384r1";
-	ciphers = "HIGH+kEDH:HIGH+kEECDH:HIGH:!PSK:!SRP:!3DES:!aNULL";
+	ciphers = {      -- Enabled ciphers in order of preference:
+		"HIGH+kEDH",   -- Ephemeral Diffie-Hellman key exchange, if a 'dhparam' file is set
+		"HIGH+kEECDH", -- Ephemeral Elliptic curve Diffie-Hellman key exchange
+		"HIGH",        -- Other "High strength" ciphers
+		               -- Disabled cipher suites:
+		"!PSK",        -- Pre-Shared Key - not used for XMPP
+		"!SRP",        -- Secure Remote Password - not used for XMPP
+		"!3DES",       -- 3DES - slow and of questionable security
+		"!aNULL",      -- Ciphers that does not authenticate the connection
+	};
 }
 local path_options = { -- These we pass through resolve_path()
 	key = true, certificate = true, cafile = true, capath = true, dhparam = true
--- a/core/statsmanager.lua	Sun Sep 11 14:54:16 2016 +0200
+++ b/core/statsmanager.lua	Mon Sep 12 22:31:25 2016 +0100
@@ -6,7 +6,7 @@
 
 local stats_interval_config = config.get("*", "statistics_interval");
 local stats_interval = tonumber(stats_interval_config);
-if stats_config and not stats_interval then
+if stats_interval_config and not stats_interval then
 	log("error", "Invalid 'statistics_interval' setting, statistics will be disabled");
 end
 
--- a/plugins/mod_c2s.lua	Sun Sep 11 14:54:16 2016 +0200
+++ b/plugins/mod_c2s.lua	Mon Sep 12 22:31:25 2016 +0100
@@ -28,7 +28,7 @@
 local stream_close_timeout = module:get_option_number("c2s_close_timeout", 5);
 local opt_keepalives = module:get_option_boolean("c2s_tcp_keepalives", module:get_option_boolean("tcp_keepalives", true));
 
-local measure_connections = module:measure("connections", "counter");
+local measure_connections = module:measure("connections", "amount");
 
 local sessions = module:shared("sessions");
 local core_process_stanza = prosody.core_process_stanza;
@@ -38,7 +38,7 @@
 local listener = {};
 local runner_callbacks = {};
 
-do
+module:hook("stats-update", function ()
 	-- Connection counter resets to 0 on load and reload
 	-- Bump it up to current value
 	local count = 0;
@@ -46,7 +46,7 @@
 		count = count + 1;
 	end
 	measure_connections(count);
-end
+end);
 
 --- Stream events handlers
 local stream_xmlns_attr = {xmlns='urn:ietf:params:xml:ns:xmpp-streams'};
@@ -218,7 +218,6 @@
 
 --- Port listener
 function listener.onconnect(conn)
-	measure_connections(1);
 	local session = sm_new_session(conn);
 	sessions[conn] = session;
 
@@ -291,7 +290,6 @@
 end
 
 function listener.ondisconnect(conn, err)
-	measure_connections(-1);
 	local session = sessions[conn];
 	if session then
 		(session.log or log)("info", "Client disconnected: %s", err or "connection closed");
--- a/plugins/mod_component.lua	Sun Sep 11 14:54:16 2016 +0200
+++ b/plugins/mod_component.lua	Mon Sep 12 22:31:25 2016 +0100
@@ -314,7 +314,9 @@
 	local session = sessions[conn];
 	if session then
 		(session.log or log)("info", "component disconnected: %s (%s)", tostring(session.host), tostring(err));
-		module:fire_event("component-disconnected", { session = session, reason = err });
+		if session.host then
+			module:context(session.host):fire_event("component-disconnected", { session = session, reason = err });
+		end
 		if session.on_destroy then session:on_destroy(err); end
 		sessions[conn] = nil;
 		for k in pairs(session) do
--- a/plugins/mod_s2s/mod_s2s.lua	Sun Sep 11 14:54:16 2016 +0200
+++ b/plugins/mod_s2s/mod_s2s.lua	Mon Sep 12 22:31:25 2016 +0100
@@ -38,7 +38,7 @@
 	module:get_option_set("s2s_secure_domains", {})._items, module:get_option_set("s2s_insecure_domains", {})._items;
 local require_encryption = module:get_option_boolean("s2s_require_encryption", false);
 
-local measure_connections = module:measure("connections", "counter");
+local measure_connections = module:measure("connections", "amount");
 
 local sessions = module:shared("sessions");
 
@@ -46,7 +46,7 @@
 
 local log = module._log;
 
-do
+module:hook("stats-update", function ()
 	-- Connection counter resets to 0 on load and reload
 	-- Bump it up to current value
 	local count = 0;
@@ -54,7 +54,7 @@
 		count = count + 1;
 	end
 	measure_connections(count);
-end
+end);
 
 --- Handle stanzas to remote domains
 
@@ -619,7 +619,6 @@
 end
 
 function listener.onconnect(conn)
-	measure_connections(1);
 	conn:setoption("keepalive", opt_keepalives);
 	local session = sessions[conn];
 	if not session then -- New incoming connection
@@ -650,13 +649,7 @@
 	end
 end
 
-function listener.ontimeout(conn)
-	-- Called instead of onconnect when the connection times out
-	measure_connections(1);
-end
-
 function listener.ondisconnect(conn, err)
-	measure_connections(-1);
 	local session = sessions[conn];
 	if session then
 		sessions[conn] = nil;