Annotate

DEPENDS @ 8791:8da11142fabf

muc: Allow clients to change multiple affiliations or roles at once (#345) According to XEP-0045 sections 9.2, 9.5 and 9.8 affiliation lists and role lists should allow mass-modification. Prosody however would just use the first entry of the list and ignore the rest. This is fixed by introducing a `for` loop to `set` stanzas of the respective `muc#admin` namespace. In order for this loop to work, the error handling was changed a little. Prosody no longer returns after the first error. Instead, an error reply is sent for each malformed or otherwise wrong entry, but the loop keeps going over the other entries. This may lead to multiple error messages being sent for one client request. A notable exception from this is when the XML Schema for `muc#admin` requests is violated. In that case the loop is aborted with an error message to the client. The change is a bit bigger than that in order to have the loop only for `set` stanzas without changing the behaviour of the `get` stanzas. This is now more in line with trunk, where there are separate methods for each stanza type. References: #345
author Lennart Sauerbeck <devel@lennart.sauerbeck.org>
date Sat, 18 Mar 2017 18:47:28 +0100
parent 5406:9903a03b7b3e
child 8454:90962ef41bf3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5406
9903a03b7b3e DEPENDS: Update (LuaSec now has a rock) and add link to /doc/depends
Matthew Wild <mwild1@gmail.com>
parents: 4914
diff changeset
1
9903a03b7b3e DEPENDS: Update (LuaSec now has a rock) and add link to /doc/depends
Matthew Wild <mwild1@gmail.com>
parents: 4914
diff changeset
2 For full information on our dependencies, version requirements, and
9903a03b7b3e DEPENDS: Update (LuaSec now has a rock) and add link to /doc/depends
Matthew Wild <mwild1@gmail.com>
parents: 4914
diff changeset
3 where to find them, see http://prosody.im/doc/depends
9903a03b7b3e DEPENDS: Update (LuaSec now has a rock) and add link to /doc/depends
Matthew Wild <mwild1@gmail.com>
parents: 4914
diff changeset
4
9903a03b7b3e DEPENDS: Update (LuaSec now has a rock) and add link to /doc/depends
Matthew Wild <mwild1@gmail.com>
parents: 4914
diff changeset
5 If you have luarocks available on your platform, install the following:
7
dcc5ac721c20 - Remove some debugging code
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6
5406
9903a03b7b3e DEPENDS: Update (LuaSec now has a rock) and add link to /doc/depends
Matthew Wild <mwild1@gmail.com>
parents: 4914
diff changeset
7 - luaexpat
9903a03b7b3e DEPENDS: Update (LuaSec now has a rock) and add link to /doc/depends
Matthew Wild <mwild1@gmail.com>
parents: 4914
diff changeset
8 - luasocket
9903a03b7b3e DEPENDS: Update (LuaSec now has a rock) and add link to /doc/depends
Matthew Wild <mwild1@gmail.com>
parents: 4914
diff changeset
9 - luafilesystem
9903a03b7b3e DEPENDS: Update (LuaSec now has a rock) and add link to /doc/depends
Matthew Wild <mwild1@gmail.com>
parents: 4914
diff changeset
10 - luasec
7
dcc5ac721c20 - Remove some debugging code
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11