]> source.dussan.org Git - gitea.git/commitdiff
Fix install bugs
authorUnknown <joe2010xtmf@163.com>
Sun, 30 Mar 2014 15:58:21 +0000 (11:58 -0400)
committerUnknown <joe2010xtmf@163.com>
Sun, 30 Mar 2014 15:58:21 +0000 (11:58 -0400)
modules/middleware/auth.go
routers/install.go

index 64f75d75cf66bc4fa290ea9bc6ddc08b15bad330..f50fde99e591513a78215c89bc6e64d82b82ff70 100644 (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
index 6f29badcfa6af47150d4aaae261de756b7930203..cca652f9cf7470c883b58ed85ca6974c13547544 100644 (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