aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2014-06-20 16:22:23 +0200
committerKim Alvefur <zash@zash.se>2014-06-20 16:22:23 +0200
commit13f1842f157c7c15e227db8888e927f524764450 (patch)
tree61b0ccea75b170a82d371e633a05259ef3e94b46
parentb7126c5d70d8b8c7facb974d86453ba395ebccee (diff)
downloadprosody-13f1842f157c7c15e227db8888e927f524764450.tar.gz
prosody-13f1842f157c7c15e227db8888e927f524764450.zip
mod_storage_{none,internal,sql}: Return error for unsupported (everything but keyval) store types
-rw-r--r--plugins/mod_storage_internal.lua3
-rw-r--r--plugins/mod_storage_none.lua7
-rw-r--r--plugins/mod_storage_sql.lua6
3 files changed, 11 insertions, 5 deletions
diff --git a/plugins/mod_storage_internal.lua b/plugins/mod_storage_internal.lua
index 972ecbee..ade4f0a6 100644
--- a/plugins/mod_storage_internal.lua
+++ b/plugins/mod_storage_internal.lua
@@ -6,6 +6,9 @@ local driver = {};
local driver_mt = { __index = driver };
function driver:open(store, typ)
+ if typ and typ ~= "keyval" then
+ return nil, "unsupported-store";
+ end
return setmetatable({ store = store, type = typ }, driver_mt);
end
function driver:get(user)
diff --git a/plugins/mod_storage_none.lua b/plugins/mod_storage_none.lua
index 8f2d2f56..fa925b76 100644
--- a/plugins/mod_storage_none.lua
+++ b/plugins/mod_storage_none.lua
@@ -1,8 +1,11 @@
local driver = {};
local driver_mt = { __index = driver };
-function driver:open(store)
- return setmetatable({ store = store }, driver_mt);
+function driver:open(store, typ)
+ if typ and typ ~= "keyval" then
+ return nil, "unsupported-store";
+ end
+ return setmetatable({ store = store, type = typ }, driver_mt);
end
function driver:get(user)
return {};
diff --git a/plugins/mod_storage_sql.lua b/plugins/mod_storage_sql.lua
index 7b810ab8..a5bb5bfa 100644
--- a/plugins/mod_storage_sql.lua
+++ b/plugins/mod_storage_sql.lua
@@ -380,10 +380,10 @@ end
local driver = {};
function driver:open(store, typ)
- if not typ then -- default key-value store
- return setmetatable({ store = store }, keyval_store);
+ if typ and typ ~= "keyval" then
+ return nil, "unsupported-store";
end
- return nil, "unsupported-store";
+ return setmetatable({ store = store }, keyval_store);
end
function driver:stores(username)