OSDN Git Service

Change defaultBanDuration and ban score
authorYahtoo Ma <yahtoo.ma@gmail.com>
Mon, 23 Apr 2018 06:36:11 +0000 (14:36 +0800)
committerYahtoo Ma <yahtoo.ma@gmail.com>
Mon, 23 Apr 2018 06:46:16 +0000 (14:46 +0800)
netsync/block_keeper.go
netsync/fetcher.go
p2p/switch.go

index b851442..1b921f0 100644 (file)
@@ -106,7 +106,7 @@ func (bk *blockKeeper) BlockRequestWorker(peerID string, maxPeerHeight uint64) e
                                log.Info("peer is deleted")
                                break
                        }
-                       if ban := bkPeer.addBanScore(50, 0, "block process error"); ban {
+                       if ban := bkPeer.addBanScore(20, 0, "block process error"); ban {
                                bk.sw.AddBannedPeer(swPeer)
                                bk.sw.StopPeerGracefully(swPeer)
                        }
@@ -199,7 +199,7 @@ func (bk *blockKeeper) txsProcessWorker() {
                if isOrphan, err := bk.chain.ValidateTx(tx); err != nil && isOrphan == false {
                        if bkPeer, ok := bk.peers.Peer(txsResponse.peerID); ok {
                                swPeer := bkPeer.getPeer()
-                               if ban := bkPeer.addBanScore(50, 0, "tx error"); ban {
+                               if ban := bkPeer.addBanScore(10, 0, "tx error"); ban {
                                        bk.sw.AddBannedPeer(swPeer)
                                        bk.sw.StopPeerGracefully(swPeer)
                                }
index 9b444b0..3a731ce 100644 (file)
@@ -154,7 +154,7 @@ func (f *Fetcher) insert(peerID string, block *types.Block) {
                        return
                }
                swPeer := fPeer.getPeer()
-               if ban := fPeer.addBanScore(50, 0, "block process error"); ban {
+               if ban := fPeer.addBanScore(20, 0, "block process error"); ban {
                        f.sw.AddBannedPeer(swPeer)
                        f.sw.StopPeerGracefully(swPeer)
                }
index a86227b..cfee40a 100644 (file)
@@ -24,7 +24,7 @@ const (
        reconnectInterval = 10 * time.Second
 
        bannedPeerKey      = "BannedPeer"
-       defaultBanDuration = time.Hour * 24
+       defaultBanDuration = time.Hour * 1
 )
 
 var ErrConnectBannedPeer = errors.New("Connect banned peer")
@@ -679,10 +679,7 @@ func (sw *Switch) AddBannedPeer(peer *Peer) error {
        return nil
 }
 
-func (sw *Switch) DelBannedPeer(addr string) error {
-       sw.mtx.Lock()
-       defer sw.mtx.Unlock()
-
+func (sw *Switch) delBannedPeer(addr string) error {
        delete(sw.bannedPeer, addr)
        datajson, err := json.Marshal(sw.bannedPeer)
        if err != nil {
@@ -693,11 +690,14 @@ func (sw *Switch) DelBannedPeer(addr string) error {
 }
 
 func (sw *Switch) checkBannedPeer(peer string) error {
+       sw.mtx.Lock()
+       defer sw.mtx.Unlock()
+
        if banEnd, ok := sw.bannedPeer[peer]; ok {
                if time.Now().Before(banEnd) {
                        return ErrConnectBannedPeer
                }
-               sw.DelBannedPeer(peer)
+               sw.delBannedPeer(peer)
        }
        return nil
 }