]> granicus.if.org Git - ejabberd/commitdiff
Don't mess with s2s out when aborting s2s in
authorHolger Weiss <holger@zedat.fu-berlin.de>
Sun, 27 Apr 2014 22:17:05 +0000 (00:17 +0200)
committerHolger Weiss <holger@zedat.fu-berlin.de>
Sun, 27 Apr 2014 22:17:05 +0000 (00:17 +0200)
Don't try to look up and close outgoing connections to a given server
when aborting incoming connections from that server due to certificate
verification errors.  The ejabberd_s2s:find_connection/2 call actually
created one or more *new* connections if less than 'max_s2s_connections'
connections were found.  Then, no more than one of those possibly new
connections were stopped by the ejabberd_s2s_out:stop_connection/1 call.

It's not really necessary to bother with outgoing connections at all,
here.

src/ejabberd_s2s_in.erl

index aa55c2e631b20aa891ecc40b193522d4ca09359b..a3e772dfc4fc52d3cb527a70f994238fea53eb32 100644 (file)
@@ -297,13 +297,6 @@ wait_for_stream({xmlstreamstart, _Name, Attrs},
                          <<(xml:element_to_binary(?SERRT_POLICY_VIOLATION(<<"en">>,
                                                                           CertError)))/binary,
                            (?STREAM_TRAILER)/binary>>),
-               {atomic, Pid} =
-                   ejabberd_s2s:find_connection(jlib:make_jid(<<"">>,
-                                                              Server, <<"">>),
-                                                jlib:make_jid(<<"">>,
-                                                              RemoteServer,
-                                                              <<"">>)),
-               ejabberd_s2s_out:stop_connection(Pid),
                {stop, normal, StateData};
            {VerifyResult, RemoteServer, Msg} ->
                {SASL, NewStateData} = case VerifyResult of