From 42a7889ad3270af7862597d9ebd5a291cb3d277c Mon Sep 17 00:00:00 2001 From: ucwong Date: Tue, 2 Jun 2026 09:10:18 +0000 Subject: [PATCH 1/2] close when db closed successfully --- node/node.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/node/node.go b/node/node.go index a69966308c..6bb670390e 100644 --- a/node/node.go +++ b/node/node.go @@ -821,13 +821,16 @@ type closeTrackingDB struct { } func (db *closeTrackingDB) Close() error { - db.n.lock.Lock() - delete(db.n.databases, db) - db.n.lock.Unlock() + err := db.Database.Close() + if err == nil { + db.n.lock.Lock() + delete(db.n.databases, db) + db.n.lock.Unlock() - db.n.closeDataDir() + db.n.closeDataDir() + } - return db.Database.Close() + return err } // wrapDatabase ensures the database will be auto-closed when Node is closed. From ad8696f03db40706accb402182e0c2725f932ba4 Mon Sep 17 00:00:00 2001 From: cui Date: Tue, 2 Jun 2026 23:13:36 +0800 Subject: [PATCH 2/2] p2p/nat: server list contains IPv6 servers (#35084) stun-list.txt includes 10 bracketd IPv6 server, but the dial network is fixed to "udp4" --- p2p/nat/nat_test.go | 1 + p2p/nat/stun.go | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/p2p/nat/nat_test.go b/p2p/nat/nat_test.go index 2490fd33ee..150b9deb31 100644 --- a/p2p/nat/nat_test.go +++ b/p2p/nat/nat_test.go @@ -73,6 +73,7 @@ func TestParseStun(t *testing.T) { }{ {"stun", &stun{serverList: strings.Split(stunDefaultServers, "\n")}}, {"stun:1.2.3.4:1234", &stun{serverList: []string{"1.2.3.4:1234"}}}, + {"stun:[2001:db8::1]:3478", &stun{serverList: []string{"[2001:db8::1]:3478"}}}, } for _, tc := range testcases { diff --git a/p2p/nat/stun.go b/p2p/nat/stun.go index 5fdf344696..725ae9d083 100644 --- a/p2p/nat/stun.go +++ b/p2p/nat/stun.go @@ -45,7 +45,7 @@ func newSTUN(serverAddr string) (Interface, error) { if serverAddr == "" { s.serverList = strings.Split(stunDefaultServers, "\n") } else { - _, err := net.ResolveUDPAddr("udp4", serverAddr) + _, err := net.ResolveUDPAddr("udp", serverAddr) if err != nil { return nil, err } @@ -111,7 +111,7 @@ func (s *stun) externalIP(server string) (net.IP, error) { } log.Trace("Attempting STUN binding request", "server", server) - conn, err := stunV3.Dial("udp4", server) + conn, err := stunV3.Dial("udp", server) if err != nil { return nil, err }