summaryrefslogtreecommitdiffstats
path: root/aconf/model
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2018-10-31 14:49:25 +0200
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2018-10-31 15:17:16 +0200
commit853076c80306853e28fbb2a5f9c6a54d8abca9fd (patch)
treec1eacf224646abbf91b411da9dffb82341a56ab0 /aconf/model
parent059d74cc9f56756ed4bf28a3777dc530c4520f36 (diff)
downloadaconf-853076c80306853e28fbb2a5f9c6a54d8abca9fd.tar.bz2
aconf-853076c80306853e28fbb2a5f9c6a54d8abca9fd.tar.xz
switch to Lua 5.3v0.6.6
Diffstat (limited to 'aconf/model')
-rw-r--r--aconf/model/aaa.lua12
1 files changed, 9 insertions, 3 deletions
diff --git a/aconf/model/aaa.lua b/aconf/model/aaa.lua
index 982e5b3..e65b678 100644
--- a/aconf/model/aaa.lua
+++ b/aconf/model/aaa.lua
@@ -1,13 +1,14 @@
--[[
-Copyright (c) 2012-2016 Kaarle Ritvanen
+Copyright (c) 2012-2018 Kaarle Ritvanen
See LICENSE file for license details
--]]
local M = require('aconf.model')
local node = require('aconf.model.node')
local object = require('aconf.object')
+local map = require('aconf.util').map
-local digest = require('crypto').digest
+local digest = require('openssl.digest')
local conf_addr = '/json'..require('posix').getcwd()..'/config'
@@ -18,7 +19,12 @@ Role.permissions = M.Set{type=M.Reference{scope='../../../permissions'}}
local function hash_password(algorithm, salt, password)
- return algorithm..'$'..salt..'$'..digest(algorithm, salt..password)
+ return algorithm..'$'..salt..'$'..table.concat(
+ map(
+ function(b) return ('%02x'):format(b) end,
+ {string.byte(digest.new(algorithm):final(salt..password), 1, -1)}
+ )
+ )
end
local hash_pattern = '^(%w+)%$(%w+)%$%x+$'