Software /
code /
prosody
Changeset
2614:7a589e9e2372
mod_privacy: Upgrade old privacy lists to new storage format, so they don't get lost
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Fri, 12 Feb 2010 12:07:46 +0000 |
parents | 2613:afa20941e098 |
children | 2615:c5f7c803fe7d |
files | plugins/mod_privacy.lua |
diffstat | 1 files changed, 10 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/plugins/mod_privacy.lua Fri Feb 12 04:30:17 2010 +0500 +++ b/plugins/mod_privacy.lua Fri Feb 12 12:07:46 2010 +0000 @@ -303,7 +303,16 @@ if stanza.attr.to == nil then -- only service requests to own bare JID local query = stanza.tags[1]; -- the query element local valid = false; - local privacy_lists = datamanager.load(origin.username, origin.host, "privacy") or {}; + local privacy_lists = datamanager.load(origin.username, origin.host, "privacy") or { lists = {} }; + + if privacy_lists.lists[1] then -- Code to migrate from old privacy lists format, remove in 0.8 + module:log("info", "Upgrading format of stored privacy lists for %s@%s", origin.username, origin.host); + local lists = privacy_lists.lists; + for idx, list in ipairs(lists) do + lists[list.name] = list; + lists[idx] = nil; + end + end if stanza.attr.type == "set" then if #query.tags == 1 then -- the <query/> element MUST NOT include more than one child element