ejabberd_commands:init(),
ejabberd_admin:start(),
gen_mod:start(),
+ ext_mod:start(),
ejabberd_config:start(),
set_settings_from_config(),
acl:start(),
%ejabberd_debug:eprof_start(),
%ejabberd_debug:fprof_start(),
maybe_add_nameservers(),
- ext_mod:start(),
ejabberd_auth:start(),
start_modules(),
ejabberd_listener:start_listeners(),
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
{'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(),