aboutsummaryrefslogtreecommitdiffstats
path: root/p2p/discv5
diff options
context:
space:
mode:
authorFelix Lange <fjl@users.noreply.github.com>2018-10-12 17:47:24 +0800
committerGitHub <noreply@github.com>2018-10-12 17:47:24 +0800
commit6f607de5d590ff2fbe8798b04e5924be3b7ca0b4 (patch)
tree2905b3462c0d4f162914a948dac6d1836ace4b77 /p2p/discv5
parentdcae0d348bb7f5d9052e50a83383a33538ce376a (diff)
downloadgo-tangerine-6f607de5d590ff2fbe8798b04e5924be3b7ca0b4.tar
go-tangerine-6f607de5d590ff2fbe8798b04e5924be3b7ca0b4.tar.gz
go-tangerine-6f607de5d590ff2fbe8798b04e5924be3b7ca0b4.tar.bz2
go-tangerine-6f607de5d590ff2fbe8798b04e5924be3b7ca0b4.tar.lz
go-tangerine-6f607de5d590ff2fbe8798b04e5924be3b7ca0b4.tar.xz
go-tangerine-6f607de5d590ff2fbe8798b04e5924be3b7ca0b4.tar.zst
go-tangerine-6f607de5d590ff2fbe8798b04e5924be3b7ca0b4.zip
p2p, p2p/discover: add signed ENR generation (#17753)
This PR adds enode.LocalNode and integrates it into the p2p subsystem. This new object is the keeper of the local node record. For now, a new version of the record is produced every time the client restarts. We'll make it smarter to avoid that in the future. There are a couple of other changes in this commit: discovery now waits for all of its goroutines at shutdown and the p2p server now closes the node database after discovery has shut down. This fixes a leveldb crash in tests. p2p server startup is faster because it doesn't need to wait for the external IP query anymore.
Diffstat (limited to 'p2p/discv5')
-rw-r--r--p2p/discv5/udp.go3
1 files changed, 2 insertions, 1 deletions
diff --git a/p2p/discv5/udp.go b/p2p/discv5/udp.go
index 49e1cb811..ff5ed983b 100644
--- a/p2p/discv5/udp.go
+++ b/p2p/discv5/udp.go
@@ -230,7 +230,8 @@ type udp struct {
}
// ListenUDP returns a new table that listens for UDP packets on laddr.
-func ListenUDP(priv *ecdsa.PrivateKey, conn conn, realaddr *net.UDPAddr, nodeDBPath string, netrestrict *netutil.Netlist) (*Network, error) {
+func ListenUDP(priv *ecdsa.PrivateKey, conn conn, nodeDBPath string, netrestrict *netutil.Netlist) (*Network, error) {
+ realaddr := conn.LocalAddr().(*net.UDPAddr)
transport, err := listenUDP(priv, conn, realaddr)
if err != nil {
return nil, err