view src/luan/host/Util.luan @ 1190:db7d31f4089a

minor
author Franklin Schmidt <fschmidt@gmail.com>
date Fri, 23 Feb 2018 15:48:15 -0700
parents 51d1342e25ad
children 3db95cc00d09
line wrap: on
line source

local Luan = require "luan:Luan.luan"
local error = Luan.error
local do_file = Luan.do_file or error()
local stringify = Luan.stringify or error()
local Io = require "luan:Io.luan"
local String = require "luan:String.luan"
local lower = String.lower or error()
local Hosting = require "luan:host/Hosting.luan"

java()
local Base64 = require "java:java.util.Base64"
local MessageDigest = require "java:java.security.MessageDigest"


local Util = {}

function Util.read_password(domain)
	domain = lower(domain)
	return do_file(Hosting.sites_dir..domain.."/info.luan").password or error()
end

function Util.write_password(domain,password)
	local dir = Hosting.sites_dir..lower(domain)
	Io.schemes.file(dir.."/info.luan").write_text( %>
return <%= stringify{password=password} %>
<%	)
	local sha1 = MessageDigest.getInstance("SHA1").digest(password.getBytes())
	local encoded = Base64.getEncoder().encodeToString(sha1)
	Io.schemes.file(dir.."/password.nginx").write_text( %>
admin:{SHA}<%=encoded%>
<%	)
end

return Util