diff options
author | Badlop <badlop@process-one.net> | 2022-05-23 16:41:19 +0200 |
---|---|---|
committer | Badlop <badlop@process-one.net> | 2022-05-23 16:49:35 +0200 |
commit | 0e25f8d43ea48d0a3db7b1b16f6c40f3077306ce (patch) | |
tree | 6c758fe4b0da396c6de8e6e924870c71f5627482 /src | |
parent | configure also when running "make update", which is similar to "make deps" (diff) |
Fix mod_conversejs crash when mod_register not enabled (#3824)
Diffstat (limited to 'src')
-rw-r--r-- | src/mod_conversejs.erl | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/mod_conversejs.erl b/src/mod_conversejs.erl index 767a3824b..61cec2322 100644 --- a/src/mod_conversejs.erl +++ b/src/mod_conversejs.erl @@ -183,10 +183,19 @@ get_register_options(Server) -> (_) -> false end, ejabberd_auth:auth_modules(Server)), - Modules = mod_register_opt:allow_modules(Server), + Modules = get_register_modules(Server), ModRegisterAllowsMe = (Modules == all) orelse lists:member(?MODULE, Modules), [{<<"allow_registration">>, AuthSupportsRegister and ModRegisterAllowsMe}]. +get_register_modules(Server) -> + try mod_register_opt:allow_modules(Server) + catch + error:{module_not_loaded, mod_register, _} -> + ?DEBUG("mod_conversejs couldn't get mod_register configuration for " + "vhost ~p: module not loaded in that vhost.", [Server]), + [] + end. + get_extra_options(Host) -> RawOpts = gen_mod:get_module_opt(Host, ?MODULE, conversejs_options), lists:map(fun({Name, <<"true">>}) -> {Name, true}; |