mod_saslauth: Set a nicer bounce error explaining SASL EXTERNAL failures
Better than the previous string concatenation of SASL failure condition
and optional text sent by the remote server.
Would be nice to have a text per condition, other than the probably most
common 'not-authorized'.
-- 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);