projects
/
prosody.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mod_pubsub: More strict checks for node and ids
[prosody.git]
/
plugins
/
mod_c2s.lua
diff --git
a/plugins/mod_c2s.lua
b/plugins/mod_c2s.lua
index e9b24f696c9db13a6c006872636fa2e959ef9575..89d678caedc62ef446ab0163f353a7cd5345c42e 100644
(file)
--- a/
plugins/mod_c2s.lua
+++ b/
plugins/mod_c2s.lua
@@
-66,6
+66,14
@@
function stream_callbacks.streamopened(session, attr)
-- since we now have a new stream header, session is secured
if session.secure == false then
session.secure = true;
-- since we now have a new stream header, session is secured
if session.secure == false then
session.secure = true;
+
+ -- Check if TLS compression is used
+ local sock = session.conn:socket();
+ if sock.info then
+ session.compressed = sock:info"compression";
+ elseif sock.compression then
+ session.compressed = sock:compression(); --COMPAT mw/luasec-hg
+ end
end
local features = st.stanza("stream:features");
end
local features = st.stanza("stream:features");
@@
-189,6
+197,14
@@
function listener.onconnect(conn)
-- Client is using legacy SSL (otherwise mod_tls sets this flag)
if conn:ssl() then
session.secure = true;
-- Client is using legacy SSL (otherwise mod_tls sets this flag)
if conn:ssl() then
session.secure = true;
+
+ -- Check if TLS compression is used
+ local sock = conn:socket();
+ if sock.info then
+ session.compressed = sock:info"compression";
+ elseif sock.compression then
+ session.compressed = sock:compression(); --COMPAT mw/luasec-hg
+ end
end
if opt_keepalives then
end
if opt_keepalives then
@@
-249,7
+265,16
@@
function listener.associate_session(conn, session)
sessions[conn] = session;
end
sessions[conn] = session;
end
-module:add_item("net-provider", {
+module:hook("server-stopping", function(event)
+ local reason = event.reason;
+ for _, session in pairs(sessions) do
+ session:close{ condition = "system-shutdown", text = reason };
+ end
+end, 1000);
+
+
+
+module:provides("net", {
name = "c2s";
listener = listener;
default_port = 5222;
name = "c2s";
listener = listener;
default_port = 5222;
@@
-259,7
+284,7
@@
module:add_item("net-provider", {
};
});
};
});
-module:
add_item("net-provider
", {
+module:
provides("net
", {
name = "legacy_ssl";
listener = listener;
encryption = "ssl";
name = "legacy_ssl";
listener = listener;
encryption = "ssl";