summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUnknwon <u@gogs.io>2016-08-09 17:41:18 -0700
committerUnknwon <u@gogs.io>2016-08-09 17:41:18 -0700
commitedd786446c0f7a1581be08dbe7697c339790c2c1 (patch)
tree117441b17267d3db3d8859ae06f11a03f1f9b253
parentb0b88d9bc5670cc04ad9f53f6b75947db5991629 (diff)
downloadgitea-edd786446c0f7a1581be08dbe7697c339790c2c1.tar.gz
gitea-edd786446c0f7a1581be08dbe7697c339790c2c1.zip
#3158 skip RUN_USER check on Windows
-rw-r--r--README.md2
-rw-r--r--gogs.go2
-rw-r--r--modules/setting/setting.go21
-rw-r--r--routers/install.go7
-rw-r--r--templates/.VERSION2
5 files changed, 24 insertions, 10 deletions
diff --git a/README.md b/README.md
index 76c3624969..dd4255da2f 100644
--- a/README.md
+++ b/README.md
@@ -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 |
|:-------------:|:-------:|:-------:|
diff --git a/gogs.go b/gogs.go
index 09d8590c6c..092e663e44 100644
--- a/gogs.go
+++ b/gogs.go
@@ -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