mirror of https://github.com/go-gitea/gitea
Compare commits
8 Commits
b25ab017e1
...
ecb885b558
Author | SHA1 | Date |
---|---|---|
Darren Hoo | ecb885b558 | |
techknowlogick | f6586943cb | |
hyg | 7eaf283b0c | |
hyg | 4d9f4ed5cd | |
hyg | 55afd39390 | |
hyg | 1d34d436c2 | |
hyg | 280861f31e | |
hyg | 814ca03be8 |
|
@ -42,16 +42,13 @@ func (source *Source) Authenticate(ctx context.Context, user *user_model.User, u
|
|||
}
|
||||
|
||||
if err := Authenticate(auth, source); err != nil {
|
||||
// Check standard error format first,
|
||||
// then fallback to worse case.
|
||||
tperr, ok := err.(*textproto.Error)
|
||||
if (ok && tperr.Code == 535) ||
|
||||
strings.Contains(err.Error(), "Username and Password not accepted") {
|
||||
return nil, user_model.ErrUserNotExist{Name: userName}
|
||||
}
|
||||
if (ok && tperr.Code == 534) ||
|
||||
strings.Contains(err.Error(), "Application-specific password required") {
|
||||
return nil, user_model.ErrUserNotExist{Name: userName}
|
||||
// when authentication via smtp fails, wraps ErrInvalidArgument
|
||||
// with the original textproto.Error as the cause,
|
||||
// so it will show username_password_incorrect to the user
|
||||
// while log the original error so that admin can check.
|
||||
// see: routers/web/auth/auth.go SiginPost
|
||||
if tperr, ok := err.(*textproto.Error); ok {
|
||||
return nil, errors.Join(util.ErrInvalidArgument, tperr)
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue