Software /
code /
prosody
File
plugins/mod_csi.lua @ 11304:c022b582d312
util.startup: Don't create installer plugin path (as root)
Since this runs before dropping root, the directory ends up being owned
by root, resulting in luarocks failing to install anything, since by
then it would be running as the prosody user.
luarocks creates this directory if needed, so creating it during startup
is not necessary.
One potential issue is if the directory is somewhere where Prosody can't
write, but then you will simply have to create it yourself with the
appropriate permissions.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 24 Jan 2021 15:57:48 +0100 |
parent | 10429:0b04d25c4ffb |
child | 12977:74b9e05af71e |
line wrap: on
line source
local st = require "util.stanza"; local xmlns_csi = "urn:xmpp:csi:0"; local csi_feature = st.stanza("csi", { xmlns = xmlns_csi }); local csi_handler_available = nil; module:hook("stream-features", function (event) if event.origin.username and csi_handler_available then event.features:add_child(csi_feature); end end); function refire_event(name) return function (event) if event.origin.username then event.origin.state = event.stanza.name; module:fire_event(name, event); return true; end end; end module:hook("stanza/"..xmlns_csi..":active", refire_event("csi-client-active")); module:hook("stanza/"..xmlns_csi..":inactive", refire_event("csi-client-inactive")); function module.load() if prosody.hosts[module.host].events._handlers["csi-client-active"] then csi_handler_available = true; module:set_status("core", "CSI handler module loaded"); else csi_handler_available = false; module:set_status("warn", "No CSI handler module loaded"); end end module:hook("module-loaded", module.load); module:hook("module-unloaded", module.load);