From b320129e9b42f56abc8f6cbcd4eafe82c22df674 Mon Sep 17 00:00:00 2001 From: Javed Khan Date: Thu, 3 Nov 2016 01:34:45 +0530 Subject: [PATCH] server: Check max peers before connecting --- server.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/server.go b/server.go index 2c5d3fd5a..4a9fec488 100644 --- a/server.go +++ b/server.go @@ -1437,6 +1437,11 @@ func (s *server) handleQuery(state *peerState, querymsg interface{}) { case connectNodeMsg: // XXX(oga) duplicate oneshots? + // Limit max number of total peers. + if state.Count() >= cfg.MaxPeers { + msg.reply <- errors.New("max peers reached") + return + } for _, peer := range state.persistentPeers { if peer.Addr() == msg.addr { if msg.permanent {