diff options
author | Kim Alvefur <zash@zash.se> | 2019-07-08 02:44:32 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2019-07-08 02:44:32 +0200 |
commit | f1406ebe53dd38003cd1fd3121946ae4924de03c (patch) | |
tree | 6b13265c066c8c32f4ed5d44fc9ca8421d118d06 /plugins/mod_c2s.lua | |
parent | 5399b9b9057f8202ceb25e933d10e1825383bc99 (diff) | |
parent | 37fc8f2a2fdaac95d7aee6e51b88514f3febef31 (diff) | |
download | prosody-f1406ebe53dd38003cd1fd3121946ae4924de03c.tar.gz prosody-f1406ebe53dd38003cd1fd3121946ae4924de03c.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 |