Mercurial > prosody-modules
comparison mod_muc_occupant_id/mod_muc_occupant_id.lua @ 4010:ae27f3359df8
mod_muc_occupant_id: Don't store occupant-ids.
It seems it's cheap enough to generate so don't unnecessarily store
everyone's occupant-ids forever.
author | Maxime “pep” Buquet <pep@bouah.net> |
---|---|
date | Tue, 05 May 2020 16:27:59 +0200 |
parents | cf682a02b6d8 |
children |
comparison
equal
deleted
inserted
replaced
4009:362997ededb1 | 4010:ae27f3359df8 |
---|---|
15 | 15 |
16 if room._data.occupant_id_salt == nil then | 16 if room._data.occupant_id_salt == nil then |
17 room._data.occupant_id_salt = uuid.generate(); | 17 room._data.occupant_id_salt = uuid.generate(); |
18 end | 18 end |
19 | 19 |
20 if room._data.occupant_ids == nil then | 20 -- XXX: Temporary not-so-important migration measure. Remove this next time |
21 room._data.occupant_ids = {}; | 21 -- somebody looks at it. This module used to store every participant's |
22 end | 22 -- occupant-id all the time forever. |
23 room._data.occupant_ids = nil; | |
23 | 24 |
24 if room._data.occupant_ids[bare] == nil then | 25 return b64encode(hmac_sha256(bare, room._data.occupant_id_salt)); |
25 local unique_id = b64encode(hmac_sha256(bare, room._data.occupant_id_salt)); | |
26 room._data.occupant_ids[bare] = unique_id; | |
27 end | |
28 | |
29 return room._data.occupant_ids[bare]; | |
30 end | 26 end |
31 | 27 |
32 local function update_occupant(event) | 28 local function update_occupant(event) |
33 local stanza, room, occupant, dest_occupant = event.stanza, event.room, event.occupant, event.dest_occupant; | 29 local stanza, room, occupant, dest_occupant = event.stanza, event.room, event.occupant, event.dest_occupant; |
34 | 30 |