Comparison

prosodyctl @ 6324:c9730926002b

prosodyctl: Improve JID splitting and normalization for adduser/passwd/deluser
author Matthew Wild <mwild1@gmail.com>
date Thu, 31 Jul 2014 06:58:15 +0100
parent 6035:1b5ca55bf895
child 6325:13a43fe90d9f
comparison
equal deleted inserted replaced
6323:5926f01e5cd2 6324:c9730926002b
266 local getchar, getpass = prosodyctl.getchar, prosodyctl.getpass; 266 local getchar, getpass = prosodyctl.getchar, prosodyctl.getpass;
267 local show_yesno = prosodyctl.show_yesno; 267 local show_yesno = prosodyctl.show_yesno;
268 local show_prompt = prosodyctl.show_prompt; 268 local show_prompt = prosodyctl.show_prompt;
269 local read_password = prosodyctl.read_password; 269 local read_password = prosodyctl.read_password;
270 270
271 local jid_split = require "util.jid".prepped_split;
272
271 local prosodyctl_timeout = (config.get("*", "prosodyctl_timeout") or 5) * 2; 273 local prosodyctl_timeout = (config.get("*", "prosodyctl_timeout") or 5) * 2;
272 ----------------------- 274 -----------------------
273 local commands = {}; 275 local commands = {};
274 local command = arg[1]; 276 local command = arg[1];
275 277
276 function commands.adduser(arg) 278 function commands.adduser(arg)
277 if not arg[1] or arg[1] == "--help" then 279 if not arg[1] or arg[1] == "--help" then
278 show_usage([[adduser JID]], [[Create the specified user account in Prosody]]); 280 show_usage([[adduser JID]], [[Create the specified user account in Prosody]]);
279 return 1; 281 return 1;
280 end 282 end
281 local user, host = arg[1]:match("([^@]+)@(.+)"); 283 local user, host = jid_split(arg[1]);
282 if not user and host then 284 if not user and host then
283 show_message [[Failed to understand JID, please supply the JID you want to create]] 285 show_message [[Failed to understand JID, please supply the JID you want to create]]
284 show_usage [[adduser user@host]] 286 show_usage [[adduser user@host]]
285 return 1; 287 return 1;
286 end 288 end
315 function commands.passwd(arg) 317 function commands.passwd(arg)
316 if not arg[1] or arg[1] == "--help" then 318 if not arg[1] or arg[1] == "--help" then
317 show_usage([[passwd JID]], [[Set the password for the specified user account in Prosody]]); 319 show_usage([[passwd JID]], [[Set the password for the specified user account in Prosody]]);
318 return 1; 320 return 1;
319 end 321 end
320 local user, host = arg[1]:match("([^@]+)@(.+)"); 322 local user, host = jid_split(arg[1])
321 if not user and host then 323 if not user and host then
322 show_message [[Failed to understand JID, please supply the JID you want to set the password for]] 324 show_message [[Failed to understand JID, please supply the JID you want to set the password for]]
323 show_usage [[passwd user@host]] 325 show_usage [[passwd user@host]]
324 return 1; 326 return 1;
325 end 327 end
354 function commands.deluser(arg) 356 function commands.deluser(arg)
355 if not arg[1] or arg[1] == "--help" then 357 if not arg[1] or arg[1] == "--help" then
356 show_usage([[deluser JID]], [[Permanently remove the specified user account from Prosody]]); 358 show_usage([[deluser JID]], [[Permanently remove the specified user account from Prosody]]);
357 return 1; 359 return 1;
358 end 360 end
359 local user, host = arg[1]:match("([^@]+)@(.+)"); 361 local user, host = jid_split(arg[1]);
360 if not user and host then 362 if not user and host then
361 show_message [[Failed to understand JID, please supply the JID you want to set the password for]] 363 show_message [[Failed to understand JID, please supply the JID you want to set the password for]]
362 show_usage [[passwd user@host]] 364 show_usage [[passwd user@host]]
363 return 1; 365 return 1;
364 end 366 end