Send features after negotiating binding and session (EJAB-1058)

SVN Revision: 2834
This commit is contained in:
Badlop 2009-12-28 20:09:46 +00:00
parent d812975565
commit 455d85a278
1 changed files with 11 additions and 0 deletions

View File

@ -773,6 +773,15 @@ wait_for_bind({xmlstreamelement, El}, StateData) ->
fsm_next_state(wait_for_bind, StateData);
_ ->
JID = jlib:make_jid(U, StateData#state.server, R),
Server = StateData#state.server,
RosterVersioningFeature =
ejabberd_hooks:run_fold(
roster_get_versioning_feature, Server, [], [Server]),
StreamFeatures = [{xmlelement, "session",
[{"xmlns", ?NS_SESSION}], []} |
RosterVersioningFeature],
send_element(StateData, {xmlelement, "stream:features",
[], StreamFeatures}),
Res = IQ#iq{type = result,
sub_el = [{xmlelement, "bind",
[{"xmlns", ?NS_BIND}],
@ -816,6 +825,8 @@ 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},