server: Check max peers before connecting

This commit is contained in:
Javed Khan 2016-11-03 01:34:45 +05:30 committed by Dave Collins
parent ea0238ec44
commit 56da31dec5

View File

@ -1438,6 +1438,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 {