# HG changeset patch # User Florian Zeitz # Date 1392667621 -3600 # Node ID 9ddfff2acddccca714ec67bd48517f3d265b003f # Parent 71dd991c94e784e08b7030cdf02325b6944fa704 mod_manifest: Close unencrypted connections when entering manifesto mode diff -r 71dd991c94e7 -r 9ddfff2acddc mod_manifesto/mod_manifesto.lua --- a/mod_manifesto/mod_manifesto.lua Mon Feb 17 20:39:48 2014 +0100 +++ b/mod_manifesto/mod_manifesto.lua Mon Feb 17 21:07:01 2014 +0100 @@ -7,6 +7,7 @@ local dataforms_new = require "util.dataforms".new; local adhoc_initial = require "util.adhoc".new_initial_data_form; local mm_reload = require "modulemanager".reload; +local s2s_destroy_session = require "core.s2smanager".destroy_session; local config = require "core.configmanager"; local config_get = config.get; local config_set = config.set; @@ -18,6 +19,7 @@ local host = module.host; local host_session = hosts[host]; local incoming_s2s = prosody.incoming_s2s; +local s2s_sessions = module:shared"/*/s2s/sessions"; local default_tpl = [[ Hello there. @@ -155,6 +157,13 @@ if fields.state == "enabled" then config_set(host, "c2s_require_encryption", true); config_set(host, "s2s_require_encryption", true); + + for _, session in pairs(s2s_sessions) do + if not session.secure then + (session.close or s2s_destroy_session)(session); + end + end + info = "Manifesto mode enabled"; else local ok, err = prosody.reload_config();