summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--conf/app.ini26
-rw-r--r--models/user.go2
-rw-r--r--modules/base/conf.go31
-rw-r--r--web.go13
4 files changed, 59 insertions, 13 deletions
diff --git a/conf/app.ini b/conf/app.ini
index 1c7021072f..9d4ee0b594 100644
--- a/conf/app.ini
+++ b/conf/app.ini
@@ -1,12 +1,14 @@
-# App name that shows on every page title
+; App name that shows on every page title
APP_NAME = Gogs: Go Git Service
-# !!MUST CHANGE TO YOUR USER NAME!!
+; !!MUST CHANGE TO YOUR USER NAME!!
RUN_USER = lunny
+; Either "dev", "prod" or "test", based on martini
+RUN_MODE = dev
[repository]
ROOT = /Users/%(RUN_USER)s/git/gogs-repositories
-LANG_IGNS=Google Go|C|Python|Ruby|C Sharp
-LICENSES=Apache v2 License|GPL v2|MIT License|Affero GPL|BSD (3-Clause) License
+LANG_IGNS = Google Go|C|Python|Ruby|C Sharp
+LICENSES = Apache v2 License|GPL v2|MIT License|Affero GPL|BSD (3-Clause) License
[server]
DOMAIN = gogits.org
@@ -14,15 +16,25 @@ HTTP_ADDR =
HTTP_PORT = 3000
[database]
-# Either "mysql" or "postgres", it's your choice
+; Either "mysql" or "postgres", it's your choice
DB_TYPE = mysql
HOST =
NAME = gogs
USER = root
PASSWD =
-# For "postgres" only, either "disable" or "verify-full"
+; For "postgres" only, either "disable", "require" or "verify-full"
SSL_MODE = disable
[security]
-# !!CHANGE THIS TO KEEP YOUR USER DATA SAFE!!
+; !!CHANGE THIS TO KEEP YOUR USER DATA SAFE!!
USER_PASSWD_SALT = !#@FDEWREWR&*(
+
+[mailer]
+ENABLED = true
+; Name displayed in mail title
+NAME = %(APP_NAME)s
+; Mail server
+HOST =
+; Mailer user name and password
+USER =
+PASSWD = \ No newline at end of file
diff --git a/models/user.go b/models/user.go
index 87c644b2b6..80af9bd4ba 100644
--- a/models/user.go
+++ b/models/user.go
@@ -252,7 +252,7 @@ func LoginUserPlain(name, passwd string) (*User, error) {
} else if !has {
err = ErrUserNotExist
}
- return &user, nil
+ return &user, err
}
// FollowUser marks someone be another's follower.
diff --git a/modules/base/conf.go b/modules/base/conf.go
index 9ed5545e8a..83c7f8872d 100644
--- a/modules/base/conf.go
+++ b/modules/base/conf.go
@@ -13,13 +13,23 @@ import (
"github.com/Unknwon/com"
"github.com/Unknwon/goconfig"
+
+ "github.com/gogits/gogs/modules/log"
)
+// Mailer represents a mail service.
+type Mailer struct {
+ Name string
+ Host string
+ User, Passwd string
+}
+
var (
- AppVer string
- AppName string
- Domain string
- Cfg *goconfig.ConfigFile
+ AppVer string
+ AppName string
+ Domain string
+ Cfg *goconfig.ConfigFile
+ MailService *Mailer
)
func exeDir() (string, error) {
@@ -59,6 +69,17 @@ func init() {
}
Cfg.BlockMode = false
- AppName = Cfg.MustValue("", "APP_NAME")
+ AppName = Cfg.MustValue("", "APP_NAME", "Gogs: Go Git Service")
Domain = Cfg.MustValue("server", "DOMAIN")
+
+ // Check mailer setting.
+ if Cfg.MustBool("mailer", "ENABLED") {
+ MailService = &Mailer{
+ Name: Cfg.MustValue("mailer", "NAME", AppName),
+ Host: Cfg.MustValue("mailer", "HOST", "127.0.0.1:25"),
+ User: Cfg.MustValue("mailer", "USER", "example@example.com"),
+ Passwd: Cfg.MustValue("mailer", "PASSWD", "******"),
+ }
+ log.Info("Mail Service Enabled")
+ }
}
diff --git a/web.go b/web.go
index ca504ea560..cc20097907 100644
--- a/web.go
+++ b/web.go
@@ -8,6 +8,7 @@ import (
"fmt"
"html/template"
"net/http"
+ "strings"
"github.com/codegangsta/cli"
"github.com/codegangsta/martini"
@@ -34,8 +35,20 @@ gogs web`,
Flags: []cli.Flag{},
}
+// Check run mode(Default of martini is Dev).
+func checkRunMode() {
+ switch base.Cfg.MustValue("", "RUN_MODE") {
+ case "prod":
+ martini.Env = martini.Prod
+ case "test":
+ martini.Env = martini.Test
+ }
+ log.Info("Run Mode: %s", strings.Title(martini.Env))
+}
+
func runWeb(*cli.Context) {
log.Info("%s %s", base.AppName, base.AppVer)
+ checkRunMode()
m := martini.Classic()