Mercurial Hosting > luan
comparison 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 |
comparison
equal
deleted
inserted
replaced
1329:5a39b006acd1 | 1330:f41919741100 |
---|---|
1 local Luan = require "luan:Luan.luan" | |
2 local error = Luan.error | |
3 local do_file = Luan.do_file or error() | |
4 local String = require "luan:String.luan" | |
5 local gsub = String.gsub or error() | |
6 | |
7 | |
8 local dir, domain, logging = ... | |
9 | |
10 | |
11 -- logging | |
12 | |
13 if logging then | |
14 java() | |
15 local LuanLogger = require "java:luan.modules.logging.LuanLogger" | |
16 local Level = require "java:org.apache.log4j.Level" | |
17 local EnhancedPatternLayout = require "java:org.apache.log4j.EnhancedPatternLayout" | |
18 local RollingFileAppender = require "java:org.apache.log4j.RollingFileAppender" | |
19 | |
20 local logger = LuanLogger.getRootLogger() | |
21 logger.removeAllAppenders() | |
22 local layout = EnhancedPatternLayout.new("%d %-5p %c - %m%n") | |
23 local log_dir = dir.."/site/private/local/logs/" | |
24 | |
25 local function add_appender(file,level) | |
26 local appender = RollingFileAppender.new(layout, log_dir..file) | |
27 appender.setMaxFileSize("1MB") | |
28 logger.addAppender(appender) | |
29 if level ~= logger.getEffectiveLevel() then | |
30 appender.setThreshold(level) | |
31 end | |
32 end | |
33 | |
34 add_appender("error.log",Level.ERROR) | |
35 add_appender("warn.log",Level.WARN) | |
36 add_appender("info.log",Level.INFO) | |
37 end | |
38 | |
39 | |
40 | |
41 -- set vars | |
42 | |
43 local Io = require "luan:Io.luan" | |
44 local Http = require "luan:http/Http.luan" | |
45 local Hosting = require "luan:host/Hosting.luan" | |
46 local Mail = require "luan:mail/Mail.luan" | |
47 | |
48 Io.password = do_file(dir.."/info.luan").password or error() | |
49 | |
50 Http.dir = "file:"..dir.."/site" | |
51 | |
52 function Io.schemes.site(path,loading) | |
53 return Io.uri( Http.dir..path, loading ) | |
54 end | |
55 | |
56 Http.domain = domain | |
57 | |
58 | |
59 -- mail - fix later | |
60 | |
61 Hosting.send_mail = Mail.Sender{ | |
62 host = "smtpcorp.com" | |
63 username = "smtp@luan.ws" -- ? | |
64 password = "luanhost" | |
65 port = 2525 | |
66 }.send | |
67 | |
68 | |
69 -- callback to luanhost code | |
70 do_file "file:init.luan" | |
71 | |
72 | |
73 | |
74 java() | |
75 local WebHandler = require "java:luan.host.WebHandler" | |
76 local LuanJava = require "java:luan.Luan" | |
77 | |
78 function Hosting.no_security(password) | |
79 WebHandler.securityPassword == password or error "wrong password" | |
80 LuanJava.setSecurity(nil) | |
81 end |