annotate mod_compat_bind/mod_compat_bind.lua @ 3503:882180b459a0

mod_pubsub_post: Restructure authentication and authorization (BC) This deprecates the default "superuser" actor model and makes the default equivalent to the previous "request.id". A single actor and secret per node is supported because HTTP and WebHooks don't normally include any authorization identity. Allowing authentication bypass when no secret is given should be relatively safe when the actor is unprivileged, as will be unless explicitly configured otherwise.
author Kim Alvefur <zash@zash.se>
date Sat, 30 Mar 2019 21:16:13 +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);