Skip to content

Commit 79a5e68

Browse files
lunnyKN4CK3R
andauthored
Handle email address not exist (#19089) (#19121)
Backport #19089 * Handle email address not exist. (#19089) * Fix lint about strings.Title Co-authored-by: KN4CK3R <[email protected]>
1 parent 9bcbbd4 commit 79a5e68

File tree

7 files changed

+40
-28
lines changed

7 files changed

+40
-28
lines changed

modules/repository/generate.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ var defaultTransformers = []transformer{
4343
{Name: "PASCAL", Transform: xstrings.ToCamelCase},
4444
{Name: "LOWER", Transform: strings.ToLower},
4545
{Name: "UPPER", Transform: strings.ToUpper},
46-
{Name: "TITLE", Transform: strings.Title},
46+
{Name: "TITLE", Transform: strings.Title}, // nolint
4747
}
4848

4949
func generateExpansion(src string, templateRepo, generateRepo *repo_model.Repository) string {
@@ -62,7 +62,7 @@ func generateExpansion(src string, templateRepo, generateRepo *repo_model.Reposi
6262
{Name: "TEMPLATE_SSH_URL", Value: templateRepo.CloneLink().SSH, Transformers: nil},
6363
}
6464

65-
var expansionMap = make(map[string]string)
65+
expansionMap := make(map[string]string)
6666
for _, e := range expansions {
6767
expansionMap[e.Name] = e.Value
6868
for _, tr := range e.Transformers {
@@ -159,7 +159,7 @@ func generateRepoCommit(repo, templateRepo, generateRepo *repo_model.Repository,
159159

160160
if err := os.WriteFile(path,
161161
[]byte(generateExpansion(string(content), templateRepo, generateRepo)),
162-
0644); err != nil {
162+
0o644); err != nil {
163163
return err
164164
}
165165
break

modules/setting/log.go

+10-6
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,17 @@ import (
1515

1616
"code.gitea.io/gitea/modules/json"
1717
"code.gitea.io/gitea/modules/log"
18+
"golang.org/x/text/cases"
19+
"golang.org/x/text/language"
1820

1921
ini "gopkg.in/ini.v1"
2022
)
2123

22-
var filenameSuffix = ""
23-
var descriptionLock = sync.RWMutex{}
24-
var logDescriptions = make(map[string]*LogDescription)
24+
var (
25+
filenameSuffix = ""
26+
descriptionLock = sync.RWMutex{}
27+
logDescriptions = make(map[string]*LogDescription)
28+
)
2529

2630
// GetLogDescriptions returns a race safe set of descriptions
2731
func GetLogDescriptions() map[string]*LogDescription {
@@ -86,7 +90,7 @@ func RemoveSubLogDescription(key, name string) bool {
8690
type defaultLogOptions struct {
8791
levelName string // LogLevel
8892
flags string
89-
filename string //path.Join(LogRootPath, "gitea.log")
93+
filename string // path.Join(LogRootPath, "gitea.log")
9094
bufferLength int64
9195
disableConsole bool
9296
}
@@ -243,7 +247,7 @@ func generateNamedLogger(key string, options defaultLogOptions) *LogDescription
243247
Provider: provider,
244248
Config: config,
245249
})
246-
log.Info("%s Log: %s(%s:%s)", strings.Title(key), strings.Title(name), provider, levelName)
250+
log.Info("%s Log: %s(%s:%s)", cases.Title(language.English).String(key), cases.Title(language.English).String(name), provider, levelName)
247251
}
248252

249253
AddLogDescription(key, &description)
@@ -327,7 +331,7 @@ func newLogService() {
327331
Provider: provider,
328332
Config: config,
329333
})
330-
log.Info("Gitea Log Mode: %s(%s:%s)", strings.Title(name), strings.Title(provider), levelName)
334+
log.Info("Gitea Log Mode: %s(%s:%s)", cases.Title(language.English).String(name), cases.Title(language.English).String(provider), levelName)
331335
}
332336

333337
AddLogDescription(log.DEFAULT, &description)

modules/setting/setting.go

+10-7
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ import (
3030

3131
"github.com/unknwon/com"
3232
gossh "golang.org/x/crypto/ssh"
33+
"golang.org/x/text/cases"
34+
"golang.org/x/text/language"
3335
ini "gopkg.in/ini.v1"
3436
)
3537

@@ -637,7 +639,7 @@ func loadFromConf(allowEmpty bool, extraConfig string) {
637639
}
638640
UnixSocketPermissionRaw := sec.Key("UNIX_SOCKET_PERMISSION").MustString("666")
639641
UnixSocketPermissionParsed, err := strconv.ParseUint(UnixSocketPermissionRaw, 8, 32)
640-
if err != nil || UnixSocketPermissionParsed > 0777 {
642+
if err != nil || UnixSocketPermissionParsed > 0o777 {
641643
log.Fatal("Failed to parse unixSocketPermission: %s", UnixSocketPermissionRaw)
642644
}
643645

@@ -793,16 +795,16 @@ func loadFromConf(allowEmpty bool, extraConfig string) {
793795
SSH.AuthorizedPrincipalsAllow, SSH.AuthorizedPrincipalsEnabled = parseAuthorizedPrincipalsAllow(sec.Key("SSH_AUTHORIZED_PRINCIPALS_ALLOW").Strings(","))
794796

795797
if !SSH.Disabled && !SSH.StartBuiltinServer {
796-
if err := os.MkdirAll(SSH.RootPath, 0700); err != nil {
798+
if err := os.MkdirAll(SSH.RootPath, 0o700); err != nil {
797799
log.Fatal("Failed to create '%s': %v", SSH.RootPath, err)
798-
} else if err = os.MkdirAll(SSH.KeyTestPath, 0644); err != nil {
800+
} else if err = os.MkdirAll(SSH.KeyTestPath, 0o644); err != nil {
799801
log.Fatal("Failed to create '%s': %v", SSH.KeyTestPath, err)
800802
}
801803

802804
if len(trustedUserCaKeys) > 0 && SSH.AuthorizedPrincipalsEnabled {
803805
fname := sec.Key("SSH_TRUSTED_USER_CA_KEYS_FILENAME").MustString(filepath.Join(SSH.RootPath, "gitea-trusted-user-ca-keys.pem"))
804806
if err := os.WriteFile(fname,
805-
[]byte(strings.Join(trustedUserCaKeys, "\n")), 0600); err != nil {
807+
[]byte(strings.Join(trustedUserCaKeys, "\n")), 0o600); err != nil {
806808
log.Fatal("Failed to create '%s': %v", fname, err)
807809
}
808810
}
@@ -943,8 +945,9 @@ func loadFromConf(allowEmpty bool, extraConfig string) {
943945
// The following is a purposefully undocumented option. Please do not run Gitea as root. It will only cause future headaches.
944946
// Please don't use root as a bandaid to "fix" something that is broken, instead the broken thing should instead be fixed properly.
945947
unsafeAllowRunAsRoot := Cfg.Section("").Key("I_AM_BEING_UNSAFE_RUNNING_AS_ROOT").MustBool(false)
946-
RunMode = Cfg.Section("").Key("RUN_MODE").MustString("prod")
947-
IsProd = strings.EqualFold(RunMode, "prod")
948+
RunMode = Cfg.Section("").Key("RUN_MODE").MustString("Prod")
949+
RunMode = cases.Title(language.English).String(strings.ToLower(RunMode))
950+
IsProd = RunMode == "Prod"
948951
// Does not check run user when the install lock is off.
949952
if InstallLock {
950953
currentUser, match := IsRunUserMatchCurrentUser(RunUser)
@@ -1074,7 +1077,7 @@ func loadInternalToken(sec *ini.Section) string {
10741077
}
10751078
switch tempURI.Scheme {
10761079
case "file":
1077-
fp, err := os.OpenFile(tempURI.RequestURI(), os.O_RDWR, 0600)
1080+
fp, err := os.OpenFile(tempURI.RequestURI(), os.O_RDWR, 0o600)
10781081
if err != nil {
10791082
log.Fatal("Failed to open InternalTokenURI (%s): %v", uri, err)
10801083
}

modules/templates/helper.go

+11-7
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ import (
3838
"code.gitea.io/gitea/modules/timeutil"
3939
"code.gitea.io/gitea/modules/util"
4040
"code.gitea.io/gitea/services/gitdiff"
41+
"golang.org/x/text/cases"
42+
"golang.org/x/text/language"
4143

4244
"github.com/editorconfig/editorconfig-core-go/v2"
4345
)
@@ -49,7 +51,7 @@ var mailSubjectSplit = regexp.MustCompile(`(?m)^-{3,}[\s]*$`)
4951
func NewFuncMap() []template.FuncMap {
5052
return []template.FuncMap{map[string]interface{}{
5153
"GoVer": func() string {
52-
return strings.Title(runtime.Version())
54+
return cases.Title(language.English).String(runtime.Version())
5355
},
5456
"UseHTTPS": func() bool {
5557
return strings.HasPrefix(setting.AppURL, "https")
@@ -285,7 +287,7 @@ func NewFuncMap() []template.FuncMap {
285287
return util.MergeInto(dict, values...)
286288
},
287289
"percentage": func(n int, values ...int) float32 {
288-
var sum = 0
290+
sum := 0
289291
for i := 0; i < len(values); i++ {
290292
sum += values[i]
291293
}
@@ -386,7 +388,7 @@ func NewFuncMap() []template.FuncMap {
386388
func NewTextFuncMap() []texttmpl.FuncMap {
387389
return []texttmpl.FuncMap{map[string]interface{}{
388390
"GoVer": func() string {
389-
return strings.Title(runtime.Version())
391+
return cases.Title(language.English).String(runtime.Version())
390392
},
391393
"AppName": func() string {
392394
return setting.AppName
@@ -477,7 +479,7 @@ func NewTextFuncMap() []texttmpl.FuncMap {
477479
return dict, nil
478480
},
479481
"percentage": func(n int, values ...int) float32 {
480-
var sum = 0
482+
sum := 0
481483
for i := 0; i < len(values); i++ {
482484
sum += values[i]
483485
}
@@ -501,8 +503,10 @@ func NewTextFuncMap() []texttmpl.FuncMap {
501503
}}
502504
}
503505

504-
var widthRe = regexp.MustCompile(`width="[0-9]+?"`)
505-
var heightRe = regexp.MustCompile(`height="[0-9]+?"`)
506+
var (
507+
widthRe = regexp.MustCompile(`width="[0-9]+?"`)
508+
heightRe = regexp.MustCompile(`height="[0-9]+?"`)
509+
)
506510

507511
func parseOthers(defaultSize int, defaultClass string, others ...interface{}) (int, string) {
508512
size := defaultSize
@@ -736,7 +740,7 @@ func RenderEmoji(text string) template.HTML {
736740
return template.HTML(renderedText)
737741
}
738742

739-
//ReactionToEmoji renders emoji for use in reactions
743+
// ReactionToEmoji renders emoji for use in reactions
740744
func ReactionToEmoji(reaction string) template.HTML {
741745
val := emoji.FromCode(reaction)
742746
if val != nil {

routers/init.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import (
1010
"reflect"
1111
"runtime"
1212
"strconv"
13-
"strings"
1413

1514
"code.gitea.io/gitea/models"
1615
asymkey_model "code.gitea.io/gitea/models/asymkey"
@@ -47,6 +46,8 @@ import (
4746
"code.gitea.io/gitea/services/repository/archiver"
4847
"code.gitea.io/gitea/services/task"
4948
"code.gitea.io/gitea/services/webhook"
49+
"golang.org/x/text/cases"
50+
"golang.org/x/text/language"
5051

5152
"gitea.com/go-chi/session"
5253
)
@@ -111,7 +112,7 @@ func GlobalInitInstalled(ctx context.Context) {
111112
log.Info("Custom path: %s", setting.CustomPath)
112113
log.Info("Log path: %s", setting.LogRootPath)
113114
log.Info("Configuration file: %s", setting.CustomConf)
114-
log.Info("Run Mode: %s", strings.Title(setting.RunMode))
115+
log.Info("Run Mode: %s", cases.Title(language.English).String(setting.RunMode))
115116

116117
// Setup i18n
117118
translation.InitLocales()

routers/web/admin/admin.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ func shadowPassword(provider, cfgItem string) string {
209209
case "redis":
210210
return shadowPasswordKV(cfgItem, ",")
211211
case "mysql":
212-
//root:@tcp(localhost:3306)/macaron?charset=utf8
212+
// root:@tcp(localhost:3306)/macaron?charset=utf8
213213
atIdx := strings.Index(cfgItem, "@")
214214
if atIdx > 0 {
215215
colonIdx := strings.Index(cfgItem[:atIdx], ":")
@@ -244,7 +244,7 @@ func Config(ctx *context.Context) {
244244
ctx.Data["OfflineMode"] = setting.OfflineMode
245245
ctx.Data["DisableRouterLog"] = setting.DisableRouterLog
246246
ctx.Data["RunUser"] = setting.RunUser
247-
ctx.Data["RunMode"] = strings.Title(setting.RunMode)
247+
ctx.Data["RunMode"] = setting.RunMode
248248
if version, err := git.LocalVersion(); err == nil {
249249
ctx.Data["GitVersion"] = version.Original()
250250
}

routers/web/auth/auth.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ func SignInPost(ctx *context.Context) {
195195
form := web.GetForm(ctx).(*forms.SignInForm)
196196
u, source, err := auth_service.UserSignIn(form.UserName, form.Password)
197197
if err != nil {
198-
if user_model.IsErrUserNotExist(err) {
198+
if user_model.IsErrUserNotExist(err) || user_model.IsErrEmailAddressNotExist(err) {
199199
ctx.RenderWithErr(ctx.Tr("form.username_password_incorrect"), tplSignIn, &form)
200200
log.Info("Failed authentication attempt for %s from %s: %v", form.UserName, ctx.RemoteAddr(), err)
201201
} else if user_model.IsErrEmailAlreadyUsed(err) {

0 commit comments

Comments
 (0)