Remove patches to discovery v5 (#1144)

This commit is contained in:
Dmitry Shulyak 2018-08-24 11:24:22 +03:00 committed by GitHub
parent 6858662d59
commit 2cfcde0283
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 4 additions and 77 deletions

View File

@ -1,64 +0,0 @@
diff --git c/p2p/discv5/net.go w/p2p/discv5/net.go
index 9b0bd0c80..d0eae28f9 100644
--- c/p2p/discv5/net.go
+++ w/p2p/discv5/net.go
@@ -40,7 +40,7 @@ var (
const (
autoRefreshInterval = 1 * time.Hour
- bucketRefreshInterval = 1 * time.Minute
+ bucketRefreshInterval = 10 * time.Second
seedCount = 30
seedMaxAge = 5 * 24 * time.Hour
lowPort = 1024
@@ -1055,7 +1055,11 @@ func (net *Network) handle(n *Node, ev nodeEvent, pkt *ingressPacket) error {
func (net *Network) checkPacket(n *Node, ev nodeEvent, pkt *ingressPacket) error {
// Replay prevention checks.
switch ev {
- case pingPacket, findnodeHashPacket, neighborsPacket:
+ case pingPacket:
+ if pkt.data.(*ping).Version != Version {
+ return fmt.Errorf("version mismatch")
+ }
+ case findnodeHashPacket, neighborsPacket:
// TODO: check date is > last date seen
// TODO: check ping version
case pongPacket:
diff --git c/p2p/discv5/table.go w/p2p/discv5/table.go
index c8d234b93..42311e1db 100644
--- c/p2p/discv5/table.go
+++ w/p2p/discv5/table.go
@@ -38,7 +38,7 @@ const (
hashBits = len(common.Hash{}) * 8
nBuckets = hashBits + 1 // Number of buckets
- maxFindnodeFailures = 5
+ maxFindnodeFailures = 1
)
type Table struct {
@@ -177,6 +177,11 @@ func (tab *Table) closest(target common.Hash, nresults int) *nodesByDistance {
close := &nodesByDistance{target: target}
for _, b := range tab.buckets {
for _, n := range b.entries {
+ // node can be in table only in two states
+ // known and contested
+ if n.state != known {
+ continue
+ }
close.push(n, nresults)
}
}
diff --git c/p2p/discv5/udp.go w/p2p/discv5/udp.go
index 49e1cb811..0ead22753 100644
--- c/p2p/discv5/udp.go
+++ w/p2p/discv5/udp.go
@@ -32,7 +32,7 @@ import (
"github.com/ethereum/go-ethereum/rlp"
)
-const Version = 4
+const Version = 55
// Errors
var (

View File

@ -40,7 +40,7 @@ var (
const (
autoRefreshInterval = 1 * time.Hour
bucketRefreshInterval = 10 * time.Second
bucketRefreshInterval = 1 * time.Minute
seedCount = 30
seedMaxAge = 5 * 24 * time.Hour
lowPort = 1024
@ -1055,11 +1055,7 @@ func (net *Network) handle(n *Node, ev nodeEvent, pkt *ingressPacket) error {
func (net *Network) checkPacket(n *Node, ev nodeEvent, pkt *ingressPacket) error {
// Replay prevention checks.
switch ev {
case pingPacket:
if pkt.data.(*ping).Version != Version {
return fmt.Errorf("version mismatch")
}
case findnodeHashPacket, neighborsPacket:
case pingPacket, findnodeHashPacket, neighborsPacket:
// TODO: check date is > last date seen
// TODO: check ping version
case pongPacket:

View File

@ -38,7 +38,7 @@ const (
hashBits = len(common.Hash{}) * 8
nBuckets = hashBits + 1 // Number of buckets
maxFindnodeFailures = 1
maxFindnodeFailures = 5
)
type Table struct {
@ -177,11 +177,6 @@ func (tab *Table) closest(target common.Hash, nresults int) *nodesByDistance {
close := &nodesByDistance{target: target}
for _, b := range tab.buckets {
for _, n := range b.entries {
// node can be in table only in two states
// known and contested
if n.state != known {
continue
}
close.push(n, nresults)
}
}

View File

@ -32,7 +32,7 @@ import (
"github.com/ethereum/go-ethereum/rlp"
)
const Version = 55
const Version = 4
// Errors
var (