From: Paweł Chmielowski Date: Wed, 16 Mar 2016 10:30:35 +0000 (+0100) Subject: Make auto generated resources shorter X-Git-Tag: 16.03~42 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=efbaba5d04ef4423fe035d0fc19515be85072d73;p=ejabberd Make auto generated resources shorter --- diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index 97b759161..a5802a5b3 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -999,7 +999,7 @@ resource_conflict_action(U, S, R) -> acceptnew -> {accept_resource, R}; closenew -> closenew; setresource -> - Rnew = iolist_to_binary([randoms:get_string(),randoms:get_string(),randoms:get_string()]), + Rnew = new_uniq_id(), {accept_resource, Rnew} end. @@ -1026,8 +1026,7 @@ wait_for_bind({xmlstreamelement, El}, StateData) -> [{elem, <<"resource">>}, cdata]), R = case jid:resourceprep(R1) of error -> error; - <<"">> -> - iolist_to_binary([randoms:get_string(),randoms:get_string(),randoms:get_string()]); + <<"">> -> new_uniq_id(); Resource -> Resource end, case R of @@ -1913,6 +1912,10 @@ send_trailer(StateData) -> new_id() -> randoms:get_string(). +new_uniq_id() -> + iolist_to_binary([randoms:get_string(), + jlib:integer_to_binary(p1_time_compat:unique_integer(positive))]). + is_auth_packet(El) -> case jlib:iq_query_info(El) of #iq{id = ID, type = Type, xmlns = ?NS_AUTH, sub_el = SubEl} ->