diff options
author | Radosław Szymczyszyn <radoslaw.szymczyszyn@erlang-solutions.com> | 2014-05-20 11:52:02 +0100 |
---|---|---|
committer | Radosław Szymczyszyn <radoslaw.szymczyszyn@erlang-solutions.com> | 2014-05-20 11:52:02 +0100 |
commit | c39ce133decd2bb8eba720ca7ad9e847e9701bf4 (patch) | |
tree | 9de89613cb59036a24d9c71396b67ae93cc13173 | |
parent | MUC messages with ~ were not logged (EJAB-1696) (diff) |
Build proceed/compressed elements in a sane way
-rw-r--r-- | src/ejabberd_c2s.erl | 26 |
1 files changed, 6 insertions, 20 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index 85a696c7f..a160a4677 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -788,18 +788,11 @@ wait_for_feature_request({xmlstreamelement, El}, StateData#state.tls_options)] end, Socket = StateData#state.socket, + BProceed = xml:element_to_binary(#xmlel{name = <<"proceed">>, + attrs = [{<<"xmlns">>, ?NS_TLS}]}), TLSSocket = (StateData#state.sockmod):starttls(Socket, TLSOpts, - xml:element_to_binary(#xmlel{name - = - <<"proceed">>, - attrs - = - [{<<"xmlns">>, - ?NS_TLS}], - children - = - []})), + BProceed), fsm_next_state(wait_for_stream, StateData#state{socket = TLSSocket, streamid = new_id(), @@ -820,17 +813,10 @@ wait_for_feature_request({xmlstreamelement, El}, case xml:get_tag_cdata(Method) of <<"zlib">> -> Socket = StateData#state.socket, + BCompressed = xml:element_to_binary(#xmlel{name = <<"compressed">>, + attrs = [{<<"xmlns">>, ?NS_COMPRESS}]}), ZlibSocket = (StateData#state.sockmod):compress(Socket, - xml:element_to_binary(#xmlel{name - = - <<"compressed">>, - attrs - = - [{<<"xmlns">>, - ?NS_COMPRESS}], - children - = - []})), + BCompressed), fsm_next_state(wait_for_stream, StateData#state{socket = ZlibSocket, streamid = new_id()}); |