diff options
Diffstat (limited to 'src/ejabberd_s2s.erl')
-rw-r--r-- | src/ejabberd_s2s.erl | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/ejabberd_s2s.erl b/src/ejabberd_s2s.erl index 126700f10..b721ca1e7 100644 --- a/src/ejabberd_s2s.erl +++ b/src/ejabberd_s2s.erl @@ -55,12 +55,10 @@ transform_options/1, opt_type/1]). -include("logger.hrl"). - -include("xmpp.hrl"). - -include("ejabberd_commands.hrl"). - -include_lib("public_key/include/public_key.hrl"). +-include("ejabberd_stacktrace.hrl"). -define(PKIXEXPLICIT, 'OTP-PUB-KEY'). @@ -94,10 +92,9 @@ start_link() -> route(Packet) -> try do_route(Packet) - catch E:R -> - St = erlang:get_stacktrace(), + catch ?EX_RULE(E, R, St) -> ?ERROR_MSG("failed to route packet:~n~s~nReason = ~p", - [xmpp:pp(Packet), {E, {R, St}}]) + [xmpp:pp(Packet), {E, {R, ?EX_STACK(St)}}]) end. clean_temporarily_blocked_table() -> @@ -738,7 +735,12 @@ opt_type(s2s_use_starttls) -> required_trusted end; opt_type(s2s_zlib) -> - fun(B) when is_boolean(B) -> B end; + fun(true) -> + ejabberd:start_app(ezlib), + true; + (false) -> + false + end; opt_type(s2s_timeout) -> fun(I) when is_integer(I), I >= 0 -> timer:seconds(I); (infinity) -> infinity; |