Software /
code /
prosody
Comparison
util/sasl/scram.lua @ 3540:bc139431830b
Monster whitespace commit (beware the whitespace monster).
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Sat, 16 Oct 2010 23:00:42 +0500 |
parent | 3405:b1efe62c3c37 |
child | 3981:2b0b8fe68df2 |
comparison
equal
deleted
inserted
replaced
3539:8bbd965267b2 | 3540:bc139431830b |
---|---|
65 end | 65 end |
66 | 66 |
67 -- hash algorithm independent Hi(PBKDF2) implementation | 67 -- hash algorithm independent Hi(PBKDF2) implementation |
68 function Hi(hmac, str, salt, i) | 68 function Hi(hmac, str, salt, i) |
69 local Ust = hmac(str, salt.."\0\0\0\1"); | 69 local Ust = hmac(str, salt.."\0\0\0\1"); |
70 local res = Ust; | 70 local res = Ust; |
71 for n=1,i-1 do | 71 for n=1,i-1 do |
72 local Und = hmac(str, Ust) | 72 local Und = hmac(str, Ust) |
73 res = binaryXOR(res, Und) | 73 res = binaryXOR(res, Und) |
74 Ust = Und | 74 Ust = Und |
75 end | 75 end |
78 | 78 |
79 local function validate_username(username) | 79 local function validate_username(username) |
80 -- check for forbidden char sequences | 80 -- check for forbidden char sequences |
81 for eq in username:gmatch("=(.?.?)") do | 81 for eq in username:gmatch("=(.?.?)") do |
82 if eq ~= "2D" and eq ~= "3D" then | 82 if eq ~= "2D" and eq ~= "3D" then |
83 return false | 83 return false |
84 end | 84 end |
85 end | 85 end |
86 | 86 |
87 -- replace =2D with , and =3D with = | 87 -- replace =2D with , and =3D with = |
88 username = username:gsub("=2D", ","); | 88 username = username:gsub("=2D", ","); |
89 username = username:gsub("=3D", "="); | 89 username = username:gsub("=3D", "="); |