From 261b19ced7b8f5e4482903e9e462db88f8ac00ff Mon Sep 17 00:00:00 2001 From: guillep2k <18600385+guillep2k@users.noreply.github.com> Date: Tue, 19 Nov 2019 21:08:53 -0300 Subject: [PATCH] Backport: Fix password checks on admin create/edit user (#9076) (#9081) * Fix password checks on admin create/edit user * Remove incorrect trimspace --- routers/admin/users.go | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/routers/admin/users.go b/routers/admin/users.go index 2284f21838..881baa6c16 100644 --- a/routers/admin/users.go +++ b/routers/admin/users.go @@ -94,8 +94,14 @@ func NewUserPost(ctx *context.Context, form auth.AdminCreateUserForm) { u.LoginName = form.LoginName } } - if u.LoginType == models.LoginPlain { + if u.LoginType == models.LoginNoType || u.LoginType == models.LoginPlain { + if len(form.Password) < setting.MinPasswordLength { + ctx.Data["Err_Password"] = true + ctx.RenderWithErr(ctx.Tr("auth.password_too_short", setting.MinPasswordLength), tplUserNew, &form) + return + } if !password.IsComplexEnough(form.Password) { + ctx.Data["Err_Password"] = true ctx.RenderWithErr(ctx.Tr("form.password_complexity"), tplUserNew, &form) return } @@ -203,14 +209,19 @@ func EditUserPost(ctx *context.Context, form auth.AdminEditUserForm) { if len(form.Password) > 0 { var err error - if u.Salt, err = models.GetUserSalt(); err != nil { - ctx.ServerError("UpdateUser", err) + if len(form.Password) < setting.MinPasswordLength { + ctx.Data["Err_Password"] = true + ctx.RenderWithErr(ctx.Tr("auth.password_too_short", setting.MinPasswordLength), tplUserEdit, &form) return } if !password.IsComplexEnough(form.Password) { ctx.RenderWithErr(ctx.Tr("form.password_complexity"), tplUserEdit, &form) return } + if u.Salt, err = models.GetUserSalt(); err != nil { + ctx.ServerError("UpdateUser", err) + return + } u.HashPassword(form.Password) }