• R/O
  • HTTP
  • SSH
  • HTTPS

bytom: Commit

Official Go implementation of the Bytom protocol


Commit MetaInfo

Revisionda4f422a72ec7b693d2792ba6af7aa797ab16819 (tree)
Time2019-08-16 13:35:18
AuthorYahtoo Ma <yahtoo.ma@gmai...>
CommiterYahtoo Ma

Log Message

fix ban node failed

Change Summary

Incremental Difference

--- a/netsync/peer.go
+++ b/netsync/peer.go
@@ -25,6 +25,7 @@ const (
2525 type BasePeer interface {
2626 Addr() net.Addr
2727 ID() string
28+ RemoteAddrHost() string
2829 ServiceFlag() consensus.ServiceFlag
2930 TrafficStatus() (*flowrate.Status, *flowrate.Status)
3031 TrySend(byte, interface{}) bool
@@ -34,7 +35,7 @@ type BasePeer interface {
3435 //BasePeerSet is the intergace for connection level peer manager
3536 type BasePeerSet interface {
3637 StopPeerGracefully(string)
37- IsBanned(peerID string, level byte, reason string) bool
38+ IsBanned(ip string, level byte, reason string) bool
3839 }
3940
4041 // PeerInfo indicate peer status snap
@@ -312,7 +313,7 @@ func (ps *peerSet) ProcessIllegal(peerID string, level byte, reason string) {
312313 if peer == nil {
313314 return
314315 }
315- if banned := ps.IsBanned(peer.Addr().String(), level, reason); banned {
316+ if banned := ps.IsBanned(peer.RemoteAddrHost(), level, reason); banned {
316317 ps.removePeer(peerID)
317318 }
318319 return
--- a/netsync/tool_test.go
+++ b/netsync/tool_test.go
@@ -48,6 +48,10 @@ func (p *P2PPeer) IsLAN() bool {
4848 return false
4949 }
5050
51+func (p *P2PPeer) RemoteAddrHost() string {
52+ return ""
53+}
54+
5155 func (p *P2PPeer) ServiceFlag() consensus.ServiceFlag {
5256 return p.flag
5357 }
@@ -89,7 +93,7 @@ func NewPeerSet() *PeerSet {
8993 return &PeerSet{}
9094 }
9195
92-func (ps *PeerSet) IsBanned(peerID string, level byte, reason string) bool {
96+func (ps *PeerSet) IsBanned(ip string, level byte, reason string) bool {
9397 return false
9498 }
9599
--- a/p2p/node_info.go
+++ b/p2p/node_info.go
@@ -78,7 +78,7 @@ func (info *NodeInfo) listenHost() string {
7878 }
7979
8080 //RemoteAddrHost peer external ip address
81-func (info *NodeInfo) remoteAddrHost() string {
81+func (info *NodeInfo) RemoteAddrHost() string {
8282 host, _, _ := net.SplitHostPort(info.RemoteAddr)
8383 return host
8484 }
--- a/p2p/switch.go
+++ b/p2p/switch.go
@@ -197,7 +197,7 @@ func (sw *Switch) AddPeer(pc *peerConn, isLAN bool) error {
197197 }
198198
199199 peer := newPeer(pc, peerNodeInfo, sw.reactorsByCh, sw.chDescs, sw.StopPeerForError, isLAN)
200- if err := sw.security.DoFilter(peer.remoteAddrHost(), peer.PubKey().String()); err != nil {
200+ if err := sw.security.DoFilter(peer.RemoteAddrHost(), peer.PubKey().String()); err != nil {
201201 return err
202202 }
203203
@@ -423,7 +423,7 @@ func (sw *Switch) dialPeerWorker(a *NetAddress, wg *sync.WaitGroup) {
423423 func (sw *Switch) dialPeers(addresses []*NetAddress) {
424424 connectedPeers := make(map[string]struct{})
425425 for _, peer := range sw.Peers().List() {
426- connectedPeers[peer.remoteAddrHost()] = struct{}{}
426+ connectedPeers[peer.RemoteAddrHost()] = struct{}{}
427427 }
428428
429429 var wg sync.WaitGroup
Show on old repository browser