[MM-57942] Fix a panic on password is too long (#27449)

* return error from bcrypt, handle gracefully; remove dead code

* linting

* linting

* i18n

* fix test

* fill out translations
Этот коммит содержится в:
Christopher Poile
2024-07-03 17:58:26 -04:00
коммит произвёл GitHub
родитель 5d2bf1ea1c
Коммит cc5e87ae24
8 изменённых файлов: 54 добавлений и 30 удалений

Просмотреть файл

@@ -20,16 +20,6 @@ func CheckUserPassword(user *model.User, password string) error {
return nil
}
// HashPassword generates a hash using the bcrypt.GenerateFromPassword
func HashPassword(password string) string {
hash, err := bcrypt.GenerateFromPassword([]byte(password), 10)
if err != nil {
panic(err)
}
return string(hash)
}
func ComparePassword(hash string, password string) error {
if password == "" || hash == "" {
return errors.New("empty password or hash")

Просмотреть файл

@@ -13,13 +13,6 @@ import (
"github.com/mattermost/mattermost/server/public/model"
)
func TestComparePassword(t *testing.T) {
hash := HashPassword("Test")
assert.NoError(t, ComparePassword(hash, "Test"), "Passwords don't match")
assert.Error(t, ComparePassword(hash, "Test2"), "Passwords should not have matched")
}
func TestIsPasswordValidWithSettings(t *testing.T) {
for name, tc := range map[string]struct {
Password string