Mercurial > prosody-modules
comparison mod_storage_appendmap/mod_storage_appendmap.lua @ 5061:e44b868cc575
mod_storage_appendmap: Fix keyvalue writes
store_raw() takes a filename, unlike most other datamanager functions
that take a series of path components, leading to this bug where it
would write the hostname into a file named after the first argument
(commonly a username) in the working directory.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 09 Oct 2022 21:35:18 +0200 |
parents | 6a7b7cb7148e |
children | ea6c18ec0669 |
comparison
equal
deleted
inserted
replaced
5060:bc491065c221 | 5061:e44b868cc575 |
---|---|
104 return map.get(self, user, nil); | 104 return map.get(self, user, nil); |
105 end | 105 end |
106 | 106 |
107 function keyval:set(user, keyvalues) | 107 function keyval:set(user, keyvalues) |
108 local data = serialize_map(keyvalues); | 108 local data = serialize_map(keyvalues); |
109 return dm.store_raw(user, module.host, self.store, "map", data); | 109 return dm.store_raw(dm.getpath(user, module.host, self.store, "map"), data); |
110 end | 110 end |
111 | 111 |
112 -- TODO some kind of periodic compaction thing? | 112 -- TODO some kind of periodic compaction thing? |
113 function map:_compact(user) | 113 function map:_compact(user) |
114 local data = self:get(user); | 114 local data = self:get(user); |