diff options
author | Unknwon <u@gogs.io> | 2016-08-09 17:41:18 -0700 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2016-08-09 17:41:18 -0700 |
commit | edd786446c0f7a1581be08dbe7697c339790c2c1 (patch) | |
tree | 117441b17267d3db3d8859ae06f11a03f1f9b253 | |
parent | b0b88d9bc5670cc04ad9f53f6b75947db5991629 (diff) | |
download | gitea-edd786446c0f7a1581be08dbe7697c339790c2c1.tar.gz gitea-edd786446c0f7a1581be08dbe7697c339790c2c1.zip |
#3158 skip RUN_USER check on Windows
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | gogs.go | 2 | ||||
-rw-r--r-- | modules/setting/setting.go | 21 | ||||
-rw-r--r-- | routers/install.go | 7 | ||||
-rw-r--r-- | templates/.VERSION | 2 |
5 files changed, 24 insertions, 10 deletions
@@ -3,7 +3,7 @@ Gogs - Go Git Service [![Build Status](https://travis-ci.org/gogits/gogs.svg?bra ![](https://github.com/gogits/gogs/blob/master/public/img/gogs-large-resize.png?raw=true) -##### Current tip version: 0.9.69 (see [Releases](https://github.com/gogits/gogs/releases) for binary versions) +##### Current tip version: 0.9.70 (see [Releases](https://github.com/gogits/gogs/releases) for binary versions) | Web | UI | Preview | |:-------------:|:-------:|:-------:| @@ -17,7 +17,7 @@ import ( "github.com/gogits/gogs/modules/setting" ) -const APP_VER = "0.9.69.0808" +const APP_VER = "0.9.70.0808" func init() { runtime.GOMAXPROCS(runtime.NumCPU()) diff --git a/modules/setting/setting.go b/modules/setting/setting.go index aa618ad65c..a56c4824e9 100644 --- a/modules/setting/setting.go +++ b/modules/setting/setting.go @@ -285,6 +285,19 @@ func forcePathSeparator(path string) { } } +// IsRunUserMatchCurrentUser returns false if configured run user does not match +// actual user that runs the app. The first return value is the actual user name. +// This check is ignored under Windows since SSH remote login is not the main +// method to login on Windows. +func IsRunUserMatchCurrentUser(runUser string) (string, bool) { + if IsWindows { + return "", true + } + + currentUser := user.CurrentUsername() + return currentUser, runUser == currentUser +} + // NewContext initializes configuration context. // NOTE: do not print any log except error. func NewContext() { @@ -431,10 +444,12 @@ func NewContext() { }[Cfg.Section("time").Key("FORMAT").MustString("RFC1123")] RunUser = Cfg.Section("").Key("RUN_USER").String() - curUser := user.CurrentUsername() // Does not check run user when the install lock is off. - if InstallLock && RunUser != curUser { - log.Fatal(4, "Expect user(%s) but current user is: %s", RunUser, curUser) + if InstallLock { + currentUser, match := IsRunUserMatchCurrentUser(RunUser) + if !match { + log.Fatal(4, "Expect user '%s' but current user is: %s", RunUser, currentUser) + } } // Determine and create root git repository path. diff --git a/routers/install.go b/routers/install.go index 8b96ff8254..75f38a7931 100644 --- a/routers/install.go +++ b/routers/install.go @@ -252,11 +252,10 @@ func InstallPost(ctx *context.Context, form auth.InstallForm) { return } - // Check run user. - curUser := user.CurrentUsername() - if form.RunUser != curUser { + currentUser, match := setting.IsRunUserMatchCurrentUser(form.RunUser) + if !match { ctx.Data["Err_RunUser"] = true - ctx.RenderWithErr(ctx.Tr("install.run_user_not_match", form.RunUser, curUser), INSTALL, &form) + ctx.RenderWithErr(ctx.Tr("install.run_user_not_match", form.RunUser, currentUser), INSTALL, &form) return } diff --git a/templates/.VERSION b/templates/.VERSION index ec9912cd1e..211c83f959 100644 --- a/templates/.VERSION +++ b/templates/.VERSION @@ -1 +1 @@ -0.9.69.0808
\ No newline at end of file +0.9.70.0808
\ No newline at end of file |