aboutsummaryrefslogtreecommitdiffstats
path: root/util/sasl/plain.lua
diff options
context:
space:
mode:
authorWaqas Hussain <waqas20@gmail.com>2013-01-22 08:30:38 +0500
committerWaqas Hussain <waqas20@gmail.com>2013-01-22 08:30:38 +0500
commit8c8ebcc4aeb65184408557a5d3f967dd2b0e7e51 (patch)
tree9938dd9411cf02b2c7cc7a82103633f7378030b8 /util/sasl/plain.lua
parentf9b9d6c4d2b71e142bc7cd254bc91171e32b2825 (diff)
parent4808daf39fd7b3d3de0e2c25e871dcbacbed1299 (diff)
downloadprosody-8c8ebcc4aeb65184408557a5d3f967dd2b0e7e51.tar.gz
prosody-8c8ebcc4aeb65184408557a5d3f967dd2b0e7e51.zip
Merge 0.9->trunk
Diffstat (limited to 'util/sasl/plain.lua')
-rw-r--r--util/sasl/plain.lua9
1 files changed, 9 insertions, 0 deletions
diff --git a/util/sasl/plain.lua b/util/sasl/plain.lua
index d108a40d..c9ec2911 100644
--- a/util/sasl/plain.lua
+++ b/util/sasl/plain.lua
@@ -13,6 +13,7 @@
local s_match = string.match;
local saslprep = require "util.encodings".stringprep.saslprep;
+local nodeprep = require "util.encodings".stringprep.nodeprep;
local log = require "util.logger".init("sasl");
module "sasl.plain"
@@ -54,6 +55,14 @@ local function plain(self, message)
return "failure", "malformed-request", "Invalid username or password.";
end
+ local _nodeprep = self.profile.nodeprep;
+ if _nodeprep ~= false then
+ authentication = (_nodeprep or nodeprep)(authentication);
+ if not authentication or authentication == "" then
+ return "failure", "malformed-request", "Invalid username or password."
+ end
+ end
+
local correct, state = false, false;
if self.profile.plain then
local correct_password;