Tue, 11 Oct 2022 15:41:05 +0100 util.jid: Add test for invalid domain but valid UTF-8 (thanks jonas)
Matthew Wild <mwild1@gmail.com> [Tue, 11 Oct 2022 15:41:05 +0100] rev 12774
util.jid: Add test for invalid domain but valid UTF-8 (thanks jonas)
Tue, 11 Oct 2022 13:35:09 +0100 util.jid: Simplify boolean logic in conditionals
Matthew Wild <mwild1@gmail.com> [Tue, 11 Oct 2022 13:35:09 +0100] rev 12773
util.jid: Simplify boolean logic in conditionals
Tue, 11 Oct 2022 13:33:19 +0100 util.jid: Remove redundant check from split() (micro-optimization?)
Matthew Wild <mwild1@gmail.com> [Tue, 11 Oct 2022 13:33:19 +0100] rev 12772
util.jid: Remove redundant check from split() (micro-optimization?)
Tue, 11 Oct 2022 13:31:47 +0100 util.jid: Add missing test cases
Matthew Wild <mwild1@gmail.com> [Tue, 11 Oct 2022 13:31:47 +0100] rev 12771
util.jid: Add missing test cases (98% mutant score, single remaining mutant is a string.sub equivalent)
Tue, 11 Oct 2022 13:12:26 +0100 .luacheckrc: Add test_mutants.sh.lua to the ignore list
Matthew Wild <mwild1@gmail.com> [Tue, 11 Oct 2022 13:12:26 +0100] rev 12770
.luacheckrc: Add test_mutants.sh.lua to the ignore list
Tue, 11 Oct 2022 11:53:48 +0100 tools: Add initial mutation testing script
Matthew Wild <mwild1@gmail.com> [Tue, 11 Oct 2022 11:53:48 +0100] rev 12769
tools: Add initial mutation testing script
Tue, 11 Oct 2022 11:38:32 +0100 util.dbuffer: Add a bunch of missing test cases
Matthew Wild <mwild1@gmail.com> [Tue, 11 Oct 2022 11:38:32 +0100] rev 12768
util.dbuffer: Add a bunch of missing test cases Found via mutation testing.
Tue, 11 Oct 2022 11:37:55 +0100 util.dbuffer: Add efficient shortcuts for discard() in certain cases
Matthew Wild <mwild1@gmail.com> [Tue, 11 Oct 2022 11:37:55 +0100] rev 12767
util.dbuffer: Add efficient shortcuts for discard() in certain cases If the buffer is already empty, nothing to do. If we're throwing away the whole buffer, we can just empty it and avoid read_chunk() (which in turn may collapse()). These shortcuts are much more efficient.
Tue, 11 Oct 2022 11:34:47 +0100 util.dbuffer: Remove redundant code (read_chunk() cannot fail at this point)
Matthew Wild <mwild1@gmail.com> [Tue, 11 Oct 2022 11:34:47 +0100] rev 12766
util.dbuffer: Remove redundant code (read_chunk() cannot fail at this point)
Sun, 09 Oct 2022 15:50:25 +0200 Merge 0.12->trunk
Kim Alvefur <zash@zash.se> [Sun, 09 Oct 2022 15:50:25 +0200] rev 12765
Merge 0.12->trunk
Sun, 09 Oct 2022 15:42:25 +0200 util.jsonschema: Use same integer/float logic on Lua 5.2 and 5.3 0.12
Kim Alvefur <zash@zash.se> [Sun, 09 Oct 2022 15:42:25 +0200] rev 12764
util.jsonschema: Use same integer/float logic on Lua 5.2 and 5.3 Fixes test case type.json:0:1 covering treatment of 1.0 as an integer according to the JSON definition
Sun, 09 Oct 2022 15:38:36 +0200 util.jsonschema: Fix Lua 5.2 integer compat 0.12
Kim Alvefur <zash@zash.se> [Sun, 09 Oct 2022 15:38:36 +0200] rev 12763
util.jsonschema: Fix Lua 5.2 integer compat math.type() is unavailable before Lua 5.3 so this should use the compat function added at the top
Sun, 09 Oct 2022 15:24:30 +0200 util.jsonschema: Ignore test case for JavaScript specific detail 0.12
Kim Alvefur <zash@zash.se> [Sun, 09 Oct 2022 15:24:30 +0200] rev 12762
util.jsonschema: Ignore test case for JavaScript specific detail Also touching on how arrays are indistinguishable from tables in Lua
Sun, 09 Oct 2022 15:24:26 +0200 util.jsonschema: Ignore some further test cases for URI references 0.12
Kim Alvefur <zash@zash.se> [Sun, 09 Oct 2022 15:24:26 +0200] rev 12761
util.jsonschema: Ignore some further test cases for URI references Full-URI references are not implemented
Sun, 09 Oct 2022 14:58:07 +0200 util.jsonschema: Sort test cases to skip 0.12
Kim Alvefur <zash@zash.se> [Sun, 09 Oct 2022 14:58:07 +0200] rev 12760
util.jsonschema: Sort test cases to skip Piped trough `sort -g`
Sat, 08 Oct 2022 23:55:22 +0100 util.datetime: Add some missing test cases
Matthew Wild <mwild1@gmail.com> [Sat, 08 Oct 2022 23:55:22 +0100] rev 12759
util.datetime: Add some missing test cases You guessed it, mutation testing.
Sat, 08 Oct 2022 20:39:14 +0100 util.roles: Fix tests to use autogenerated role id
Matthew Wild <mwild1@gmail.com> [Sat, 08 Oct 2022 20:39:14 +0100] rev 12758
util.roles: Fix tests to use autogenerated role id
Sat, 08 Oct 2022 20:33:01 +0100 util.roles: Add some more missing test cases
Matthew Wild <mwild1@gmail.com> [Sat, 08 Oct 2022 20:33:01 +0100] rev 12757
util.roles: Add some more missing test cases Found via mutation testing.
Fri, 07 Oct 2022 18:04:30 +0100 util.promise: Fix field name in failing test (introduced in 2639e0e1c378)
Matthew Wild <mwild1@gmail.com> [Fri, 07 Oct 2022 18:04:30 +0100] rev 12756
util.promise: Fix field name in failing test (introduced in 2639e0e1c378)
Fri, 07 Oct 2022 17:56:38 +0100 util.promise: Add some missing test cases (found through mutation testing)
Matthew Wild <mwild1@gmail.com> [Fri, 07 Oct 2022 17:56:38 +0100] rev 12755
util.promise: Add some missing test cases (found through mutation testing)
Fri, 07 Oct 2022 17:45:23 +0100 util.promise: Remove line that was supposed to be removed in eb9814372c54
Matthew Wild <mwild1@gmail.com> [Fri, 07 Oct 2022 17:45:23 +0100] rev 12754
util.promise: Remove line that was supposed to be removed in eb9814372c54
Fri, 07 Oct 2022 17:43:26 +0100 util.promise: Remove some redundant checks, add tests confirming redundancy
Matthew Wild <mwild1@gmail.com> [Fri, 07 Oct 2022 17:43:26 +0100] rev 12753
util.promise: Remove some redundant checks, add tests confirming redundancy This lines don't appear to do anything useful, and all tests pass when they are removed. Discovered via mutation testing. I added extra tests to exercise this code, because I wasn't certain that there were no side-effects caused by removal. Everything appears to be fine, thanks to the "pending" check at the start of promise_settle().
Fri, 07 Oct 2022 17:01:35 +0100 util.roles: Add a :policies() method to iterate through available policies
Matthew Wild <mwild1@gmail.com> [Fri, 07 Oct 2022 17:01:35 +0100] rev 12752
util.roles: Add a :policies() method to iterate through available policies We don't expose the policies directly, to force people to go through :may(). However, there are times when we really just need to know what policies a role has inside it (e.g. for reporting or debugging purposes).
Fri, 07 Oct 2022 16:58:52 +0100 util.roles: Add tests
Matthew Wild <mwild1@gmail.com> [Fri, 07 Oct 2022 16:58:52 +0100] rev 12751
util.roles: Add tests
Fri, 07 Oct 2022 16:58:08 +0100 util.roles: Return nil if the role has no explicit policy (fixes inheritance)
Matthew Wild <mwild1@gmail.com> [Fri, 07 Oct 2022 16:58:08 +0100] rev 12750
util.roles: Return nil if the role has no explicit policy (fixes inheritance) Previously, if the first inherited role had no opinion, it returned false and prevented further consultation of other inherited roles. This bug was found thanks to the implementation of missing test cases identified through mutation testing.
Fri, 07 Oct 2022 11:35:56 +0100 mod_smacks: Change boolean attribute from '1' to 'true' for compatibility
Matthew Wild <mwild1@gmail.com> [Fri, 07 Oct 2022 11:35:56 +0100] rev 12749
mod_smacks: Change boolean attribute from '1' to 'true' for compatibility Conversations 2.10.10 and earlier expect this to be literally 'true' and don't recognise '1'. This leads to it not attempting resumption with Prosody at all since this change was introduced in 36ba170c4fd0. Thanks to Zash for noticing, debugging and diagnosing this issue. This issue is fixed in Conversations commit 052c58f3 (unreleased at the time of writing).
Thu, 06 Oct 2022 18:34:40 +0100 util.iterators: join: Work even with only a single iterator in the chain
Matthew Wild <mwild1@gmail.com> [Thu, 06 Oct 2022 18:34:40 +0100] rev 12748
util.iterators: join: Work even with only a single iterator in the chain
Thu, 06 Oct 2022 16:00:39 +0100 mod_tokenauth: Remove expired tokens from storage
Matthew Wild <mwild1@gmail.com> [Thu, 06 Oct 2022 16:00:39 +0100] rev 12747
mod_tokenauth: Remove expired tokens from storage
Thu, 06 Oct 2022 15:59:07 +0100 mod_tokenauth: Invalidate tokens issued before most recent password change
Matthew Wild <mwild1@gmail.com> [Thu, 06 Oct 2022 15:59:07 +0100] rev 12746
mod_tokenauth: Invalidate tokens issued before most recent password change This is a security improvement, to ensure that sessions authenticated using a token (note: not currently possible in stock Prosody) are invalidated just like password-authenticated sessions are.
Thu, 06 Oct 2022 11:12:57 +0100 prosodyctl: check turn: More clearly indicate the error is from TURN server
Matthew Wild <mwild1@gmail.com> [Thu, 06 Oct 2022 11:12:57 +0100] rev 12745
prosodyctl: check turn: More clearly indicate the error is from TURN server
(0) -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 tip