Browse Source

Fix install bugs

for-closed-social
Unknown 10 years ago
parent
commit
3698431fc1
2 changed files with 19 additions and 0 deletions
  1. +5
    -0
      modules/middleware/auth.go
  2. +14
    -0
      routers/install.go

+ 5
- 0
modules/middleware/auth.go View File

@ -21,6 +21,11 @@ type ToggleOptions struct {
func Toggle(options *ToggleOptions) martini.Handler {
return func(ctx *Context) {
if !base.InstallLock {
ctx.Redirect("/install")
return
}
if options.SignOutRequire && ctx.IsSigned && ctx.Req.RequestURI != "/" {
ctx.Redirect("/")
return

+ 14
- 0
routers/install.go View File

@ -131,6 +131,17 @@ func Install(ctx *middleware.Context, form auth.InstallForm) {
return
}
// Check run user.
curUser := os.Getenv("USERNAME")
if len(curUser) == 0 {
curUser = os.Getenv("USER")
}
// Does not check run user when the install lock is off.
if form.RunUser != curUser {
ctx.RenderWithErr("Run user isn't the current user: "+form.RunUser+" -> "+curUser, "install", &form)
return
}
// Save settings.
base.Cfg.SetValue("database", "DB_TYPE", models.DbCfg.Type)
base.Cfg.SetValue("database", "HOST", models.DbCfg.Host)
@ -155,8 +166,11 @@ func Install(ctx *middleware.Context, form auth.InstallForm) {
base.Cfg.SetValue("service", "ENABLE_NOTIFY_MAIL", base.ToStr(form.MailNotify == "on"))
}
base.Cfg.SetValue("", "RUN_MODE", "prod")
base.Cfg.SetValue("security", "INSTALL_LOCK", "true")
os.MkdirAll("custom/conf", os.ModePerm)
if err := goconfig.SaveConfigFile(base.Cfg, "custom/conf/app.ini"); err != nil {
ctx.RenderWithErr("Fail to save configuration: "+err.Error(), "install", &form)
return

Loading…
Cancel
Save