From 7ff5f2d3fafa991271012581942edf9917bd4cfc Mon Sep 17 00:00:00 2001 From: Evgeny Khramtsov Date: Tue, 18 Sep 2018 18:19:42 +0300 Subject: [PATCH] Fail early when loading unavailable SIP or STUN modules --- src/ejabberd_sip.erl | 19 +++++++++---------- src/ejabberd_stun.erl | 19 +++++++++---------- 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/src/ejabberd_sip.erl b/src/ejabberd_sip.erl index 56cc5474a..f9061edbe 100644 --- a/src/ejabberd_sip.erl +++ b/src/ejabberd_sip.erl @@ -29,20 +29,19 @@ -ifndef(SIP). -include("logger.hrl"). -export([accept/1, start/2, start_link/2, listen_options/0]). -log_error() -> - ?CRITICAL_MSG("ejabberd is not compiled with SIP support", []). +fail() -> + ?CRITICAL_MSG("Listening module ~s is not available: " + "ejabberd is not compiled with SIP support", + [?MODULE]), + erlang:error(sip_not_compiled). accept(_) -> - log_error(), - ok. + fail(). listen_options() -> - log_error(), - []. + fail(). start(_, _) -> - log_error(), - {error, sip_not_compiled}. + fail(). start_link(_, _) -> - log_error(), - {error, sip_not_compiled}. + fail(). -else. %% API -export([tcp_init/2, udp_init/2, udp_recv/5, start/2, diff --git a/src/ejabberd_stun.erl b/src/ejabberd_stun.erl index 35057737b..ef1d46f40 100644 --- a/src/ejabberd_stun.erl +++ b/src/ejabberd_stun.erl @@ -31,20 +31,19 @@ -ifndef(STUN). -include("logger.hrl"). -export([accept/1, start/2, start_link/2, listen_options/0]). -log_error() -> - ?CRITICAL_MSG("ejabberd is not compiled with STUN/TURN support", []). +fail() -> + ?CRITICAL_MSG("Listening module ~s is not available: " + "ejabberd is not compiled with STUN/TURN support", + [?MODULE]), + erlang:error(stun_not_compiled). accept(_) -> - log_error(), - ok. + fail(). listen_options() -> - log_error(), - []; + fail(). start(_, _) -> - log_error(), - {error, sip_not_compiled}. + fail(). start_link(_, _) -> - log_error(), - {error, sip_not_compiled}. + fail(). -else. -export([tcp_init/2, udp_init/2, udp_recv/5, start/2, start_link/2, accept/1, listen_opt_type/1, listen_options/0]).