From 853076c80306853e28fbb2a5f9c6a54d8abca9fd Mon Sep 17 00:00:00 2001 From: Kaarle Ritvanen Date: Wed, 31 Oct 2018 14:49:25 +0200 Subject: switch to Lua 5.3 --- aconf/model/aaa.lua | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'aconf/model/aaa.lua') 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+$' -- cgit v1.2.3