Mercurial > prosody-modules
view mod_c2s_limit_sessions/mod_c2s_limit_sessions.lua @ 4983:7c77058a1ac5
mod_compat_roles: New module providing compat shim for trunk's new role API
The new role API is translated to is_admin() calls on older versions. On newer
versions (which have the role API) this module does nothing.
It allows modules to drop their use of is_admin() (which is not available in
trunk) and switch to the new role API, while remaining compatible with
previous Prosody versions.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 11 Aug 2022 17:49:33 +0100 |
parents | f581210093a7 |
children |
line wrap: on
line source
-- mod_c2s_limit_sessions local next, count = next, require "util.iterators".count; local max_resources = module:get_option_number("max_resources", 10); local sessions = hosts[module.host].sessions; module:hook("resource-bind", function(event) local session = event.session; if count(next, sessions[session.username].sessions) > max_resources then session:close{ condition = "policy-violation", text = "Too many resources" }; return false end end, -1);