les: do not disconnect another server (#20453)
This commit is contained in:
@ -108,10 +108,6 @@ func (h *serverHandler) runPeer(version uint, p *p2p.Peer, rw p2p.MsgReadWriter)
|
||||
}
|
||||
|
||||
func (h *serverHandler) handle(p *peer) error {
|
||||
// Reject light clients if server is not synced.
|
||||
if !h.synced() {
|
||||
return p2p.DiscRequested
|
||||
}
|
||||
p.Log().Debug("Light Ethereum peer connected", "name", p.Name())
|
||||
|
||||
// Execute the LES handshake
|
||||
@ -125,6 +121,15 @@ func (h *serverHandler) handle(p *peer) error {
|
||||
p.Log().Debug("Light Ethereum handshake failed", "err", err)
|
||||
return err
|
||||
}
|
||||
if p.server {
|
||||
// connected to another server, no messages expected, just wait for disconnection
|
||||
_, err := p.rw.ReadMsg()
|
||||
return err
|
||||
}
|
||||
// Reject light clients if server is not synced.
|
||||
if !h.synced() {
|
||||
return p2p.DiscRequested
|
||||
}
|
||||
defer p.fcClient.Disconnect()
|
||||
|
||||
// Disconnect the inbound peer if it's rejected by clientPool
|
||||
|
Reference in New Issue
Block a user