fix(network): disconnect peers if verify cert failed
This commit is contained in:
parent
2efdd35e4a
commit
32570f1ceb
|
@ -87,7 +87,7 @@ func (swarm *Swarm) Start() error {
|
|||
return err
|
||||
}
|
||||
|
||||
if err := swarm.verifyCert(id); err != nil {
|
||||
if err := swarm.verifyCertOrDisconnect(id); err != nil {
|
||||
if attempt != 0 && attempt%5 == 0 {
|
||||
swarm.logger.WithFields(logrus.Fields{
|
||||
"node": id,
|
||||
|
@ -126,6 +126,17 @@ func (swarm *Swarm) Stop() error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (swarm *Swarm) verifyCertOrDisconnect(id uint64) error {
|
||||
if err := swarm.verifyCert(id); err != nil {
|
||||
if err = swarm.p2p.Disconnect(swarm.peers[id].ID.String()); err != nil {
|
||||
return err
|
||||
}
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
func (swarm *Swarm) Ping() {
|
||||
ticker := time.NewTicker(swarm.pingTimeout)
|
||||
for {
|
||||
|
|
Loading…
Reference in New Issue