diff src/luan/host/main.luan @ 1181:51d1342e25ad

luanhost password handling
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 20 Feb 2018 19:50:30 -0700
parents 1f9d34a6f308
children 0b55a1af5a44
line wrap: on
line diff
--- a/src/luan/host/main.luan	Wed Feb 14 16:49:56 2018 -0700
+++ b/src/luan/host/main.luan	Tue Feb 20 19:50:30 2018 -0700
@@ -16,6 +16,9 @@
 local Logging = require "luan:logging/Logging.luan"
 local logger = Logging.logger "main"
 local WebHandler = require "java:luan.host.WebHandler"
+local Util = require "classpath:luan/host/Util.luan"
+local read_password = Util.read_password or error()
+local write_password = Util.write_password or error()
 
 
 local sites_dir = Io.schemes.file(Hosting.sites_dir)
@@ -48,7 +51,7 @@
 	domain = lower(domain)
 	local dir = sites_dir.child(domain)
 	if dir.exists() then
-		local pwd = dir.child("password").read_text()
+		local pwd = read_password(domain)
 		if pwd ~= password then
 			error "wrong password"
 		end
@@ -102,7 +105,7 @@
 	local dir = sites_dir.child(domain)
 	dir.exists() and error "already exists"
 	dir.mkdir()
-	dir.child("password").write(password)
+	write_password(domain,password)
 	dir = dir.child("site")
 	dir.mkdir()
 	return { name = dir.name(), path = dir.to_string(), children = {} }
@@ -177,7 +180,7 @@
 function fns.change_password(domain,old_password,new_password)
 	local site_dir = get_dir(domain,old_password)
 	site_dir or error "domain not found"
-	site_dir.parent().child("password").write(new_password)
+	write_password(domain,new_password)
 	WebHandler.removeHandler(domain)
 	WebHandler.loadHandler(domain)
 end