Mercurial > prosody-modules
view mod_auto_activate_hosts/mod_auto_activate_hosts.lua @ 5213:dc0f502c12f1
mod_http_oauth2: Fix authorization code logic
I have no idea what it did before or if it even worked.
RFC 6749 section 4.1.2 says:
> A maximum authorization code lifetime of 10 minutes is RECOMMENDED.
So this should prevent use of codes older than 10 minutes and remove
them from the cache some time after they expire.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 06 Mar 2023 16:49:43 +0100 |
parents | 8b7bca07f5c0 |
children |
line wrap: on
line source
module:set_global(); local hostmanager = require"core.hostmanager"; local array = require "util.array"; local set = require "util.set"; local it = require "util.iterators"; local config = require "core.configmanager"; local function host_not_global(host) return host ~= "*"; end local function host_is_enabled(host) return config.get(host, "enabled") ~= false; end function handle_reload() local new_config = config.getconfig(); local active_hosts = set.new(array.collect(it.keys(prosody.hosts)):filter(host_not_global)); local enabled_hosts = set.new(array.collect(it.keys(new_config)):filter(host_is_enabled):filter(host_not_global)); local need_to_activate = enabled_hosts - active_hosts; local need_to_deactivate = active_hosts - enabled_hosts; module:log("debug", "Config reloaded... %d hosts need activating, and %d hosts need deactivating", it.count(need_to_activate), it.count(need_to_deactivate)); module:log("debug", "There are %d enabled and %d active hosts", it.count(enabled_hosts), it.count(active_hosts)); for host in need_to_deactivate do hostmanager.deactivate(host); end -- If the lazy loader is loaded, hosts will get activated when they are needed if not(getmetatable(prosody.hosts) and getmetatable(prosody.hosts).lazy_loader) then for host in need_to_activate do hostmanager.activate(host); end end end module:hook_global("config-reloaded", handle_reload);