diff options
author | Paweł Chmielowski <pchmielowski@process-one.net> | 2016-04-08 10:46:21 +0200 |
---|---|---|
committer | Paweł Chmielowski <pchmielowski@process-one.net> | 2016-04-08 10:52:29 +0200 |
commit | 86dfbe6ecef37fe19857193b5f7ec92dea39ac4f (patch) | |
tree | 7bacde8f9e322b1585ec7c10d86cb3ef5d417134 /src | |
parent | Send stream trailer at the very end (diff) |
Make sure that ejabberd_sm sid are unique
Diffstat (limited to 'src')
-rw-r--r-- | src/ejabberd_auth_anonymous.erl | 2 | ||||
-rw-r--r-- | src/ejabberd_c2s.erl | 2 | ||||
-rw-r--r-- | src/ejabberd_sm.erl | 6 |
3 files changed, 7 insertions, 3 deletions
diff --git a/src/ejabberd_auth_anonymous.erl b/src/ejabberd_auth_anonymous.erl index 9c4b719c3..5a5b395bf 100644 --- a/src/ejabberd_auth_anonymous.erl +++ b/src/ejabberd_auth_anonymous.erl @@ -56,7 +56,7 @@ %% Create the anonymous table if at least one virtual host has anonymous features enabled %% Register to login / logout events -record(anonymous, {us = {<<"">>, <<"">>} :: {binary(), binary()}, - sid = {p1_time_compat:timestamp(), self()} :: ejabberd_sm:sid()}). + sid = ejabberd_sm:make_sid() :: ejabberd_sm:sid()}). start(Host) -> %% TODO: Check cluster mode diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index 9fe1100b5..948e2027b 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -327,7 +327,7 @@ init([{SockMod, Socket}, Opts]) -> xml_socket = XMLSocket, zlib = Zlib, tls = TLS, tls_required = StartTLSRequired, tls_enabled = TLSEnabled, tls_options = TLSOpts, - sid = {p1_time_compat:timestamp(), self()}, streamid = new_id(), + sid = ejabberd_sm:make_sid(), streamid = new_id(), access = Access, shaper = Shaper, ip = IP, mgmt_state = StreamMgmtState, mgmt_max_queue = MaxAckQueue, diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl index 4f7cfeeaa..7ab0a5f78 100644 --- a/src/ejabberd_sm.erl +++ b/src/ejabberd_sm.erl @@ -66,7 +66,8 @@ get_max_user_sessions/2, get_all_pids/0, is_existing_resource/3, - get_commands_spec/0 + get_commands_spec/0, + make_sid/0 ]). -export([init/1, handle_call/3, handle_cast/2, @@ -806,6 +807,9 @@ kick_user(User, Server) -> end, Resources), length(Resources). +make_sid() -> + {p1_time_compat:unique_timestamp(), self()}. + opt_type(sm_db_type) -> fun (mnesia) -> mnesia; (internal) -> mnesia; |