mod_smacks: Bounce unhandled stanzas from local origin (fix #1759)
Sending stanzas with a remote session as origin when the stanzas have a
local JID in the from attribute trips validation in core.stanza_router,
leading to warnings:
> Received a stanza claiming to be from remote.example, over a stream authed for localhost.example
Using module:send() uses the local host as origin, which is fine here.
local sasl = require "util.sasl";
-- profile * mechanism
-- callbacks could use spies instead
describe("util.sasl", function ()
describe("plain_test profile", function ()
local profile = {
plain_test = function (_, username, password, realm)
assert.equals("user", username)
assert.equals("pencil", password)
assert.equals("sasl.test", realm)
return true, true;
end;
};
it("works with PLAIN", function ()
local plain = sasl.new("sasl.test", profile);
assert.truthy(plain:select("PLAIN"));
assert.truthy(plain:process("\000user\000pencil"));
assert.equals("user", plain.username);
end);
end);
describe("plain profile", function ()
local profile = {
plain = function (_, username, realm)
assert.equals("user", username)
assert.equals("sasl.test", realm)
return "pencil", true;
end;
};
it("works with PLAIN", function ()
local plain = sasl.new("sasl.test", profile);
assert.truthy(plain:select("PLAIN"));
assert.truthy(plain:process("\000user\000pencil"));
assert.equals("user", plain.username);
end);
-- TODO SCRAM
end);
end);