From 26a19efb5f3910e16d08523b25c6967ab80415d0 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Wed, 2 Sep 2015 14:23:09 +0200 Subject: storagemanager: Export purge (fixes deleting users from usermanager) (thanks mt) --- core/storagemanager.lua | 1 + 1 file changed, 1 insertion(+) (limited to 'core/storagemanager.lua') diff --git a/core/storagemanager.lua b/core/storagemanager.lua index b72b84db..55f0800a 100644 --- a/core/storagemanager.lua +++ b/core/storagemanager.lua @@ -136,6 +136,7 @@ return { load_driver = load_driver; get_driver = get_driver; open = open; + purge = purge; olddm = olddm; }; -- cgit v1.2.3 From d38f6999a38569d2e0bf649c49f990786871a978 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Wed, 2 Sep 2015 15:26:28 +0200 Subject: storagemanager: Check if drivers support purging, warn otherwise --- core/storagemanager.lua | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'core/storagemanager.lua') diff --git a/core/storagemanager.lua b/core/storagemanager.lua index 55f0800a..fb868d03 100644 --- a/core/storagemanager.lua +++ b/core/storagemanager.lua @@ -98,9 +98,14 @@ local function purge(user, host) if type(storage) == "table" then -- multiple storage backends in use that we need to purge local purged = {}; - for store, driver in pairs(storage) do - if not purged[driver] then - purged[driver] = get_driver(host, store):purge(user); + for store, driver_name in pairs(storage) do + if not purged[driver_name] then + local driver = get_driver(host, store); + if driver.purge then + purged[driver_name] = driver:purge(user); + else + log("warn", "Storage driver %s does not support removing all user data, you may need to delete it manually", driver_name); + end end end end -- cgit v1.2.3