aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_s2s.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_s2s.erl')
-rw-r--r--src/ejabberd_s2s.erl16
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;