From 7241f866687168f1e3f9238ea240af0f4b319ccb Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Sat, 2 Mar 2019 22:26:01 +0100 Subject: mod_storage_memory: Generate ID using standard util (fixes #1326) The previous method relied on tostring(table) returning the pointer address, which might not be portable. --- plugins/mod_storage_memory.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/mod_storage_memory.lua b/plugins/mod_storage_memory.lua index 1c6628e3..71205ee0 100644 --- a/plugins/mod_storage_memory.lua +++ b/plugins/mod_storage_memory.lua @@ -3,6 +3,7 @@ local array = require "util.array"; local envload = require "util.envload".envload; local st = require "util.stanza"; local is_stanza = st.is_stanza or function (s) return getmetatable(s) == st.stanza_mt end +local new_id = require "util.id".medium; local auto_purge_enabled = module:get_option_boolean("storage_memory_temporary", false); local auto_purge_stores = module:get_option_set("storage_memory_temporary_stores", {}); @@ -56,7 +57,7 @@ function archive_store:append(username, key, value, when, with) end local v = { key = key, when = when, with = with, value = value }; if not key then - key = tostring(a):match"%x+$"..tostring(v):match"%x+$"; + key = new_id(); v.key = key; end if a[key] then -- cgit v1.2.3