mod_compat_roles: Fix attempt to index a nil value #1847
permissions[] is not a map with role names as keys since 817bc9873fc2
but instead a level with host names were added. This was likely an
oversight.
Refactored towards railroad.
assert(module:get_host_type() == "component", "This module should be loaded as a Component");
local st = require "util.stanza";
module:hook("presence/bare", function(event)
local origin, stanza = event.origin, event.stanza;
if stanza.attr.type == "probe" then
-- they are subscribed and want our current presence
-- tell them we denied their subscription
local reply = st.reply(stanza)
reply.attr.type = "unsubcribed";
origin.send(reply);
return true;
elseif stanza.attr.type == nil then
-- they think we are subscribed and sent their current presence
-- tell them we unsubscribe
local reply = st.reply(stanza)
reply.attr.type = "unsubcribe";
origin.send(reply);
return true;
end
-- fall trough to default error
end);