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:
Diffstat (limited to 'src/ejabberd_c2s.erl')
-rw-r--r--src/ejabberd_c2s.erl6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index 02540259a..f7d8e9dbb 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -907,8 +907,12 @@ wait_for_bind(#sm_resume{} = Pkt, StateData) ->
wait_for_bind(Pkt, StateData) when ?IS_STREAM_MGMT_PACKET(Pkt) ->
fsm_next_state(wait_for_bind, dispatch_stream_mgmt(Pkt, StateData));
wait_for_bind(#iq{type = set,
- sub_els = [#bind{resource = R}]} = IQ, StateData) ->
+ sub_els = [#bind{resource = R0}]} = IQ, StateData) ->
U = StateData#state.user,
+ R = case R0 of
+ <<>> -> new_uniq_id();
+ _ -> R0
+ end,
case resource_conflict_action(U, StateData#state.server, R) of
closenew ->
Err = xmpp:make_error(IQ, xmpp:err_conflict()),