diff --git a/prosody-modules/mod_websocket_s2s_peertubelivechat/mod_websocket_s2s_peertubelivechat.lua b/prosody-modules/mod_websocket_s2s_peertubelivechat/mod_websocket_s2s_peertubelivechat.lua index cb6298ae..26be093d 100644 --- a/prosody-modules/mod_websocket_s2s_peertubelivechat/mod_websocket_s2s_peertubelivechat.lua +++ b/prosody-modules/mod_websocket_s2s_peertubelivechat/mod_websocket_s2s_peertubelivechat.lua @@ -36,6 +36,7 @@ local consider_websocket_secure = module:get_option_boolean("consider_websocket_ local xmlns_framing = "urn:ietf:params:xml:ns:xmpp-framing-server"; local xmlns_streams = "http://etherx.jabber.org/streams"; +local xmlns_dialback = "jabber:server:dialback"; local xmlns_server = "jabber:server"; local stream_xmlns_attr = {xmlns='urn:ietf:params:xml:ns:xmpp-streams'}; @@ -134,6 +135,7 @@ local function filter_open_close(data) oc.name = "stream:stream"; oc.attr.xmlns = nil; oc.attr["xmlns:stream"] = xmlns_streams; + oc.attr["xmlns:db"] = xmlns_dialback; return oc:top_tag(); end @@ -651,6 +653,7 @@ function route_to_new_session(event) session.open_stream = session_open_stream; session.close = session_close; + session.secure = true; -- FIXME should test if protocol is wss or ws local ex = {}; ex["headers"] = ws_properties.extra_headers or {}; diff --git a/server/lib/prosody/config/content.ts b/server/lib/prosody/config/content.ts index bf8fb0ae..c3445822 100644 --- a/server/lib/prosody/config/content.ts +++ b/server/lib/prosody/config/content.ts @@ -296,6 +296,8 @@ class ProsodyConfigContent { this.global.set('peertubelivechat_instance_url', publicServerUrl) this.global.add('modules_enabled', 'websocket_s2s_peertubelivechat') + // s2s_close_timeout must be set accordingly with nginx timeout (30s) + this.global.set('s2s_close_timeout', 29) // FIXME: seems to be necessary to add the module on the muc host, so that dialback can trigger route/remote. this.muc.add('modules_enabled', 'websocket_s2s_peertubelivechat')