util.error: Fix error on conversion of invalid error stanza, fix #1805
Error stanzas should have an <error> element, but if you pass a
stanza without one to util.error.from_stanza() it triggers an attempt to
index a nil value, which this patch avoids.
In the conditional, it should be safe to assume error_tag is non-nil
since condition can't have those values then.
-- 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);