forked from cerc-io/plugeth
p2p/discover: filter bootnodes by netrestrict (#27701)
This prevents an issue where the node would attempt to contact the bootstrap nodes even if they weren't contained in the netrestrict list.
This commit is contained in:
parent
0b1f97e151
commit
a426999fc9
@ -203,12 +203,18 @@ func (tab *Table) close() {
|
||||
// are used to connect to the network if the table is empty and there
|
||||
// are no known nodes in the database.
|
||||
func (tab *Table) setFallbackNodes(nodes []*enode.Node) error {
|
||||
nursery := make([]*node, 0, len(nodes))
|
||||
for _, n := range nodes {
|
||||
if err := n.ValidateComplete(); err != nil {
|
||||
return fmt.Errorf("bad bootstrap node %q: %v", n, err)
|
||||
}
|
||||
if tab.cfg.NetRestrict != nil && !tab.cfg.NetRestrict.Contains(n.IP()) {
|
||||
tab.log.Error("Bootstrap node filtered by netrestrict", "id", n.ID(), "ip", n.IP())
|
||||
continue
|
||||
}
|
||||
tab.nursery = wrapNodes(nodes)
|
||||
nursery = append(nursery, wrapNode(n))
|
||||
}
|
||||
tab.nursery = nursery
|
||||
return nil
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user