Changeset

927:cc180d25dbeb

Fixed: mod_register: Node prepping was not being applied to usernames (part of issue #57)
author Waqas Hussain <waqas20@gmail.com>
date Mon, 30 Mar 2009 02:30:06 +0500
parents 926:ceaa7d54a3cb
children 928:92288c13d7bc
files plugins/mod_register.lua
diffstat 1 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/plugins/mod_register.lua	Mon Mar 30 02:24:19 2009 +0500
+++ b/plugins/mod_register.lua	Mon Mar 30 02:30:06 2009 +0500
@@ -13,6 +13,7 @@
 local usermanager_create_user = require "core.usermanager".create_user;
 local datamanager_store = require "util.datamanager".store;
 local os_time = os.time;
+local nodeprep = require "util.encodings".stringprep.nodeprep;
 
 module:add_feature("jabber:iq:register");
 
@@ -62,7 +63,7 @@
 				local password = query:child_with_name("password");
 				if username and password then
 					-- FIXME shouldn't use table.concat
-					username = table.concat(username);
+					username = nodeprep(table.concat(username));
 					password = table.concat(password);
 					if username == session.username then
 						if usermanager_create_user(username, password, session.host) then -- password change -- TODO is this the right way?
@@ -133,7 +134,7 @@
 						end
 					end
 					-- FIXME shouldn't use table.concat
-					username = table.concat(username);
+					username = nodeprep(table.concat(username));
 					password = table.concat(password);
 					if usermanager_user_exists(username, session.host) then
 						session.send(st.error_reply(stanza, "cancel", "conflict"));