Software /
code /
prosody
File
spec/util_uuid_spec.lua @ 12586:4c8941b5b05e 0.12
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.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 27 Jun 2022 01:22:36 +0200 |
parent | 8241:e7496cff1215 |
child | 12604:bd9e006a7a74 |
line wrap: on
line source
-- This tests the format, not the randomness local uuid = require "util.uuid"; describe("util.uuid", function() describe("#generate()", function() it("should work follow the UUID pattern", function() -- https://tools.ietf.org/html/rfc4122#section-4.4 local pattern = "^" .. table.concat({ string.rep("%x", 8), string.rep("%x", 4), "4" .. -- version string.rep("%x", 3), "[89ab]" .. -- reserved bits of 1 and 0 string.rep("%x", 3), string.rep("%x", 12), }, "%-") .. "$"; for _ = 1, 100 do assert.is_string(uuid.generate():match(pattern)); end end); end); end);