aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Borelli <pborelli@gnome.org>2015-07-31 08:50:11 +0200
committerPaolo Borelli <pborelli@gnome.org>2015-08-15 10:05:12 +0200
commit0d38794c7f9b25b2e602cb0d2f686e74cd1ab1cb (patch)
tree5ebac231c18bbce2ee1ba5f8e244b26cf198b46d
parentb35d7eee31e8a33e314d54514854efaeee9d46b1 (diff)
Factor out function to get the current user
The same logic was duplicated in three places. Factor it out so that we can add further fallbacks in a single place.
-rw-r--r--modules/setting/setting.go6
-rw-r--r--modules/user/user.go18
-rw-r--r--routers/install.go11
3 files changed, 23 insertions, 12 deletions
diff --git a/modules/setting/setting.go b/modules/setting/setting.go
index acd3aae6..79e47c89 100644
--- a/modules/setting/setting.go
+++ b/modules/setting/setting.go
@@ -24,6 +24,7 @@ import (
"github.com/gogits/gogs/modules/bindata"
"github.com/gogits/gogs/modules/log"
// "github.com/gogits/gogs/modules/ssh"
+ "github.com/gogits/gogs/modules/user"
)
type Scheme string
@@ -309,10 +310,7 @@ func NewConfigContext() {
}[Cfg.Section("time").Key("FORMAT").MustString("RFC1123")]
RunUser = Cfg.Section("").Key("RUN_USER").String()
- curUser := os.Getenv("USER")
- if len(curUser) == 0 {
- curUser = os.Getenv("USERNAME")
- }
+ 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)
diff --git a/modules/user/user.go b/modules/user/user.go
new file mode 100644
index 00000000..8a2557f3
--- /dev/null
+++ b/modules/user/user.go
@@ -0,0 +1,18 @@
+// Copyright 2014 The Gogs Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package user
+
+import (
+ "os"
+)
+
+func CurrentUsername() string {
+ curUserName := os.Getenv("USER")
+ if len(curUserName) > 0 {
+ return curUserName
+ }
+
+ return os.Getenv("USERNAME")
+}
diff --git a/routers/install.go b/routers/install.go
index 3d3e8997..8fed105f 100644
--- a/routers/install.go
+++ b/routers/install.go
@@ -26,6 +26,7 @@ import (
"github.com/gogits/gogs/modules/middleware"
"github.com/gogits/gogs/modules/setting"
"github.com/gogits/gogs/modules/social"
+ "github.com/gogits/gogs/modules/user"
)
const (
@@ -111,10 +112,7 @@ func Install(ctx *middleware.Context) {
// Note(unknwon): it's hard for Windows users change a running user,
// so just use current one if config says default.
if setting.IsWindows && setting.RunUser == "git" {
- form.RunUser = os.Getenv("USER")
- if len(form.RunUser) == 0 {
- form.RunUser = os.Getenv("USERNAME")
- }
+ form.RunUser = user.CurrentUsername()
} else {
form.RunUser = setting.RunUser
}
@@ -201,10 +199,7 @@ func InstallPost(ctx *middleware.Context, form auth.InstallForm) {
}
// Check run user.
- curUser := os.Getenv("USER")
- if len(curUser) == 0 {
- curUser = os.Getenv("USERNAME")
- }
+ curUser := user.CurrentUsername()
if form.RunUser != curUser {
ctx.Data["Err_RunUser"] = true
ctx.RenderWithErr(ctx.Tr("install.run_user_not_match", form.RunUser, curUser), INSTALL, &form)