Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/processone/ejabberd.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2009-12-28 23:10:18 +0300
committerBadlop <badlop@process-one.net>2009-12-28 23:10:18 +0300
commita7bd529dac4b2ceed8c937b71bac0599dc416f1f (patch)
treee043f6668b6b808d2de439f5b45ea9c6625b4852 /src/ejabberd_c2s.erl
parent857c87499a125eb10ddc2a04399f62c6264b7341 (diff)
Send features after negotiating binding and session (EJAB-1058)
SVN Revision: 2835
Diffstat (limited to 'src/ejabberd_c2s.erl')
-rw-r--r--src/ejabberd_c2s.erl8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index 38807dd2d..5149b069b 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -724,6 +724,13 @@ wait_for_bind({xmlstreamelement, El}, StateData) ->
Resource ->
Resource
end,
+ ServerB = StateData#state.server,
+ RosterVersioningFeature =
+ ejabberd_hooks:run_fold(roster_get_versioning_feature,
+ ServerB, [], [ServerB]),
+ send_element(StateData,
+ exmpp_stream:features([exmpp_server_session:feature()
+ | RosterVersioningFeature])),
JID = exmpp_jid:make(StateData#state.user, StateData#state.server, R),
Res = exmpp_server_binding:bind(El, JID),
send_element(StateData, Res),
@@ -766,6 +773,7 @@ wait_for_session({xmlstreamelement, El}, StateData) ->
?INFO_MSG("(~w) Opened session for ~s",
[StateData#state.socket,
exmpp_jid:to_binary(JID)]),
+ send_element(StateData, exmpp_stream:features([])),
SID = {now(), self()},
Conn = get_conn_type(StateData),
Info = [{ip, StateData#state.ip}, {conn, Conn},