]> granicus.if.org Git - ejabberd/commitdiff
Include ext_mod modules when checking accepted options (ejabberd-contrib#116)
authorBadlop <badlop@process-one.net>
Thu, 10 Sep 2015 18:11:02 +0000 (20:11 +0200)
committerBadlop <badlop@process-one.net>
Thu, 10 Sep 2015 18:11:02 +0000 (20:11 +0200)
src/ejabberd_app.erl
src/ejabberd_config.erl

index 30f34aff4cacc4439358ec545f8087fb93421f13..319e494c2236b8ff02d1ed7b1a50890ad7a4f651 100644 (file)
@@ -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(),
index 5b97710a8d045e2647b01d2599e1139f37dba720..971d6dbd6535908b23630a18b567ad0b2b248bf1 100644 (file)
@@ -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(),