From a50f00f9e8360ed0d6e1c7791d2226f8663fd285 Mon Sep 17 00:00:00 2001 From: Badlop Date: Thu, 10 Sep 2015 20:11:02 +0200 Subject: [PATCH] Include ext_mod modules when checking accepted options (ejabberd-contrib#116) --- src/ejabberd_app.erl | 2 +- src/ejabberd_config.erl | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ejabberd_app.erl b/src/ejabberd_app.erl index 30f34aff4..319e494c2 100644 --- a/src/ejabberd_app.erl +++ b/src/ejabberd_app.erl @@ -53,6 +53,7 @@ start(normal, _Args) -> ejabberd_commands:init(), ejabberd_admin:start(), gen_mod:start(), + ext_mod:start(), ejabberd_config:start(), set_settings_from_config(), acl:start(), @@ -67,7 +68,6 @@ start(normal, _Args) -> %ejabberd_debug:eprof_start(), %ejabberd_debug:fprof_start(), maybe_add_nameservers(), - ext_mod:start(), ejabberd_auth:start(), start_modules(), ejabberd_listener:start_listeners(), diff --git a/src/ejabberd_config.erl b/src/ejabberd_config.erl index 5b97710a8..971d6dbd6 100644 --- a/src/ejabberd_config.erl +++ b/src/ejabberd_config.erl @@ -740,6 +740,7 @@ get_option(Opt, F, Default) -> get_modules_with_options() -> {ok, Mods} = application:get_key(ejabberd, modules), + ExtMods = [Name || {Name, _Details} <- ext_mod:installed()], lists:foldl( fun(Mod, D) -> case catch Mod:opt_type('') of @@ -751,7 +752,7 @@ get_modules_with_options() -> {'EXIT', {undef, _}} -> D end - end, dict:new(), [?MODULE|Mods]). + end, dict:new(), [?MODULE|ExtMods++Mods]). validate_opts(#state{opts = Opts} = State) -> ModOpts = get_modules_with_options(),