diff --git a/backend/login.go b/backend/login.go index 7e87050..53b2b9e 100644 --- a/backend/login.go +++ b/backend/login.go @@ -63,8 +63,11 @@ func getLoginSalt(username string) (*saltinfo, error) { } salt := loginsalts.Get(username) if salt.count != nil { - if atomic.AddUintptr(salt.count, 1) >= maxSaltCount { + x := atomic.AddUintptr(salt.count, 1) + if x == maxSaltCount { time.AfterFunc(time.Minute*2, func() { atomic.StoreUintptr(salt.count, 0) }) + } + if x >= maxSaltCount { return nil, errTooManySalts } if salt.Salt != "" {