From 014df9a22a4b0519034423f198bdb5bcac5b6f21 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Tue, 7 Oct 2008 23:13:30 +0100 Subject: forgot to commit mod_tls, oops :) --- plugins/mod_tls.lua | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 plugins/mod_tls.lua (limited to 'plugins') diff --git a/plugins/mod_tls.lua b/plugins/mod_tls.lua new file mode 100644 index 00000000..22df4b28 --- /dev/null +++ b/plugins/mod_tls.lua @@ -0,0 +1,37 @@ + +local st = require "util.stanza"; +local send = require "core.sessionmanager".send_to_session; +local sm_bind_resource = require "core.sessionmanager".bind_resource; + +local usermanager_validate_credentials = require "core.usermanager".validate_credentials; +local t_concat, t_insert = table.concat, table.insert; +local tostring = tostring; + +local log = require "util.logger".init("mod_starttls"); + +local xmlns_starttls ='urn:ietf:params:xml:ns:xmpp-tls'; + +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 + + end + end); + +add_event_hook("stream-features", + function (session, features) + if session.conn.starttls then + t_insert(features, ""); + end + end); \ No newline at end of file -- cgit v1.2.3