From 92ec42565e94be7ec23c65164716438d5fe14b34 Mon Sep 17 00:00:00 2001 From: Evgeniy Khramtsov Date: Mon, 10 May 2010 16:00:30 +1000 Subject: full support for XEP-0115 v1.5 (EJAB-1223) (EJAB-1189) --- src/ejabberd_c2s.erl | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) (limited to 'src/ejabberd_c2s.erl') diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index 6474e239c..1bb7dd950 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -323,9 +323,9 @@ wait_for_stream({xmlstreamstart, #xmlel{ns = NS} = Opening}, StateData) -> [] end, Other_Feats = ejabberd_hooks:run_fold( - c2s_stream_features, - ServerB, - [], []), + c2s_stream_features, + ServerB, + [], [ServerB]), send_element(StateData, exmpp_stream:features( TLSFeature ++ @@ -340,17 +340,26 @@ wait_for_stream({xmlstreamstart, #xmlel{ns = NS} = Opening}, StateData) -> _ -> case StateData#state.resource of undefined -> - RosterVersioningFeature = ejabberd_hooks:run_fold(roster_get_versioning_feature, ServerB, [], [ServerB]), + RosterVersioningFeature = + ejabberd_hooks:run_fold( + roster_get_versioning_feature, + ServerB, + [], [ServerB]), + Other_Feats = ejabberd_hooks:run_fold( + c2s_stream_features, + ServerB, + [], [ServerB]), send_element( StateData, - exmpp_stream:features([ - exmpp_server_binding:feature(), - exmpp_server_session:feature() - | RosterVersioningFeature])), + exmpp_stream:features( + [exmpp_server_binding:feature(), + exmpp_server_session:feature()] + ++ RosterVersioningFeature + ++ Other_Feats)), fsm_next_state(wait_for_bind, - StateData#state{ - server = ServerB, - lang = Lang}); + StateData#state{ + server = ServerB, + lang = Lang}); _ -> send_element( StateData, -- cgit v1.2.3