Diff

plugins/mod_authz_internal.lua @ 13621:eb676b6f05e3

mod_authz_internal: Make host considered the parent configurable This bestows the role specified by the 'host_user_role' setting onto users of that host. For simplicity, only a single host can be specified. Making it configurable allows for setups where VirtualHost and related Components may be siblings instead of having a subdomain relationship. For setups with many VirtualHosts sharing a single Component, the 'server_user_role' setting is more appropriate. Even more complicated setups would have to resort to mod_firewall or similar.
author Kim Alvefur <zash@zash.se>
date Mon, 13 Jan 2025 11:50:03 +0100
parent 13587:fdb2e0568cf8
child 13678:acb87cc2d48b
line wrap: on
line diff
--- a/plugins/mod_authz_internal.lua	Fri Jan 10 12:34:29 2025 +0100
+++ b/plugins/mod_authz_internal.lua	Mon Jan 13 11:50:03 2025 +0100
@@ -8,7 +8,7 @@
 local config_global_admin_jids = module:context("*"):get_option_set("admins", {}) / normalize;
 local config_admin_jids = module:get_option_inherited_set("admins", {}) / normalize;
 local host = module.host;
-local host_suffix = host:gsub("^[^%.]+%.", "");
+local host_suffix = module:get_option_string("parent_host", (host:gsub("^[^%.]+%.", "")));
 
 local hosts = prosody.hosts;
 local is_anon_host = module:get_option_string("authentication") == "anonymous";