From 2f107f1ef33466161ada9f796a1a56e2cce973a4 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Fri, 29 May 2009 14:28:53 +0100 Subject: [PATCH] sessionmanager, mod_tls: Mark a session as secure when TLS is active --- core/sessionmanager.lua | 6 ++++++ plugins/mod_tls.lua | 1 + 2 files changed, 7 insertions(+) diff --git a/core/sessionmanager.lua b/core/sessionmanager.lua index 68493d87..07c44dfb 100644 --- a/core/sessionmanager.lua +++ b/core/sessionmanager.lua @@ -171,6 +171,12 @@ function streamopened(session, attr) session:close{ condition = "host-unknown", text = "This server does not serve "..tostring(session.host)}; return; end + + -- If session.secure is *false* (not nil) then it means we /were/ encrypting + -- since we now have a new stream header, session is secured + if session.secure == false then + session.secure = true; + end local features = st.stanza("stream:features"); fire_event("stream-features", session, features); diff --git a/plugins/mod_tls.lua b/plugins/mod_tls.lua index b382f318..85dc6bba 100644 --- a/plugins/mod_tls.lua +++ b/plugins/mod_tls.lua @@ -19,6 +19,7 @@ module:add_handler("c2s_unauthed", "starttls", xmlns_starttls, session:reset_stream(); session.conn.starttls(); session.log("info", "TLS negotiation started..."); + session.secure = false; else -- FIXME: What reply? session.log("warn", "Attempt to start TLS, but TLS is not available on this connection"); -- 2.30.2