Diff

plugins/mod_admin_telnet.lua @ 5128:834ab74585ec

mod_admin_telnet: Fix user:*, correct names, docs, do validation
author Kim Alvefur <zash@zash.se>
date Sat, 15 Sep 2012 23:00:59 +0200
parent 5030:9962fc19f9e9
child 5133:1443d1c37c6c
line wrap: on
line diff
--- a/plugins/mod_admin_telnet.lua	Thu Sep 13 18:48:35 2012 +0100
+++ b/plugins/mod_admin_telnet.lua	Sat Sep 15 23:00:59 2012 +0200
@@ -227,7 +227,7 @@
 	elseif section == "user" then
 		print [[user:create(jid, password) - Create the specified user account]]
 		print [[user:password(jid, password) - Set the password for the specified user account]]
-		print [[user:delete(jid, password) - Permanently remove the specified user account]]
+		print [[user:delete(jid) - Permanently remove the specified user account]]
 	elseif section == "server" then
 		print [[server:version() - Show the server's version number]]
 		print [[server:uptime() - Show how long the server has been running]]
@@ -915,6 +915,9 @@
 def_env.user = {};
 function def_env.user:create(jid, password)
 	local username, host = jid_split(jid);
+	if um.user_exists(username, host) then
+		return nil, "User exists";
+	end
 	local ok, err = um.create_user(username, password, host);
 	if ok then
 		return true, "User created";
@@ -925,6 +928,9 @@
 
 function def_env.user:delete(jid)
 	local username, host = jid_split(jid);
+	if not um.user_exists(username, host) then
+		return nil, "No such user";
+	end
 	local ok, err = um.delete_user(username, host);
 	if ok then
 		return true, "User deleted";
@@ -933,11 +939,14 @@
 	end
 end
 
-function def_env.user:passwd(jid, password)
+function def_env.user:password(jid, password)
 	local username, host = jid_split(jid);
+	if not um.user_exists(username, host) then
+		return nil, "No such user";
+	end
 	local ok, err = um.set_password(username, password, host);
 	if ok then
-		return true, "User created";
+		return true, "User password changed";
 	else
 		return nil, "Could not change password for user: "..err;
 	end