aboutsummaryrefslogtreecommitdiffstats
path: root/routers
diff options
context:
space:
mode:
authorguillep2k <18600385+guillep2k@users.noreply.github.com>2019-10-16 00:09:27 -0300
committerLunny Xiao <xiaolunwen@gmail.com>2019-10-16 11:09:27 +0800
commit595033f78ea46d3029a5d4500a42c0347dc9e397 (patch)
treea2f05d478b95c5a2315f6961c758f95fe1ed947e /routers
parentdb0d4ffdc7d0800b7785beddee4a715b1f7589bd (diff)
downloadgitea-595033f78ea46d3029a5d4500a42c0347dc9e397.tar.gz
gitea-595033f78ea46d3029a5d4500a42c0347dc9e397.zip
Fix password complexity regex for special characters (backport for v1.10.0) (#8524)
* Fix extra space * Fix regular expression * Fix error template name * Simplify check code, fix default values, add test * Fix router tests * Fix fmt * Fix setting and lint * Move cleaning up code to test, improve comments * Tidy up variable declaration
Diffstat (limited to 'routers')
-rw-r--r--routers/admin/users_test.go4
-rw-r--r--routers/user/setting/account.go2
-rw-r--r--routers/user/setting/account_test.go36
3 files changed, 15 insertions, 27 deletions
diff --git a/routers/admin/users_test.go b/routers/admin/users_test.go
index e054524fd1..2b36b45d49 100644
--- a/routers/admin/users_test.go
+++ b/routers/admin/users_test.go
@@ -34,7 +34,7 @@ func TestNewUserPost_MustChangePassword(t *testing.T) {
LoginName: "local",
UserName: username,
Email: email,
- Password: "xxxxxxxx",
+ Password: "abc123ABC!=$",
SendNotify: false,
MustChangePassword: true,
}
@@ -71,7 +71,7 @@ func TestNewUserPost_MustChangePasswordFalse(t *testing.T) {
LoginName: "local",
UserName: username,
Email: email,
- Password: "xxxxxxxx",
+ Password: "abc123ABC!=$",
SendNotify: false,
MustChangePassword: false,
}
diff --git a/routers/user/setting/account.go b/routers/user/setting/account.go
index c782224216..e7de2dffd4 100644
--- a/routers/user/setting/account.go
+++ b/routers/user/setting/account.go
@@ -54,7 +54,7 @@ func AccountPost(ctx *context.Context, form auth.ChangePasswordForm) {
} else if form.Password != form.Retype {
ctx.Flash.Error(ctx.Tr("form.password_not_match"))
} else if !password.IsComplexEnough(form.Password) {
- ctx.Flash.Error(ctx.Tr("settings.password_complexity"))
+ ctx.Flash.Error(ctx.Tr("form.password_complexity"))
} else {
var err error
if ctx.User.Salt, err = models.GetUserSalt(); err != nil {
diff --git a/routers/user/setting/account_test.go b/routers/user/setting/account_test.go
index 497ee658b0..41783e19d7 100644
--- a/routers/user/setting/account_test.go
+++ b/routers/user/setting/account_test.go
@@ -19,76 +19,64 @@ import (
func TestChangePassword(t *testing.T) {
oldPassword := "password"
setting.MinPasswordLength = 6
- setting.PasswordComplexity = map[string]string{
- "lower": "[a-z]+",
- "upper": "[A-Z]+",
- "digit": "[0-9]+",
- "spec": "[-_]+",
- }
- var pcLUN = map[string]string{
- "lower": "[a-z]+",
- "upper": "[A-Z]+",
- "digit": "[0-9]+",
- }
- var pcLU = map[string]string{
- "lower": "[a-z]+",
- "upper": "[A-Z]+",
- }
+ var pcALL = []string{"lower", "upper", "digit", "spec"}
+ var pcLUN = []string{"lower", "upper", "digit"}
+ var pcLU = []string{"lower", "upper"}
for _, req := range []struct {
OldPassword string
NewPassword string
Retype string
Message string
- PasswordComplexity map[string]string
+ PasswordComplexity []string
}{
{
OldPassword: oldPassword,
NewPassword: "Qwerty123456-",
Retype: "Qwerty123456-",
Message: "",
- PasswordComplexity: setting.PasswordComplexity,
+ PasswordComplexity: pcALL,
},
{
OldPassword: oldPassword,
NewPassword: "12345",
Retype: "12345",
Message: "auth.password_too_short",
- PasswordComplexity: setting.PasswordComplexity,
+ PasswordComplexity: pcALL,
},
{
OldPassword: "12334",
NewPassword: "123456",
Retype: "123456",
Message: "settings.password_incorrect",
- PasswordComplexity: setting.PasswordComplexity,
+ PasswordComplexity: pcALL,
},
{
OldPassword: oldPassword,
NewPassword: "123456",
Retype: "12345",
Message: "form.password_not_match",
- PasswordComplexity: setting.PasswordComplexity,
+ PasswordComplexity: pcALL,
},
{
OldPassword: oldPassword,
NewPassword: "Qwerty",
Retype: "Qwerty",
- Message: "settings.password_complexity",
- PasswordComplexity: setting.PasswordComplexity,
+ Message: "form.password_complexity",
+ PasswordComplexity: pcALL,
},
{
OldPassword: oldPassword,
NewPassword: "Qwerty",
Retype: "Qwerty",
- Message: "settings.password_complexity",
+ Message: "form.password_complexity",
PasswordComplexity: pcLUN,
},
{
OldPassword: oldPassword,
NewPassword: "QWERTY",
Retype: "QWERTY",
- Message: "settings.password_complexity",
+ Message: "form.password_complexity",
PasswordComplexity: pcLU,
},
} {