mirror of
https://git.vectorsigma.ru/public/AdGuardHome.git
synced 2026-08-03 17:09:34 +00:00
all: fix ratelimiter
This commit is contained in:
@@ -17,6 +17,13 @@ See also the [v0.107.66 GitHub milestone][ms-v0.107.66].
|
|||||||
|
|
||||||
NOTE: Add new changes BELOW THIS COMMENT.
|
NOTE: Add new changes BELOW THIS COMMENT.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Authentication errors in the Web UI when AdGuard Home is behind a proxy that sets Basic Auth headers ([#7987]).
|
||||||
|
|
||||||
|
[#7987]: https://github.com/AdguardTeam/AdGuardHome/issues/7987
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
NOTE: Add new changes ABOVE THIS COMMENT.
|
NOTE: Add new changes ABOVE THIS COMMENT.
|
||||||
-->
|
-->
|
||||||
|
|||||||
@@ -506,24 +506,21 @@ func (mw *authMiddlewareDefault) userFromRequestBasicAuth(
|
|||||||
return nil, fmt.Errorf("login attempt blocked for %s", left)
|
return nil, fmt.Errorf("login attempt blocked for %s", left)
|
||||||
}
|
}
|
||||||
|
|
||||||
rateLimiter.inc(remoteIP)
|
|
||||||
defer func() {
|
|
||||||
if err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
rateLimiter.remove(remoteIP)
|
|
||||||
}()
|
|
||||||
|
|
||||||
user, _ = mw.users.ByLogin(ctx, aghuser.Login(login))
|
user, _ = mw.users.ByLogin(ctx, aghuser.Login(login))
|
||||||
if user == nil {
|
if user == nil {
|
||||||
|
rateLimiter.inc(remoteIP)
|
||||||
|
|
||||||
return nil, errInvalidLogin
|
return nil, errInvalidLogin
|
||||||
}
|
}
|
||||||
|
|
||||||
ok = user.Password.Authenticate(ctx, pass)
|
ok = user.Password.Authenticate(ctx, pass)
|
||||||
if !ok {
|
if !ok {
|
||||||
|
rateLimiter.inc(remoteIP)
|
||||||
|
|
||||||
return nil, errInvalidLogin
|
return nil, errInvalidLogin
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rateLimiter.remove(remoteIP)
|
||||||
|
|
||||||
return user, nil
|
return user, nil
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user