diff options
author | Kim Alvefur <zash@zash.se> | 2019-06-10 13:22:22 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2019-06-10 13:22:22 +0200 |
commit | 5eba0ea836d508aeb3087a7d93f6e90cc1f92de8 (patch) | |
tree | 8cd84a76fb673cbfefa00ba1516bd16150f1c780 /plugins/mod_c2s.lua | |
parent | 1cc4ec5d808a55d32e3d51f30d8b50fe45268438 (diff) | |
parent | 2bb05d010d9b237a088bd9b4c997451407191d3f (diff) | |
download | prosody-5eba0ea836d508aeb3087a7d93f6e90cc1f92de8.tar.gz prosody-5eba0ea836d508aeb3087a7d93f6e90cc1f92de8.zip |
Merge 0.11->trunk
Diffstat (limited to 'plugins/mod_c2s.lua')
-rw-r--r-- | plugins/mod_c2s.lua | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/plugins/mod_c2s.lua b/plugins/mod_c2s.lua index 15d3a9be..bfec1055 100644 --- a/plugins/mod_c2s.lua +++ b/plugins/mod_c2s.lua @@ -106,7 +106,13 @@ function stream_callbacks.streamopened(session, attr) if features.tags[1] or session.full_jid then send(features); else - (session.log or log)("warn", "No stream features to offer"); + if session.secure then + -- Normally STARTTLS would be offered + (session.log or log)("warn", "No stream features to offer on secure session. Check authentication settings."); + else + -- Here SASL should be offered + (session.log or log)("warn", "No stream features to offer on insecure session. Check encryption and security settings."); + end session:close{ condition = "undefined-condition", text = "No stream features to proceed with" }; end end @@ -283,7 +289,7 @@ function listener.onconnect(conn) if data then local ok, err = stream:feed(data); if not ok then - log("debug", "Received invalid XML (%s) %d bytes: %s", tostring(err), #data, data:sub(1, 300):gsub("[\r\n]+", " "):gsub("[%z\1-\31]", "_")); + log("debug", "Received invalid XML (%s) %d bytes: %q", tostring(err), #data, data:sub(1, 300)); session:close("not-well-formed"); end end @@ -327,6 +333,13 @@ function listener.onreadtimeout(conn) end end +function listener.ondrain(conn) + local session = sessions[conn]; + if session then + return (hosts[session.host] or prosody).events.fire_event("c2s-ondrain", { session = session }); + end +end + local function keepalive(event) local session = event.session; if not session.notopen then |