Software /
code /
prosody
Comparison
util/sasl.lua @ 2188:1fd38975addd sasl
Add support for plain profile in digest-md5 implementation.
author | Tobias Markmann <tm@ayena.de> |
---|---|
date | Fri, 13 Nov 2009 10:54:17 +0100 |
parent | 2187:f0a85d11823e |
child | 2190:9657276387af |
comparison
equal
deleted
inserted
replaced
2187:f0a85d11823e | 2188:1fd38975addd |
---|---|
14 | 14 |
15 local md5 = require "util.hashes".md5; | 15 local md5 = require "util.hashes".md5; |
16 local log = require "util.logger".init("sasl"); | 16 local log = require "util.logger".init("sasl"); |
17 local tostring = tostring; | 17 local tostring = tostring; |
18 local st = require "util.stanza"; | 18 local st = require "util.stanza"; |
19 local generate_uuid = require "util.uuid".generate; | |
20 local pairs, ipairs = pairs, ipairs; | 19 local pairs, ipairs = pairs, ipairs; |
21 local t_insert, t_concat = table.insert, table.concat; | 20 local t_insert, t_concat = table.insert, table.concat; |
22 local to_byte, to_char = string.byte, string.char; | |
23 local to_unicode = require "util.encodings".idna.to_unicode; | 21 local to_unicode = require "util.encodings".idna.to_unicode; |
24 local s_match = string.match; | 22 local s_match = string.match; |
25 local gmatch = string.gmatch | 23 local gmatch = string.gmatch |
26 local string = string | 24 local string = string |
27 local math = require "math" | 25 local math = require "math" |
39 local array = require "util.array" | 37 local array = require "util.array" |
40 module "sasl" | 38 module "sasl" |
41 | 39 |
42 --[[ | 40 --[[ |
43 Authentication Backend Prototypes: | 41 Authentication Backend Prototypes: |
42 | |
43 state = false : disabled | |
44 state = true : enabled | |
45 state = nil : non-existant | |
44 | 46 |
45 plain: | 47 plain: |
46 function(username, realm) | 48 function(username, realm) |
47 return password, state; | 49 return password, state; |
48 end | 50 end |
115 return true; | 117 return true; |
116 end | 118 end |
117 | 119 |
118 -- feed new messages to process into the library | 120 -- feed new messages to process into the library |
119 function method:process(message) | 121 function method:process(message) |
120 if message == "" or message == nil then return "failure", "malformed-request" end | 122 --if message == "" or message == nil then return "failure", "malformed-request" end |
121 return self.mech_i(self, message); | 123 return self.mech_i(self, message); |
122 end | 124 end |
123 | 125 |
124 -- load the mechanisms | 126 -- load the mechanisms |
125 m = require "util.sasl.plain" | 127 load_mechs = {"plain", "digest-md5"} |
126 m.init(registerMechanism) | 128 for _, mech in ipairs(load_mechs) do |
127 --dofile "util/sasl/digest-md5.lua" | 129 local name = "util.sasl."..mech; |
128 --dofile "util/sasl/scram.lua" | 130 local m = require(name); |
131 m.init(registerMechanism) | |
132 end | |
129 | 133 |
130 return _M; | 134 return _M; |