projects
/
prosody.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mod_storage_sql: Dynamically replace backquotes with double quotes when connecting...
[prosody.git]
/
util
/
sasl
/
plain.lua
diff --git
a/util/sasl/plain.lua
b/util/sasl/plain.lua
index a4c8765da7a523c858f629d31a75ea1e3898060b..1a2ba01e406ac1a2b7f63f81fea28c1b3116e7f6 100644
(file)
--- a/
util/sasl/plain.lua
+++ b/
util/sasl/plain.lua
@@
-1,5
+1,5
@@
-- sasl.lua v0.4
-- sasl.lua v0.4
--- Copyright (C) 2008-20
09
Tobias Markmann
+-- Copyright (C) 2008-20
10
Tobias Markmann
--
-- All rights reserved.
--
--
-- All rights reserved.
--
@@
-19,12
+19,27
@@
module "plain"
-- ================================
-- SASL PLAIN according to RFC 4616
-- ================================
-- SASL PLAIN according to RFC 4616
+
+--[[
+Supported Authentication Backends
+
+plain:
+ function(username, realm)
+ return password, state;
+ end
+
+plain_test:
+ function(username, password, realm)
+ return true or false, state;
+ end
+]]
+
local function plain(self, message)
if not message then
return "failure", "malformed-request";
end
local function plain(self, message)
if not message then
return "failure", "malformed-request";
end
- local authorization, authentication, password = s_match(message, "^([^%z]
+
)%z([^%z]+)%z([^%z]+)");
+ local authorization, authentication, password = s_match(message, "^([^%z]
*
)%z([^%z]+)%z([^%z]+)");
if not authorization then
return "failure", "malformed-request";
if not authorization then
return "failure", "malformed-request";
@@
-43,9
+58,9
@@
local function plain(self, message)
if self.profile.plain then
local correct_password;
correct_password, state = self.profile.plain(authentication, self.realm);
if self.profile.plain then
local correct_password;
correct_password, state = self.profile.plain(authentication, self.realm);
- if correct_password == password then correct = true; else correct = false; end
+ correct = (correct_password == password);
elseif self.profile.plain_test then
elseif self.profile.plain_test then
- correct, state = self.profile.plain_test(authentication,
self.realm, password
);
+ correct, state = self.profile.plain_test(authentication,
password, self.realm
);
end
self.username = authentication
end
self.username = authentication