Mercurial Hosting > luan
diff src/luan/host/init.luan @ 1330:f41919741100
fix security
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Mon, 11 Feb 2019 01:38:55 -0700 |
parents | src/luan/host/Init.luan@307e76ccd0d6 |
children | 11b7e11f9ed5 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/luan/host/init.luan Mon Feb 11 01:38:55 2019 -0700 @@ -0,0 +1,81 @@ +local Luan = require "luan:Luan.luan" +local error = Luan.error +local do_file = Luan.do_file or error() +local String = require "luan:String.luan" +local gsub = String.gsub or error() + + +local dir, domain, logging = ... + + +-- logging + +if logging then + java() + local LuanLogger = require "java:luan.modules.logging.LuanLogger" + local Level = require "java:org.apache.log4j.Level" + local EnhancedPatternLayout = require "java:org.apache.log4j.EnhancedPatternLayout" + local RollingFileAppender = require "java:org.apache.log4j.RollingFileAppender" + + local logger = LuanLogger.getRootLogger() + logger.removeAllAppenders() + local layout = EnhancedPatternLayout.new("%d %-5p %c - %m%n") + local log_dir = dir.."/site/private/local/logs/" + + local function add_appender(file,level) + local appender = RollingFileAppender.new(layout, log_dir..file) + appender.setMaxFileSize("1MB") + logger.addAppender(appender) + if level ~= logger.getEffectiveLevel() then + appender.setThreshold(level) + end + end + + add_appender("error.log",Level.ERROR) + add_appender("warn.log",Level.WARN) + add_appender("info.log",Level.INFO) +end + + + +-- set vars + +local Io = require "luan:Io.luan" +local Http = require "luan:http/Http.luan" +local Hosting = require "luan:host/Hosting.luan" +local Mail = require "luan:mail/Mail.luan" + +Io.password = do_file(dir.."/info.luan").password or error() + +Http.dir = "file:"..dir.."/site" + +function Io.schemes.site(path,loading) + return Io.uri( Http.dir..path, loading ) +end + +Http.domain = domain + + +-- mail - fix later + +Hosting.send_mail = Mail.Sender{ + host = "smtpcorp.com" + username = "smtp@luan.ws" -- ? + password = "luanhost" + port = 2525 +}.send + + +-- callback to luanhost code +do_file "file:init.luan" + + + +java() +local WebHandler = require "java:luan.host.WebHandler" +local LuanJava = require "java:luan.Luan" + +function Hosting.no_security(password) + WebHandler.securityPassword == password or error "wrong password" + LuanJava.setSecurity(nil) +end