diff --git a/conf/app.ini b/conf/app.ini index 916079ed89..1a96ebeab6 100644 --- a/conf/app.ini +++ b/conf/app.ini @@ -1,8 +1,8 @@ ; App name that shows on every page title APP_NAME = Gogs: Go Git Service APP_LOGO = img/favicon.png -; !!MUST CHANGE TO YOUR USER NAME!! -RUN_USER = skyblue +; Change it if you run locally +RUN_USER = git ; Either "dev", "prod" or "test", default is "dev" RUN_MODE = dev diff --git a/gogs.go b/gogs.go index 93b7231b77..7ac699cc69 100644 --- a/gogs.go +++ b/gogs.go @@ -7,7 +7,6 @@ package main import ( "os" - // "os/user" "runtime" "github.com/codegangsta/cli" @@ -27,21 +26,7 @@ func init() { runtime.GOMAXPROCS(runtime.NumCPU()) } -// func checkRunUser() bool { -// u, err := user.Current() -// if err != nil { -// // TODO: log -// return false -// } -// return u.Username == base.Cfg.MustValue("", "RUN_USER") -// } - func main() { - /*if !checkRunUser() { - println("The command should be run as", base.Cfg.MustValue("", "RUN_USER")) - return - }*/ - app := cli.NewApp() app.Name = "Gogs" app.Usage = "Go Git Service" diff --git a/modules/base/conf.go b/modules/base/conf.go index 90b3547642..1661681e7e 100644 --- a/modules/base/conf.go +++ b/modules/base/conf.go @@ -259,16 +259,11 @@ func NewConfigContext() { Cfg.BlockMode = false cfgPath = filepath.Join(workDir, "custom/conf/app.ini") - if !com.IsFile(cfgPath) { - fmt.Println("Custom configuration not found(custom/conf/app.ini)\n" + - "Please create it and make your own configuration!") - os.Exit(2) - - } - - if err = Cfg.AppendFiles(cfgPath); err != nil { - fmt.Printf("Cannot load config file '%s'\n", cfgPath) - os.Exit(2) + if com.IsFile(cfgPath) { + if err = Cfg.AppendFiles(cfgPath); err != nil { + fmt.Printf("Cannot load config file '%s'\n", cfgPath) + os.Exit(2) + } } AppName = Cfg.MustValue("", "APP_NAME", "Gogs: Go Git Service") @@ -276,7 +271,16 @@ func NewConfigContext() { AppUrl = Cfg.MustValue("server", "ROOT_URL") Domain = Cfg.MustValue("server", "DOMAIN") SecretKey = Cfg.MustValue("security", "SECRET_KEY") + RunUser = Cfg.MustValue("", "RUN_USER") + curUser := os.Getenv("USERNAME") + if len(curUser) == 0 { + curUser = os.Getenv("USER") + } + if RunUser != curUser { + fmt.Printf("Expect user(%s) but current user is: %s\n", RunUser, curUser) + os.Exit(2) + } EnableHttpsClone = Cfg.MustBool("security", "ENABLE_HTTPS_CLONE", false) diff --git a/serve.go b/serve.go index acdcb877ff..a4d5a727d8 100644 --- a/serve.go +++ b/serve.go @@ -49,7 +49,7 @@ func init() { level := "0" os.MkdirAll("log", os.ModePerm) log.NewLogger(10000, "file", fmt.Sprintf(`{"level":%s,"filename":"%s"}`, level, "log/serv.log")) - log.Info("start logging...") + log.Trace("start logging...") } func parseCmd(cmd string) (string, string) { @@ -73,6 +73,8 @@ func In(b string, sl map[string]int) bool { } func runServ(k *cli.Context) { + log.Trace("new serv request") + base.NewConfigContext() models.LoadModelsConfig() models.NewEngine() @@ -80,17 +82,20 @@ func runServ(k *cli.Context) { keys := strings.Split(os.Args[2], "-") if len(keys) != 2 { fmt.Println("auth file format error") + log.Error("auth file format error") return } keyId, err := strconv.ParseInt(keys[1], 10, 64) if err != nil { fmt.Println("auth file format error") + log.Error("auth file format error") return } user, err := models.GetUserByKeyId(keyId) if err != nil { fmt.Println("You have no right to access") + log.Error("You have no right to access") return } @@ -105,6 +110,7 @@ func runServ(k *cli.Context) { rr := strings.SplitN(rRepo, "/", 2) if len(rr) != 2 { println("Unavilable repository", args) + log.Error("Unavilable repository %v", args) return } repoName := rr[1] @@ -122,11 +128,12 @@ func runServ(k *cli.Context) { isExist = false if isRead { println("Repository", user.Name+"/"+repoName, "is not exist") + log.Error("Repository " + user.Name + "/" + repoName + " is not exist") return } } else { println("Get repository error:", err) - log.Error(err.Error()) + log.Error("Get repository error: " + err.Error()) return } } @@ -142,6 +149,7 @@ func runServ(k *cli.Context) { } if !has { println("You have no right to write this repository") + log.Error("You have no right to access this repository") return } case isRead: @@ -161,10 +169,12 @@ func runServ(k *cli.Context) { } if !has { println("You have no right to access this repository") + log.Error("You have no right to access this repository") return } default: println("Unknown command") + log.Error("Unknown command") return } @@ -175,23 +185,23 @@ func runServ(k *cli.Context) { _, err = models.CreateRepository(user, repoName, "", "", "", false, true) if err != nil { println("Create repository failed") - log.Error(err.Error()) + log.Error("Create repository failed: " + err.Error()) return } } } - rep, err = git.OpenRepository(repoPath) - if err != nil { - println("OpenRepository failed:", err.Error()) - log.Error(err.Error()) - return - } + rep, err = git.OpenRepository(repoPath) + if err != nil { + println("OpenRepository failed:", err.Error()) + log.Error("OpenRepository failed: " + err.Error()) + return + } refs, err := rep.AllReferencesMap() if err != nil { println("Get All References failed:", err.Error()) - log.Error(err.Error()) + log.Error("Get All References failed: " + err.Error()) return } @@ -208,7 +218,7 @@ func runServ(k *cli.Context) { if err = gitcmd.Run(); err != nil { println("execute command error:", err.Error()) - log.Error(err.Error()) + log.Error("execute command error: " + err.Error()) return } @@ -236,6 +246,7 @@ func runServ(k *cli.Context) { } if refname == "" { println("No find any reference name:", b.String()) + log.Error("No find any reference name: " + b.String()) return } @@ -248,17 +259,18 @@ func runServ(k *cli.Context) { refs, err = rep.AllReferencesMap() if err != nil { println("Get All References failed:", err.Error()) - log.Error(err.Error()) + log.Error("Get All References failed: " + err.Error()) return } if ref, ok = refs[refname]; !ok { + log.Error("unknow reference name -", refname, "-", b.String()) log.Error("unknow reference name -", refname, "-", b.String()) return } l, err = ref.AllCommits() if err != nil { println("Get All Commits failed:", err.Error()) - log.Error(err.Error()) + log.Error("Get All Commits failed: " + err.Error()) return } } else { @@ -268,14 +280,14 @@ func runServ(k *cli.Context) { last, err = ref.LastCommit() if err != nil { println("Get last commit failed:", err.Error()) - log.Error(err.Error()) + log.Error("Get last commit failed: " + err.Error()) return } ref2, err := rep.LookupReference(ref.Name) if err != nil { println("look up reference failed:", err.Error()) - log.Error(err.Error()) + log.Error("look up reference failed: " + err.Error()) return } @@ -283,7 +295,7 @@ func runServ(k *cli.Context) { before, err := ref2.LastCommit() if err != nil { println("Get last commit failed:", err.Error()) - log.Error(err.Error()) + log.Error("Get last commit failed: " + err.Error()) return } //log.Info("----", before.Id(), "-----", last.Id()) diff --git a/templates/user/delete.tmpl b/templates/user/delete.tmpl index a0f20fa2ca..17c9ea8925 100644 --- a/templates/user/delete.tmpl +++ b/templates/user/delete.tmpl @@ -6,9 +6,9 @@