]> granicus.if.org Git - ejabberd/commitdiff
Close sessions that were half connected (thanks to Alexey Shchepin)(EJAB-1165)
authorBadlop <badlop@process-one.net>
Sun, 17 Jan 2010 19:28:35 +0000 (19:28 +0000)
committerBadlop <badlop@process-one.net>
Sun, 17 Jan 2010 19:28:35 +0000 (19:28 +0000)
SVN Revision: 2911

src/ejabberd_c2s.erl

index ff3c5f6e424166c17095ebffdb9fdd1859923371..dbc7dad3efa16f0622ff11f275091d67336cf1e5 100644 (file)
@@ -825,14 +825,6 @@ wait_for_session({xmlstreamelement, El}, StateData) ->
                    ?INFO_MSG("(~w) Opened session for ~s",
                              [StateData#state.socket,
                               jlib:jid_to_string(JID)]),
-                   %%send_element(StateData, {xmlelement, "stream:features",
-                   %%                       [], []}),
-                   SID = {now(), self()},
-                   Conn = get_conn_type(StateData),
-                   Info = [{ip, StateData#state.ip}, {conn, Conn},
-                           {auth_module, StateData#state.auth_module}],
-                   ejabberd_sm:open_session(
-                     SID, U, StateData#state.server, R, Info),
                    Res = jlib:make_result_iq_reply(El),
                    send_element(StateData, Res),
                    change_shaper(StateData, JID),
@@ -849,6 +841,12 @@ wait_for_session({xmlstreamelement, El}, StateData) ->
                          privacy_get_user_list, StateData#state.server,
                          #userlist{},
                          [U, StateData#state.server]),
+                   SID = {now(), self()},
+                   Conn = get_conn_type(StateData),
+                   Info = [{ip, StateData#state.ip}, {conn, Conn},
+                           {auth_module, StateData#state.auth_module}],
+                   ejabberd_sm:open_session(
+                     SID, U, StateData#state.server, R, Info),
                     NewStateData =
                         StateData#state{
                                     sid = SID,