Annotate

.luacheckrc @ 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 8048:75e37366a03f
child 8239:20e3d5689cce
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6667
e4338c0f739a .luacheckrc: Commit initial config for luacheck
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 cache = true
6986
6aae14b079d0 .luacheckrc: Whitelist import() global function
Matthew Wild <mwild1@gmail.com>
parents: 6790
diff changeset
2 read_globals = { "prosody", "hosts", "import" }
6667
e4338c0f739a .luacheckrc: Commit initial config for luacheck
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3 globals = { "_M" }
e4338c0f739a .luacheckrc: Commit initial config for luacheck
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4 allow_defined_top = true
e4338c0f739a .luacheckrc: Commit initial config for luacheck
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5 module = true
e4338c0f739a .luacheckrc: Commit initial config for luacheck
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6 unused_secondaries = false
e4338c0f739a .luacheckrc: Commit initial config for luacheck
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7 codes = true
7953
d183ff55442f luacheckrc: Ignore shadowing of logger
Kim Alvefur <zash@zash.se>
parents: 7952
diff changeset
8 ignore = { "411/err", "421/err", "411/ok", "421/ok", "211/_ENV", "431/log" }
6750
2a2eb30b1ed4 luacheckrc: Allow plugins to implement functions under module.* (module.load, etc.)
Matthew Wild <mwild1@gmail.com>
parents: 6667
diff changeset
9
7948
ed99a8e3c260 luacheckrc: Set max line length to 150 for now [luacheck]
Kim Alvefur <zash@zash.se>
parents: 7872
diff changeset
10 max_line_length = 150
ed99a8e3c260 luacheckrc: Set max line length to 150 for now [luacheck]
Kim Alvefur <zash@zash.se>
parents: 7872
diff changeset
11
7872
3105d35cc2c2 luacheckrc: Allow mutating the global prosody and hosts tables in core/ (luacheck 0.18 adds detection of indirect mutation)
Kim Alvefur <zash@zash.se>
parents: 7479
diff changeset
12 files["core/"] = {
7949
8acc35b5355a core: Allow select core modules to mutate some globals (needs luacheck 1.19)
Kim Alvefur <zash@zash.se>
parents: 7948
diff changeset
13 read_globals = { "prosody", "hosts" };
8acc35b5355a core: Allow select core modules to mutate some globals (needs luacheck 1.19)
Kim Alvefur <zash@zash.se>
parents: 7948
diff changeset
14 globals = { "prosody.hosts.?", "hosts.?" };
7872
3105d35cc2c2 luacheckrc: Allow mutating the global prosody and hosts tables in core/ (luacheck 0.18 adds detection of indirect mutation)
Kim Alvefur <zash@zash.se>
parents: 7479
diff changeset
15 }
6750
2a2eb30b1ed4 luacheckrc: Allow plugins to implement functions under module.* (module.load, etc.)
Matthew Wild <mwild1@gmail.com>
parents: 6667
diff changeset
16 files["plugins/"] = {
7952
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
17 read_globals = {
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
18 -- Module instance
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
19 "module.name",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
20 "module.host",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
21 "module._log",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
22 "module.log",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
23 "module.event_handlers",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
24 "module.reloading",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
25 "module.saved_state",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
26 "module.global",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
27 "module.path",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
28
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
29 -- Module API
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
30 "module.add_extension",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
31 "module.add_feature",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
32 "module.add_identity",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
33 "module.add_item",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
34 "module.add_timer",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
35 "module.broadcast",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
36 "module.context",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
37 "module.depends",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
38 "module.fire_event",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
39 "module.get_directory",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
40 "module.get_host",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
41 "module.get_host_items",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
42 "module.get_host_type",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
43 "module.get_name",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
44 "module.get_option",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
45 "module.get_option_array",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
46 "module.get_option_boolean",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
47 "module.get_option_inherited_set",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
48 "module.get_option_number",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
49 "module.get_option_path",
7981
bbb900cfcfa5 luacheckrc: Add module:get_option_scalar to known globals
Kim Alvefur <zash@zash.se>
parents: 7953
diff changeset
50 "module.get_option_scalar",
7952
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
51 "module.get_option_set",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
52 "module.get_option_string",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
53 "module.handle_items",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
54 "module.has_feature",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
55 "module.has_identity",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
56 "module.hook",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
57 "module.hook_global",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
58 "module.hook_object_event",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
59 "module.hook_tag",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
60 "module.load_resource",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
61 "module.measure",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
62 "module.measure_event",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
63 "module.measure_global_event",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
64 "module.measure_object_event",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
65 "module.open_store",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
66 "module.provides",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
67 "module.remove_item",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
68 "module.require",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
69 "module.send",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
70 "module.set_global",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
71 "module.shared",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
72 "module.unhook",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
73 "module.unhook_object_event",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
74 "module.wrap_event",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
75 "module.wrap_global",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
76 "module.wrap_object_event",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
77 };
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
78 globals = {
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
79 "_M",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
80
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
81 -- Methods that can be set on module API
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
82 "module.unload",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
83 "module.add_host",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
84 "module.load",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
85 "module.add_host",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
86 "module.save",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
87 "module.restore",
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
88 "module.command",
8048
75e37366a03f luacheckrc: Declare module.environment as writable (thanks Link Mauve)
Kim Alvefur <zash@zash.se>
parents: 7981
diff changeset
89 "module.environment",
7952
38053bf1630d luacheckrc: Include entire module API
Kim Alvefur <zash@zash.se>
parents: 7949
diff changeset
90 };
6750
2a2eb30b1ed4 luacheckrc: Allow plugins to implement functions under module.* (module.load, etc.)
Matthew Wild <mwild1@gmail.com>
parents: 6667
diff changeset
91 }
7476
42d8955be784 luacheckrc: Ignore assert helper functions used in tests/*
Kim Alvefur <zash@zash.se>
parents: 6986
diff changeset
92 files["tests/"] = {
7478
2489abe342c1 luacheckrc: make test helpers read-only globals, add testlib_new_env and runtest
Anton Shestakov <av6@dwimlabs.net>
parents: 7476
diff changeset
93 read_globals = {
2489abe342c1 luacheckrc: make test helpers read-only globals, add testlib_new_env and runtest
Anton Shestakov <av6@dwimlabs.net>
parents: 7476
diff changeset
94 "testlib_new_env",
2489abe342c1 luacheckrc: make test helpers read-only globals, add testlib_new_env and runtest
Anton Shestakov <av6@dwimlabs.net>
parents: 7476
diff changeset
95 "assert_equal",
2489abe342c1 luacheckrc: make test helpers read-only globals, add testlib_new_env and runtest
Anton Shestakov <av6@dwimlabs.net>
parents: 7476
diff changeset
96 "assert_table",
2489abe342c1 luacheckrc: make test helpers read-only globals, add testlib_new_env and runtest
Anton Shestakov <av6@dwimlabs.net>
parents: 7476
diff changeset
97 "assert_function",
2489abe342c1 luacheckrc: make test helpers read-only globals, add testlib_new_env and runtest
Anton Shestakov <av6@dwimlabs.net>
parents: 7476
diff changeset
98 "assert_string",
2489abe342c1 luacheckrc: make test helpers read-only globals, add testlib_new_env and runtest
Anton Shestakov <av6@dwimlabs.net>
parents: 7476
diff changeset
99 "assert_boolean",
2489abe342c1 luacheckrc: make test helpers read-only globals, add testlib_new_env and runtest
Anton Shestakov <av6@dwimlabs.net>
parents: 7476
diff changeset
100 "assert_is",
2489abe342c1 luacheckrc: make test helpers read-only globals, add testlib_new_env and runtest
Anton Shestakov <av6@dwimlabs.net>
parents: 7476
diff changeset
101 "assert_is_not",
2489abe342c1 luacheckrc: make test helpers read-only globals, add testlib_new_env and runtest
Anton Shestakov <av6@dwimlabs.net>
parents: 7476
diff changeset
102 "runtest",
7476
42d8955be784 luacheckrc: Ignore assert helper functions used in tests/*
Kim Alvefur <zash@zash.se>
parents: 6986
diff changeset
103 };
42d8955be784 luacheckrc: Ignore assert helper functions used in tests/*
Kim Alvefur <zash@zash.se>
parents: 6986
diff changeset
104 }