Kim Alvefur <zash@zash.se> [Mon, 11 Jul 2022 17:32:13 +0200] rev 12592
Merge 0.12->trunk
Kim Alvefur <zash@zash.se> [Sun, 10 Jul 2022 16:10:29 +0200] rev 12591
luacheck: Set expected globals to Lua 5.4 + compat
Requires luacheck 0.25.0
Kim Alvefur <zash@zash.se> [Mon, 27 Jun 2022 01:22:36 +0200] rev 12590
core.s2smanager: Don't remove unrelated session on close of bidi session
Normally with bidi, any outgoing connection should be the same as the
incoming, hence when closing a bidi connection it should be removed as a
route to the remote server. However it is not guaranteed, a remote bidi-capable server
might have decided to open a new connection for some reason. This can
lead to a situation where there are two bidi connections, and the s2sout
route is a locally initiated s2sout connection. In this case, such a
s2sout connection should be kept.
Noticed in a rare case where bidi has just been enabled on a running
server, and something establishes new connections immediately when a
connection is closed.
Kim Alvefur <zash@zash.se> [Fri, 08 Jul 2022 19:56:29 +0200] rev 12589
Merge 0.12->trunk
Kim Alvefur <zash@zash.se> [Mon, 30 May 2022 17:34:58 +0200] rev 12588
luacheck: Shut up (backports 3caff1f93520, ignores module deleted in trunk)
Kim Alvefur <zash@zash.se> [Fri, 08 Jul 2022 19:43:47 +0200] rev 12587
Merge 0.12->trunk
Kim Alvefur <zash@zash.se> [Fri, 08 Jul 2022 19:42:48 +0200] rev 12586
Backport 875f73ead4e8 8e4033213c62 to deal with luacheck 0.26
Kim Alvefur <zash@zash.se> [Fri, 08 Jul 2022 19:36:07 +0200] rev 12585
Merge 0.12->trunk
Kim Alvefur <zash@zash.se> [Fri, 08 Jul 2022 17:32:48 +0200] rev 12584
util.datamapper: Improve handling of schemas with non-obvious "type"
The JSON Schema specification says that schemas are objects or booleans,
and that the 'type' property is optional and can be an array.
This module previously allowed bare type names as schemas and did not
really handle booleans.
It now handles missing 'type' properties and boolean 'true' as a schema.
Objects and arrays are guessed based on the presence of 'properties' or
'items' field.
Kim Alvefur <zash@zash.se> [Fri, 08 Jul 2022 14:38:23 +0200] rev 12583
util.jsonschema: Fix validation to not assume presence of "type" field
MattJ reported a curious issue where validation did not work as
expected. Primarily that the "type" field was expected to be mandatory,
and thus leaving it out would result in no checks being performed.
This was likely caused by misreading during initial development.
Spent some time testing against
https://github.com/json-schema-org/JSON-Schema-Test-Suite.git and
discovered a multitude of issues, far too many to bother splitting into
separate commits.
More than half of them fail. Many because of features not implemented,
which have been marked NYI. For example, some require deep comparisons
e.g. when objects or arrays are present in enums fields.
Some because of quirks with how Lua differs from JavaScript, e.g. no
distinct array or object types. Tests involving fractional floating
point numbers. We're definitely not going to follow references to remote
resources. Or deal with UTF-16 sillyness. One test asserted that 1.0 is
an integer, where Lua 5.3+ will disagree.