plugins/muc/occupant_id.lib.lua
changeset 12112 e9882c4c397f
parent 11219 9ce0a899ff07
child 12981 74b9e05af71e
--- a/plugins/muc/occupant_id.lib.lua	Wed Dec 22 18:34:11 2021 +0100
+++ b/plugins/muc/occupant_id.lib.lua	Tue Oct 05 18:13:51 2021 +0200
@@ -10,16 +10,21 @@
 
 local xmlns_occupant_id = "urn:xmpp:occupant-id:0";
 
+local function get_room_salt(room)
+	local salt = room._data.occupant_id_salt;
+	if not salt then
+		salt = uuid.generate();
+		room._data.occupant_id_salt = salt;
+	end
+	return salt;
+end
+
 local function get_occupant_id(room, occupant)
 	if occupant.stable_id then
 		return occupant.stable_id;
 	end
 
-	local salt = room._data.occupant_id_salt;
-	if not salt then
-		salt = uuid.generate();
-		room._data.occupant_id_salt = salt;
-	end
+	local salt = get_room_salt(room)
 
 	occupant.stable_id = b64encode(hmac_sha256(occupant.bare_jid, salt));
 
@@ -66,5 +71,6 @@
 end
 
 return {
+	get_room_salt = get_room_salt;
 	get_occupant_id = get_occupant_id;
 };