annotate mod_compat_bind/mod_compat_bind.lua @ 3955:017f60608fc8

mod_smacks: also count outgoing MAM messages mod_smacks doesn't count outgoing MAM messages, which causes warnings in Prosody such as: > The client says it handled 41 new stanzas, but we only sent 2 It seems mod_smacks is in the wrong here and that it's too strict in trying to determine what is a valid stanza to count. In RFC6120: > Definition of XML Stanza: An XML stanza is the basic unit of meaning > in XMPP. A stanza is a first-level element (at depth=1 of the stream) > whose element name is "message", "presence", or "iq" and whose > qualifying namespace is 'jabber:client' or 'jabber:server'.
author JC Brand <jc@opkode.com>
date Thu, 26 Mar 2020 11:57:02 +0100
parents 73fbfd1e820b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
748
f25b6a9f97bb mod_compat_bind: Compatibility (ugh) with clients that send the resource bind to the login host (ugh)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 -- Compatibility with clients that set 'to' on resource bind requests
f25b6a9f97bb mod_compat_bind: Compatibility (ugh) with clients that send the resource bind to the login host (ugh)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2 --
f25b6a9f97bb mod_compat_bind: Compatibility (ugh) with clients that send the resource bind to the login host (ugh)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3 -- http://xmpp.org/rfcs/rfc3920.html#bind
f25b6a9f97bb mod_compat_bind: Compatibility (ugh) with clients that send the resource bind to the login host (ugh)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4 -- http://xmpp.org/rfcs/rfc6120.html#bind-servergen-success
f25b6a9f97bb mod_compat_bind: Compatibility (ugh) with clients that send the resource bind to the login host (ugh)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5
f25b6a9f97bb mod_compat_bind: Compatibility (ugh) with clients that send the resource bind to the login host (ugh)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6 local st = require "util.stanza";
f25b6a9f97bb mod_compat_bind: Compatibility (ugh) with clients that send the resource bind to the login host (ugh)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7
f25b6a9f97bb mod_compat_bind: Compatibility (ugh) with clients that send the resource bind to the login host (ugh)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8 module:hook("iq/host/urn:ietf:params:xml:ns:xmpp-bind:bind", function(event)
f25b6a9f97bb mod_compat_bind: Compatibility (ugh) with clients that send the resource bind to the login host (ugh)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9 local fixed_stanza = st.clone(event.stanza);
f25b6a9f97bb mod_compat_bind: Compatibility (ugh) with clients that send the resource bind to the login host (ugh)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10 fixed_stanza.attr.to = nil;
2322
73fbfd1e820b mod_compat_bind: Use non-deprecated way to access core_process_stanza (thanks Roi)
Kim Alvefur <zash@zash.se>
parents: 748
diff changeset
11 prosody.core_process_stanza(event.origin, fixed_stanza);
748
f25b6a9f97bb mod_compat_bind: Compatibility (ugh) with clients that send the resource bind to the login host (ugh)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12 return true;
f25b6a9f97bb mod_compat_bind: Compatibility (ugh) with clients that send the resource bind to the login host (ugh)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
13 end);