Software /
code /
prosody
Diff
plugins/mod_tls.lua @ 69:5b664c8fef86
forgot to commit mod_tls, oops :)
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Tue, 07 Oct 2008 23:13:30 +0100 |
child | 99:ba08b8a4eeef |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/mod_tls.lua Tue Oct 07 23:13:30 2008 +0100 @@ -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, "<starttls xmlns='"..xmlns_starttls.."'/>"); + end + end); \ No newline at end of file