Mercurial > prosody-modules
view mod_firewall/marks.lib.lua @ 3953:2c6d5734ae04
mod_rest: Add JSON mapping of XEP-0128: Service Discovery Extensions
Example XEP-0157 payload:
{
"disco" : {
"extensions" : {
"http://jabber.org/network/serverinfo" : {
"abuse-addresses" : [
"mailto:abuse@shakespeare.lit",
"xmpp:abuse@shakespeare.lit"
],
"admin-addresses" : [
"mailto:admin@shakespeare.lit",
"xmpp:admin@shakespeare.lit"
],
"feedback-addresses" : [
"http://shakespeare.lit/feedback.php",
"mailto:feedback@shakespeare.lit",
"xmpp:feedback@shakespeare.lit"
],
"sales-addresses" : [
"xmpp:bard@shakespeare.lit"
],
"security-addresses" : [
"xmpp:security@shakespeare.lit"
],
"support-addresses" : [
"http://shakespeare.lit/support.php",
"xmpp:support@shakespeare.lit"
]
}
}
}
}
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 23 Mar 2020 19:03:04 +0100 |
parents | 165d2877eeac |
children | 96dec7681af8 |
line wrap: on
line source
local mark_storage = module:open_store("firewall_marks"); local user_sessions = prosody.hosts[module.host].sessions; module:hook("resource-bind", function (event) local session = event.session; local username = session.username; local user = user_sessions[username]; local marks = user.firewall_marks; if not marks then marks = mark_storage:get(username) or {}; user.firewall_marks = marks; -- luacheck: ignore 122 end session.firewall_marks = marks; end); module:hook("resource-unbind", function (event) local session = event.session; local username = session.username; local marks = session.firewall_marks; mark_storage:set(username, marks); end);