Software /
code /
prosody
Comparison
util/sasl/scram.lua @ 8382:e5d00bf4a4d5
util: Various minor changes to please [luacheck]
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 10 Nov 2017 05:42:32 +0100 |
parent | 8095:57192cf193c7 |
child | 8555:4f0f5b49bb03 |
comparison
equal
deleted
inserted
replaced
8381:7f6184474149 | 8382:e5d00bf4a4d5 |
---|---|
44 'tls-unique' according to RFC 5929 | 44 'tls-unique' according to RFC 5929 |
45 ]] | 45 ]] |
46 | 46 |
47 local default_i = 4096 | 47 local default_i = 4096 |
48 | 48 |
49 local xor_map = {0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;1;0;3;2;5;4;7;6;9;8;11;10;13;12;15;14;2;3;0;1;6;7;4;5;10;11;8;9;14;15;12;13;3;2;1;0;7;6;5;4;11;10;9;8;15;14;13;12;4;5;6;7;0;1;2;3;12;13;14;15;8;9;10;11;5;4;7;6;1;0;3;2;13;12;15;14;9;8;11;10;6;7;4;5;2;3;0;1;14;15;12;13;10;11;8;9;7;6;5;4;3;2;1;0;15;14;13;12;11;10;9;8;8;9;10;11;12;13;14;15;0;1;2;3;4;5;6;7;9;8;11;10;13;12;15;14;1;0;3;2;5;4;7;6;10;11;8;9;14;15;12;13;2;3;0;1;6;7;4;5;11;10;9;8;15;14;13;12;3;2;1;0;7;6;5;4;12;13;14;15;8;9;10;11;4;5;6;7;0;1;2;3;13;12;15;14;9;8;11;10;5;4;7;6;1;0;3;2;14;15;12;13;10;11;8;9;6;7;4;5;2;3;0;1;15;14;13;12;11;10;9;8;7;6;5;4;3;2;1;0;}; | 49 local xor_map = { |
50 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,1,0,3,2,5,4,7,6,9,8,11,10, | |
51 13,12,15,14,2,3,0,1,6,7,4,5,10,11,8,9,14,15,12,13,3,2,1,0,7,6,5, | |
52 4,11,10,9,8,15,14,13,12,4,5,6,7,0,1,2,3,12,13,14,15,8,9,10,11,5, | |
53 4,7,6,1,0,3,2,13,12,15,14,9,8,11,10,6,7,4,5,2,3,0,1,14,15,12,13, | |
54 10,11,8,9,7,6,5,4,3,2,1,0,15,14,13,12,11,10,9,8,8,9,10,11,12,13, | |
55 14,15,0,1,2,3,4,5,6,7,9,8,11,10,13,12,15,14,1,0,3,2,5,4,7,6,10, | |
56 11,8,9,14,15,12,13,2,3,0,1,6,7,4,5,11,10,9,8,15,14,13,12,3,2,1, | |
57 0,7,6,5,4,12,13,14,15,8,9,10,11,4,5,6,7,0,1,2,3,13,12,15,14,9,8, | |
58 11,10,5,4,7,6,1,0,3,2,14,15,12,13,10,11,8,9,6,7,4,5,2,3,0,1,15, | |
59 14,13,12,11,10,9,8,7,6,5,4,3,2,1,0, | |
60 }; | |
50 | 61 |
51 local result = {}; | 62 local result = {}; |
52 local function binaryXOR( a, b ) | 63 local function binaryXOR( a, b ) |
53 for i=1, #a do | 64 for i=1, #a do |
54 local x, y = byte(a, i), byte(b, i); | 65 local x, y = byte(a, i), byte(b, i); |
235 return scram_hash; | 246 return scram_hash; |
236 end | 247 end |
237 | 248 |
238 local function init(registerMechanism) | 249 local function init(registerMechanism) |
239 local function registerSCRAMMechanism(hash_name, hash, hmac_hash) | 250 local function registerSCRAMMechanism(hash_name, hash, hmac_hash) |
240 registerMechanism("SCRAM-"..hash_name, {"plain", "scram_"..(hashprep(hash_name))}, scram_gen(hash_name:lower(), hash, hmac_hash)); | 251 registerMechanism("SCRAM-"..hash_name, |
252 {"plain", "scram_"..(hashprep(hash_name))}, | |
253 scram_gen(hash_name:lower(), hash, hmac_hash)); | |
241 | 254 |
242 -- register channel binding equivalent | 255 -- register channel binding equivalent |
243 registerMechanism("SCRAM-"..hash_name.."-PLUS", {"plain", "scram_"..(hashprep(hash_name))}, scram_gen(hash_name:lower(), hash, hmac_hash), {"tls-unique"}); | 256 registerMechanism("SCRAM-"..hash_name.."-PLUS", |
257 {"plain", "scram_"..(hashprep(hash_name))}, | |
258 scram_gen(hash_name:lower(), hash, hmac_hash), {"tls-unique"}); | |
244 end | 259 end |
245 | 260 |
246 registerSCRAMMechanism("SHA-1", sha1, hmac_sha1); | 261 registerSCRAMMechanism("SHA-1", sha1, hmac_sha1); |
247 end | 262 end |
248 | 263 |