Annotate

TODO @ 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 5405:4f98f2f60e22
child 9803:35ef6af41600
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5405
4f98f2f60e22 TODO: Remove 0.9
Matthew Wild <mwild1@gmail.com>
parents: 4938
diff changeset
1 == 1.0 ==
4138
62f5e6b11571 TODO: Update for 0.9 milestones
Matthew Wild <mwild1@gmail.com>
parents: 4134
diff changeset
2 - Roster providers
4938
76a960bff4c7 TODO: Add statistics
Matthew Wild <mwild1@gmail.com>
parents: 4138
diff changeset
3 - Statistics
4138
62f5e6b11571 TODO: Update for 0.9 milestones
Matthew Wild <mwild1@gmail.com>
parents: 4134
diff changeset
4 - Clustering
2663
b3d1c4985182 TODO: Update
Matthew Wild <mwild1@gmail.com>
parents: 1520
diff changeset
5 - World domination