OSDN Git Service

Del expired banned peers when add peer security
authorYahtoo Ma <yahtoo.ma@gmail.com>
Mon, 5 Aug 2019 02:10:24 +0000 (10:10 +0800)
committerYahtoo Ma <yahtoo.ma@gmail.com>
Mon, 5 Aug 2019 02:10:24 +0000 (10:10 +0800)
p2p/security/blacklist.go

index 8f5682a..951d659 100644 (file)
@@ -38,6 +38,13 @@ func (bl *Blacklist) AddPeer(ip string) error {
        bl.mtx.Lock()
        defer bl.mtx.Unlock()
 
+       // delete expired banned peers
+       for peer, banEnd := range bl.peers {
+               if time.Now().Before(banEnd) {
+                       delete(bl.peers, peer)
+               }
+       }
+       // add banned peer
        bl.peers[ip] = time.Now().Add(defaultBanDuration)
        dataJSON, err := json.Marshal(bl.peers)
        if err != nil {