util.prosodyctl: Initialize storagemanager on the host before initializing usermanager. This fixes brokenness when the auth provider opens the store on load (as they all do since eeea0eb2602a) (thanks nulani)
authorMatthew Wild <mwild1@gmail.com>
Sat, 27 Apr 2013 13:11:03 +0100
changeset 5524 e9090966c803
parent 5522 3912c9264ef0
child 5525 8e41b127e44e
child 5526 d54011a23b20
util.prosodyctl: Initialize storagemanager on the host before initializing usermanager. This fixes brokenness when the auth provider opens the store on load (as they all do since eeea0eb2602a) (thanks nulani)
util/prosodyctl.lua
--- a/util/prosodyctl.lua	Fri Apr 26 12:25:25 2013 +0100
+++ b/util/prosodyctl.lua	Sat Apr 27 13:11:03 2013 +0100
@@ -140,11 +140,12 @@
 	if not host_session then
 		return false, "no-such-host";
 	end
+
+	storagemanager.initialize_host(host);
 	local provider = host_session.users;
 	if not(provider) or provider.name == "null" then
 		usermanager.initialize_host(host);
 	end
-	storagemanager.initialize_host(host);
 	
 	local ok, errmsg = usermanager.create_user(user, password, host);
 	if not ok then
@@ -155,11 +156,12 @@
 
 function user_exists(params)
 	local user, host, password = nodeprep(params.user), nameprep(params.host), params.password;
+
+	storagemanager.initialize_host(host);
 	local provider = prosody.hosts[host].users;
 	if not(provider) or provider.name == "null" then
 		usermanager.initialize_host(host);
 	end
-	storagemanager.initialize_host(host);
 	
 	return usermanager.user_exists(user, host);
 end