Mercurial > prosody-modules
changeset 1900:41ebdb331b94
mod_compat_dialback: Workaround for Dialback with servers that violate RFC 6120 ยง 4.7.2
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 11 Oct 2015 15:39:23 +0200 |
parents | ceb594a14a18 |
children | 392e62f518a5 |
files | mod_compat_dialback/README.markdown mod_compat_dialback/mod_compat_dialback.lua |
diffstat | 2 files changed, 36 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_compat_dialback/README.markdown Sun Oct 11 15:39:23 2015 +0200 @@ -0,0 +1,21 @@ +--- +summary: Workaround for Dialback with some servers that violate RFC 6120 +... + +This module provides a workaround for servers that do not set the `to` +attribute on stream headers, which is required per [RFC6120]: + +> ## 4.7.2. to +> +> For initial stream headers in both client-to-server and +> server-to-server communication, the initiating entity MUST include the +> 'to' attribute and MUST set its value to a domainpart that the +> initiating entity knows or expects the receiving entity to service. + +As a side effect of [this issue](https://prosody.im/issues/issue/285), +Prosody 0.10 will be unable to do [Dialback][xep220] with servers that +don't follow this. + +# Known servers affected + +* Openfire 3.10.2 (and probably earlier versions)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_compat_dialback/mod_compat_dialback.lua Sun Oct 11 15:39:23 2015 +0200 @@ -0,0 +1,15 @@ +-- Prosody IM +-- Copyright (C) 2008-2010 Matthew Wild +-- Copyright (C) 2008-2010 Waqas Hussain +-- +-- This project is MIT/X11 licensed. Please see the +-- COPYING file in the source package for more information. +-- + +module:set_global(); + +module:global("s2s-stream-features-legacy", function (data) + if data.origin.type == "s2sin_unauthed" then + data.features:tag("dialback", { xmlns='urn:xmpp:features:dialback' }):up(); + end +end);