cannot decrease ban time

This commit is contained in:
Callum Michael Waters
2020-03-12 15:29:31 +01:00
parent c8bb1cc8b7
commit 7e6b1a87da
3 changed files with 14 additions and 11 deletions

View File

@@ -769,16 +769,17 @@ func (a *addrBook) addBadPeer(addr *p2p.NetAddress, banTime time.Duration) bool
// check it exists in addrbook
ka := a.addrLookup[addr.ID]
// check address is not already there
if ka != nil {
if _, alreadyBadPeer := a.badPeers[addr.ID]; !alreadyBadPeer {
// add to bad peer list
ka.ban(banTime)
a.badPeers[addr.ID] = ka
a.Logger.Info("Add address to blacklist", "addr", addr)
}
return true
if ka == nil {
return false
}
return false
if _, alreadyBadPeer := a.badPeers[addr.ID]; !alreadyBadPeer {
// add to bad peer list
ka.ban(banTime)
a.badPeers[addr.ID] = ka
a.Logger.Info("Add address to blacklist", "addr", addr)
}
return true
}
//---------------------------------------------------------------------

View File

@@ -64,7 +64,7 @@ func (err ErrAddrBookInvalidAddr) Error() string {
return fmt.Sprintf("Cannot add invalid address %v: %v", err.Addr, err.AddrErr)
}
// Err is thrown when the address is banned and therefore cannot be used
// ErrAddressBanned is thrown when the address has been banned and therefore cannot be used
type ErrAddressBanned struct {
Addr *p2p.NetAddress
}

View File

@@ -56,7 +56,9 @@ func (ka *knownAddress) markGood() {
}
func (ka *knownAddress) ban(banTime time.Duration) {
ka.LastBanTime = time.Now().Add(banTime)
if ka.LastBanTime.Before(time.Now().Add(banTime)) {
ka.LastBanTime = time.Now().Add(banTime)
}
}
func (ka *knownAddress) isBanned() bool {