mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-05-22 07:49:26 +00:00
eth/protocols/eth: fix loading "eth" ENR key in dial filter (#31251)
This fixes an issue where dial candidates from discv5 would be ignored because the "eth" ENR entry was not loaded correctly.
This commit is contained in:
parent
f6883431c2
commit
756310fa43
1 changed files with 2 additions and 1 deletions
|
|
@ -42,6 +42,7 @@ func StartENRUpdater(chain *core.BlockChain, ln *enode.LocalNode) {
|
||||||
var newHead = make(chan core.ChainHeadEvent, 10)
|
var newHead = make(chan core.ChainHeadEvent, 10)
|
||||||
sub := chain.SubscribeChainHeadEvent(newHead)
|
sub := chain.SubscribeChainHeadEvent(newHead)
|
||||||
|
|
||||||
|
ln.Set(currentENREntry(chain))
|
||||||
go func() {
|
go func() {
|
||||||
defer sub.Unsubscribe()
|
defer sub.Unsubscribe()
|
||||||
for {
|
for {
|
||||||
|
|
@ -71,7 +72,7 @@ func NewNodeFilter(chain *core.BlockChain) func(*enode.Node) bool {
|
||||||
filter := forkid.NewFilter(chain)
|
filter := forkid.NewFilter(chain)
|
||||||
return func(n *enode.Node) bool {
|
return func(n *enode.Node) bool {
|
||||||
var entry enrEntry
|
var entry enrEntry
|
||||||
if err := n.Load(entry); err != nil {
|
if err := n.Load(&entry); err != nil {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
err := filter(entry.ForkID)
|
err := filter(entry.ForkID)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue