projects
/
prosody.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
d009a72
)
util.sasl.plain: Adding plain_hashed authentication backend support.
author
Tobias Markmann
<tm@ayena.de>
Sun, 28 Feb 2010 21:50:25 +0000
(22:50 +0100)
committer
Tobias Markmann
<tm@ayena.de>
Sun, 28 Feb 2010 21:50:25 +0000
(22:50 +0100)
util/sasl/plain.lua
patch
|
blob
|
history
diff --git
a/util/sasl/plain.lua
b/util/sasl/plain.lua
index 43bb239f4900dd5aaa3b1c5eeaca450696c8c4b3..6369face2713cf53f1aca9cd0b2726e51aed7a94 100644
(file)
--- a/
util/sasl/plain.lua
+++ b/
util/sasl/plain.lua
@@
-32,6
+32,11
@@
plain-test:
function(username, realm, password)
return true or false, state;
end
function(username, realm, password)
return true or false, state;
end
+
+plain-hashed:
+ function(username, realm)
+ return hashed_password, hash_function, state;
+ end
]]
local function plain(self, message)
]]
local function plain(self, message)
@@
-61,6
+66,10
@@
local function plain(self, message)
if correct_password == password then correct = true; else correct = false; end
elseif self.profile.plain_test then
correct, state = self.profile.plain_test(authentication, self.realm, password);
if correct_password == password then correct = true; else correct = false; end
elseif self.profile.plain_test then
correct, state = self.profile.plain_test(authentication, self.realm, password);
+ elseif self.profile.plain_hashed then
+ local hashed_password, hash_f;
+ hashed_password, hash_f, state = self.profile.plain_hashed(authentication, self.realm);
+ if hashed_password == hash_f(password) then correct = true; else correct = false; end
end
self.username = authentication
end
self.username = authentication
@@
-76,7
+85,7
@@
local function plain(self, message)
end
function init(registerMechanism)
end
function init(registerMechanism)
- registerMechanism("PLAIN", {"plain", "plain_test"}, plain);
+ registerMechanism("PLAIN", {"plain", "plain_test"
, "plain_hashed"
}, plain);
end
return _M;
end
return _M;