aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/mod_tls.lua
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/mod_tls.lua')
-rw-r--r--plugins/mod_tls.lua19
1 files changed, 10 insertions, 9 deletions
diff --git a/plugins/mod_tls.lua b/plugins/mod_tls.lua
index 22df4b28..ab06b9a5 100644
--- a/plugins/mod_tls.lua
+++ b/plugins/mod_tls.lua
@@ -3,6 +3,8 @@ local st = require "util.stanza";
local send = require "core.sessionmanager".send_to_session;
local sm_bind_resource = require "core.sessionmanager".bind_resource;
+local sessions = sessions;
+
local usermanager_validate_credentials = require "core.usermanager".validate_credentials;
local t_concat, t_insert = table.concat, table.insert;
local tostring = tostring;
@@ -16,16 +18,15 @@ local new_connhandler = require "net.connhandlers".new;
add_handler("c2s_unauthed", "starttls", xmlns_starttls,
function (session, stanza)
if session.conn.starttls then
- print("Wants to do TLS...");
send(session, st.stanza("proceed", { xmlns = xmlns_starttls }));
- session.connhandler = new_connhandler("xmpp-client", session);
- session.notopen = true;
- if session.conn.starttls() then
- print("Done");
- else
- print("Failed");
- end
-
+ -- FIXME: I'm commenting the below, not sure why it was necessary
+ -- sessions[session.conn] = nil;
+ session:reset_stream();
+ session.conn.starttls();
+ session.log("info", "TLS negotiation started...");
+ else
+ -- FIXME: What reply?
+ session.log("warn", "Attempt to start TLS, but TLS is not available on this connection");
end
end);