-- luacrypto >= 0.3
-- <http://mkottman.github.io/luacrypto/>
-- lualdap >= 1.2
--- <http://git.zx2c4.com/lualdap/about/>
+-- <https://git.zx2c4.com/lualdap/about/>
--
function gentoo_ldap_user_groups(username, password)
-- Ensure the user is alphanumeric
- if username:match("%W") then
+ if username == nil or username:match("%W") then
return nil
end
end
-- Lua hashes strings, so these comparisons are time invariant.
- if hmac ~= crypto.hmac.digest("sha1", field .. "|" .. value .. "|" .. tostring(expiration) .. "|" .. salt, secret) then
+ if hmac ~= crypto.hmac.digest("sha256", field .. "|" .. value .. "|" .. tostring(expiration) .. "|" .. salt, secret) then
return nil
end
value = url_encode(value)
field = url_encode(field)
authstr = field .. "|" .. value .. "|" .. tostring(expiration) .. "|" .. salt
- authstr = authstr .. "|" .. crypto.hmac.digest("sha1", authstr, secret)
+ authstr = authstr .. "|" .. crypto.hmac.digest("sha256", authstr, secret)
return authstr
end