]> granicus.if.org Git - ejabberd/commitdiff
Build proceed/compressed elements in a sane way
authorRadosław Szymczyszyn <radoslaw.szymczyszyn@erlang-solutions.com>
Tue, 20 May 2014 10:52:02 +0000 (11:52 +0100)
committerRadosław Szymczyszyn <radoslaw.szymczyszyn@erlang-solutions.com>
Tue, 20 May 2014 10:52:02 +0000 (11:52 +0100)
src/ejabberd_c2s.erl

index 85a696c7f8c36ad5c53c8038ab1103bcc982315f..a160a467746a632ed22518c1350626db7d4cee32 100644 (file)
@@ -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()});