From 8fc80178b684aba0835a9a5ee0d20d08e2d4c0f0 Mon Sep 17 00:00:00 2001 From: Evgeniy Khramtsov Date: Thu, 2 May 2013 20:00:04 +1000 Subject: [PATCH] Fix STUN startup --- src/ejabberd_app.erl | 2 ++ src/ejabberd_listener.erl | 11 ++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/ejabberd_app.erl b/src/ejabberd_app.erl index 182d55322..b101747e3 100644 --- a/src/ejabberd_app.erl +++ b/src/ejabberd_app.erl @@ -242,6 +242,8 @@ delete_pid_file() -> start_apps() -> application:start(sasl), + application:start(crypto), + application:start(public_key), application:start(ssl), application:start(tls), application:start(xml), diff --git a/src/ejabberd_listener.erl b/src/ejabberd_listener.erl index 292a96dc6..55d607484 100644 --- a/src/ejabberd_listener.erl +++ b/src/ejabberd_listener.erl @@ -594,7 +594,8 @@ check_rate_limit(Interval) -> validate_cfg(L) -> lists:map( - fun({PortIPTransport, Mod, Opts}) when is_atom(Mod), is_list(Opts) -> + fun({PortIPTransport, Mod1, Opts}) when is_atom(Mod1), is_list(Opts) -> + Mod = prepare_mod(Mod1), case PortIPTransport of Port when ?IS_PORT(Port) -> {Port, Mod, Opts}; @@ -619,3 +620,11 @@ prepare_ip(IP) when is_list(IP) -> Addr; prepare_ip(IP) when is_binary(IP) -> prepare_ip(binary_to_list(IP)). + +prepare_mod(ejabberd_stun) -> + prepare_mod(stun); +prepare_mod(stun) -> + application:start(stun), + stun; +prepare_mod(Mod) -> + Mod.