aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2022-05-23 16:41:19 +0200
committerBadlop <badlop@process-one.net>2022-05-23 16:49:35 +0200
commit0e25f8d43ea48d0a3db7b1b16f6c40f3077306ce (patch)
tree6c758fe4b0da396c6de8e6e924870c71f5627482 /src
parentconfigure 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.erl11
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};