From eabca827652ebf2d9cc99d49a1eb3292a74fb5e5 Mon Sep 17 00:00:00 2001 From: Holger Weiss Date: Sun, 27 Apr 2014 00:28:42 +0200 Subject: [PATCH] Send stream trailer before closing s2s connection When aborting an incoming s2s connection due to certificate verification errors, send a stream trailer before closing the socket. --- src/ejabberd_s2s_in.erl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ejabberd_s2s_in.erl b/src/ejabberd_s2s_in.erl index 3eb0b71cc..aa55c2e63 100644 --- a/src/ejabberd_s2s_in.erl +++ b/src/ejabberd_s2s_in.erl @@ -294,8 +294,9 @@ wait_for_stream({xmlstreamstart, _Name, Attrs}, ?INFO_MSG("Closing s2s connection: ~s <--> ~s (~s)", [StateData#state.server, RemoteServer, CertError]), send_text(StateData, - xml:element_to_binary(?SERRT_POLICY_VIOLATION(<<"en">>, - CertError))), + <<(xml:element_to_binary(?SERRT_POLICY_VIOLATION(<<"en">>, + CertError)))/binary, + (?STREAM_TRAILER)/binary>>), {atomic, Pid} = ejabberd_s2s:find_connection(jlib:make_jid(<<"">>, Server, <<"">>),