mod_blocklist: Drop blocked messages without error, option to restore compliant behavior
From XEP-0191:
> For message stanzas, the server SHOULD return an error, which SHOULD
> be <service-unavailable/>.
Following this may leak to a blocked JID that they have been blocked,
which seems contrary to the goal of pretending to be perpetually
offline.
-- luacheck: ignore 212
local driver = {};
local driver_mt = { __index = driver };
function driver:open(store, typ)
if typ and typ ~= "keyval" and typ ~= "archive" then
return nil, "unsupported-store";
end
return setmetatable({ store = store, type = typ }, driver_mt);
end
function driver:get(user)
return {};
end
function driver:set(user, data)
return nil, "Storage disabled";
end
function driver:stores(username)
return { "roster" };
end
function driver:purge(user)
return true;
end
function driver:append()
return nil, "Storage disabled";
end
function driver:find()
return function () end, 0;
end
function driver:delete()
return true;
end
module:provides("storage", driver);