# HG changeset patch # User Kim Alvefur # Date 1480954932 -3600 # Node ID 752697d68fdad45271c8e859e224aaa6f0e564c9 # Parent 2b288dab781aa176a0c1c11280b626f9f9afefe1 mod_blocklist: Return early from migration if no valid privacy list data is found diff -r 2b288dab781a -r 752697d68fda plugins/mod_blocklist.lua --- a/plugins/mod_blocklist.lua Thu Dec 08 18:13:56 2016 +0100 +++ b/plugins/mod_blocklist.lua Mon Dec 05 17:22:12 2016 +0100 @@ -54,14 +54,13 @@ -- Migrates from the old mod_privacy storage local function migrate_privacy_list(username) + local legacy_data = module:open_store("privacy"):get(username); + if not legacy_data or not legacy_data.lists or not legacy_data.default then return; end + local default_list = legacy_data.lists[legacy_data.default]; + if not default_list or not default_list.items then return; end + local migrated_data = { [false] = { created = os.time(); migrated = "privacy" }}; - local legacy_data = module:open_store("privacy"):get(username); - if legacy_data and legacy_data.lists and legacy_data.default then - legacy_data = legacy_data.lists[legacy_data.default]; - legacy_data = legacy_data and legacy_data.items; - else - return migrated_data; - end + if legacy_data then module:log("info", "Migrating blocklist from mod_privacy storage for user '%s'", username); local item, jid; @@ -94,6 +93,9 @@ if not blocklist then blocklist = migrate_privacy_list(username); end + if not blocklist then + blocklist = { [false] = { created = os.time(); }; }; + end cache2:set(username, blocklist); end cache[username] = blocklist;