aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2015-09-10 20:11:02 +0200
committerBadlop <badlop@process-one.net>2015-09-10 20:11:02 +0200
commita50f00f9e8360ed0d6e1c7791d2226f8663fd285 (patch)
tree90b76a13744b6b689984d4caa562ec3ae3528351 /src
parenttypo fix (diff)
Include ext_mod modules when checking accepted options (ejabberd-contrib#116)
Diffstat (limited to 'src')
-rw-r--r--src/ejabberd_app.erl2
-rw-r--r--src/ejabberd_config.erl3
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(),