From 7a7e1c7a005233edff103b2ec42e94e3065b13ba Mon Sep 17 00:00:00 2001 From: Marco Munizaga Date: Tue, 15 Aug 2023 10:09:27 -0700 Subject: [PATCH 1/5] Small changes for new quic-go API --- p2p/transport/quicreuse/connmgr.go | 13 ++----------- p2p/transport/quicreuse/listener.go | 3 ++- p2p/transport/quicreuse/reuse.go | 10 ++++------ 3 files changed, 8 insertions(+), 18 deletions(-) diff --git a/p2p/transport/quicreuse/connmgr.go b/p2p/transport/quicreuse/connmgr.go index d3f70de92a..60c0daa1a3 100644 --- a/p2p/transport/quicreuse/connmgr.go +++ b/p2p/transport/quicreuse/connmgr.go @@ -145,7 +145,7 @@ func (c *ConnManager) transportForListen(network string, laddr *net.UDPAddr) (re return reuse.TransportForListen(network, laddr) } - conn, err := listenAndOptimize(network, laddr) + conn, err := net.ListenUDP(network, laddr) if err != nil { return nil, err } @@ -204,7 +204,7 @@ func (c *ConnManager) TransportForDial(network string, raddr *net.UDPAddr) (refC case "udp6": laddr = &net.UDPAddr{IP: net.IPv6zero, Port: 0} } - conn, err := listenAndOptimize(network, laddr) + conn, err := net.ListenUDP(network, laddr) if err != nil { return nil, err } @@ -229,12 +229,3 @@ func (c *ConnManager) Close() error { } return c.reuseUDP4.Close() } - -// listenAndOptimize same as net.ListenUDP, but also calls quic.OptimizeConn -func listenAndOptimize(network string, laddr *net.UDPAddr) (net.PacketConn, error) { - conn, err := net.ListenUDP(network, laddr) - if err != nil { - return nil, err - } - return quic.OptimizeConn(conn) -} diff --git a/p2p/transport/quicreuse/listener.go b/p2p/transport/quicreuse/listener.go index cd0e882f7f..4ee20042d3 100644 --- a/p2p/transport/quicreuse/listener.go +++ b/p2p/transport/quicreuse/listener.go @@ -52,6 +52,7 @@ func newQuicListener(tr refCountedQuicTransport, quicConfig *quic.Config) (*quic addrs: localMultiaddrs, } tlsConf := &tls.Config{ + SessionTicketsDisabled: true, // This is set for the config for client, but we set it here as well: https://github.com/quic-go/quic-go/issues/4029 GetConfigForClient: func(info *tls.ClientHelloInfo) (*tls.Config, error) { cl.protocolsMu.Lock() defer cl.protocolsMu.Unlock() @@ -82,7 +83,7 @@ func (l *quicListener) allowWindowIncrease(conn quic.Connection, delta uint64) b l.protocolsMu.Lock() defer l.protocolsMu.Unlock() - conf, ok := l.protocols[conn.ConnectionState().TLS.ConnectionState.NegotiatedProtocol] + conf, ok := l.protocols[conn.ConnectionState().TLS.NegotiatedProtocol] if !ok { return false } diff --git a/p2p/transport/quicreuse/reuse.go b/p2p/transport/quicreuse/reuse.go index 1584b29254..2940e0d349 100644 --- a/p2p/transport/quicreuse/reuse.go +++ b/p2p/transport/quicreuse/reuse.go @@ -51,8 +51,7 @@ func (c *singleOwnerTransport) Close() error { } func (c *singleOwnerTransport) WriteTo(b []byte, addr net.Addr) (int, error) { - // Safe because we called quic.OptimizeConn ourselves. - return c.packetConn.WriteTo(b, addr) + return c.Transport.WriteTo(b, addr) } // Constant. Defined as variables to simplify testing. @@ -86,8 +85,7 @@ func (c *refcountedTransport) Close() error { } func (c *refcountedTransport) WriteTo(b []byte, addr net.Addr) (int, error) { - // Safe because we called quic.OptimizeConn ourselves. - return c.packetConn.WriteTo(b, addr) + return c.Transport.WriteTo(b, addr) } func (c *refcountedTransport) LocalAddr() net.Addr { @@ -265,7 +263,7 @@ func (r *reuse) transportForDialLocked(network string, source *net.IP) (*refcoun case "udp6": addr = &net.UDPAddr{IP: net.IPv6zero, Port: 0} } - conn, err := listenAndOptimize(network, addr) + conn, err := net.ListenUDP(network, addr) if err != nil { return nil, err } @@ -314,7 +312,7 @@ func (r *reuse) TransportForListen(network string, laddr *net.UDPAddr) (*refcoun } } - conn, err := listenAndOptimize(network, laddr) + conn, err := net.ListenUDP(network, laddr) if err != nil { return nil, err } From 0414e0870a018311f2f4930c9ffef5624f932696 Mon Sep 17 00:00:00 2001 From: Marco Munizaga Date: Tue, 15 Aug 2023 10:13:11 -0700 Subject: [PATCH 2/5] Update quic-go dependency --- go.mod | 5 ++--- go.sum | 10 ++++------ test-plans/PingDockerfile | 4 ++-- test-plans/go.mod | 5 ++--- test-plans/go.sum | 10 ++++------ 5 files changed, 14 insertions(+), 20 deletions(-) diff --git a/go.mod b/go.mod index c7f854190a..f4c3310061 100644 --- a/go.mod +++ b/go.mod @@ -48,7 +48,7 @@ require ( github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 github.com/prometheus/client_golang v1.14.0 github.com/prometheus/client_model v0.4.0 - github.com/quic-go/quic-go v0.36.3 + github.com/quic-go/quic-go v0.37.4 github.com/quic-go/webtransport-go v0.5.3 github.com/raulk/go-watchdog v1.3.0 github.com/stretchr/testify v1.8.4 @@ -103,8 +103,7 @@ require ( github.com/prometheus/common v0.37.0 // indirect github.com/prometheus/procfs v0.8.0 // indirect github.com/quic-go/qpack v0.4.0 // indirect - github.com/quic-go/qtls-go1-19 v0.3.3 // indirect - github.com/quic-go/qtls-go1-20 v0.2.3 // indirect + github.com/quic-go/qtls-go1-20 v0.3.1 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect github.com/syndtr/goleveldb v1.0.0 // indirect go.uber.org/atomic v1.11.0 // indirect diff --git a/go.sum b/go.sum index 5cd9e4b309..8440f532bd 100644 --- a/go.sum +++ b/go.sum @@ -434,12 +434,10 @@ github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5 github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo= github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A= -github.com/quic-go/qtls-go1-19 v0.3.3 h1:wznEHvJwd+2X3PqftRha0SUKmGsnb6dfArMhy9PeJVE= -github.com/quic-go/qtls-go1-19 v0.3.3/go.mod h1:ySOI96ew8lnoKPtSqx2BlI5wCpUVPT05RMAlajtnyOI= -github.com/quic-go/qtls-go1-20 v0.2.3 h1:m575dovXn1y2ATOb1XrRFcrv0F+EQmlowTkoraNkDPI= -github.com/quic-go/qtls-go1-20 v0.2.3/go.mod h1:JKtK6mjbAVcUTN/9jZpvLbGxvdWIKS8uT7EiStoU1SM= -github.com/quic-go/quic-go v0.36.3 h1:f+yOqeGhMoRX7/M3wmEw/djhzKWr15FtQysox85/834= -github.com/quic-go/quic-go v0.36.3/go.mod h1:qxQumdeKw5GmWs1OsTZZnOxzSI+RJWuhf1O8FN35L2o= +github.com/quic-go/qtls-go1-20 v0.3.1 h1:O4BLOM3hwfVF3AcktIylQXyl7Yi2iBNVy5QsV+ySxbg= +github.com/quic-go/qtls-go1-20 v0.3.1/go.mod h1:X9Nh97ZL80Z+bX/gUXMbipO6OxdiDi58b/fMC9mAL+k= +github.com/quic-go/quic-go v0.37.4 h1:ke8B73yMCWGq9MfrCCAw0Uzdm7GaViC3i39dsIdDlH4= +github.com/quic-go/quic-go v0.37.4/go.mod h1:YsbH1r4mSHPJcLF4k4zruUkLBqctEMBDR6VPvcYjIsU= github.com/quic-go/webtransport-go v0.5.3 h1:5XMlzemqB4qmOlgIus5zB45AcZ2kCgCy2EptUrfOPWU= github.com/quic-go/webtransport-go v0.5.3/go.mod h1:OhmmgJIzTTqXK5xvtuX0oBpLV2GkLWNDA+UeTGJXErU= github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtBsk= diff --git a/test-plans/PingDockerfile b/test-plans/PingDockerfile index 1f19562d2d..5c413aa464 100644 --- a/test-plans/PingDockerfile +++ b/test-plans/PingDockerfile @@ -1,7 +1,7 @@ # syntax=docker/dockerfile:1 # This is run from the parent directory to copy the whole go-libp2p codebase -FROM golang:1.19-alpine AS builder +FROM golang:1.21-alpine AS builder WORKDIR /app/ @@ -14,4 +14,4 @@ FROM alpine WORKDIR /app COPY --from=builder /testplan /testplan -ENTRYPOINT [ "/testplan"] \ No newline at end of file +ENTRYPOINT [ "/testplan"] diff --git a/test-plans/go.mod b/test-plans/go.mod index b3ff3047ab..366afcdd6a 100644 --- a/test-plans/go.mod +++ b/test-plans/go.mod @@ -73,9 +73,8 @@ require ( github.com/prometheus/common v0.44.0 // indirect github.com/prometheus/procfs v0.10.1 // indirect github.com/quic-go/qpack v0.4.0 // indirect - github.com/quic-go/qtls-go1-19 v0.3.3 // indirect - github.com/quic-go/qtls-go1-20 v0.2.3 // indirect - github.com/quic-go/quic-go v0.36.3 // indirect + github.com/quic-go/qtls-go1-20 v0.3.1 // indirect + github.com/quic-go/quic-go v0.37.4 // indirect github.com/quic-go/webtransport-go v0.5.3 // indirect github.com/raulk/go-watchdog v1.3.0 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect diff --git a/test-plans/go.sum b/test-plans/go.sum index 6d818b1ece..15835c145d 100644 --- a/test-plans/go.sum +++ b/test-plans/go.sum @@ -238,12 +238,10 @@ github.com/prometheus/procfs v0.10.1 h1:kYK1Va/YMlutzCGazswoHKo//tZVlFpKYh+Pymzi github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo= github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A= -github.com/quic-go/qtls-go1-19 v0.3.3 h1:wznEHvJwd+2X3PqftRha0SUKmGsnb6dfArMhy9PeJVE= -github.com/quic-go/qtls-go1-19 v0.3.3/go.mod h1:ySOI96ew8lnoKPtSqx2BlI5wCpUVPT05RMAlajtnyOI= -github.com/quic-go/qtls-go1-20 v0.2.3 h1:m575dovXn1y2ATOb1XrRFcrv0F+EQmlowTkoraNkDPI= -github.com/quic-go/qtls-go1-20 v0.2.3/go.mod h1:JKtK6mjbAVcUTN/9jZpvLbGxvdWIKS8uT7EiStoU1SM= -github.com/quic-go/quic-go v0.36.3 h1:f+yOqeGhMoRX7/M3wmEw/djhzKWr15FtQysox85/834= -github.com/quic-go/quic-go v0.36.3/go.mod h1:qxQumdeKw5GmWs1OsTZZnOxzSI+RJWuhf1O8FN35L2o= +github.com/quic-go/qtls-go1-20 v0.3.1 h1:O4BLOM3hwfVF3AcktIylQXyl7Yi2iBNVy5QsV+ySxbg= +github.com/quic-go/qtls-go1-20 v0.3.1/go.mod h1:X9Nh97ZL80Z+bX/gUXMbipO6OxdiDi58b/fMC9mAL+k= +github.com/quic-go/quic-go v0.37.4 h1:ke8B73yMCWGq9MfrCCAw0Uzdm7GaViC3i39dsIdDlH4= +github.com/quic-go/quic-go v0.37.4/go.mod h1:YsbH1r4mSHPJcLF4k4zruUkLBqctEMBDR6VPvcYjIsU= github.com/quic-go/webtransport-go v0.5.3 h1:5XMlzemqB4qmOlgIus5zB45AcZ2kCgCy2EptUrfOPWU= github.com/quic-go/webtransport-go v0.5.3/go.mod h1:OhmmgJIzTTqXK5xvtuX0oBpLV2GkLWNDA+UeTGJXErU= github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtBsk= From 08ca965f68107f702aa97a6b766c7f56812b4306 Mon Sep 17 00:00:00 2001 From: Marco Munizaga Date: Tue, 15 Aug 2023 10:13:21 -0700 Subject: [PATCH 3/5] Manually bump Go version in go-test --- .github/workflows/go-test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/go-test.yml b/.github/workflows/go-test.yml index c5cb3efc7a..8ffbc8c049 100644 --- a/.github/workflows/go-test.yml +++ b/.github/workflows/go-test.yml @@ -9,8 +9,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ "ubuntu", "windows", "macos" ] - go: ["1.19.x","1.20.x"] + os: ["ubuntu", "windows", "macos"] + go: ["1.20.x", "1.21.x"] env: COVERAGES: "" runs-on: ${{ fromJSON(vars[format('UCI_GO_TEST_RUNNER_{0}', matrix.os)] || format('"{0}-latest"', matrix.os)) }} From 9e1f3fccdcec8a1302f4747ed43cf89162e4bbf4 Mon Sep 17 00:00:00 2001 From: Marco Munizaga Date: Tue, 15 Aug 2023 10:20:57 -0700 Subject: [PATCH 4/5] Don't run examples in Go 1.21 yet Revert this commit when we release a new go-libp2p version compatible with Go 1.21 --- examples/chat-with-mdns/flags.go | 2 ++ examples/chat-with-mdns/main.go | 2 ++ examples/chat-with-mdns/mdns.go | 2 ++ examples/chat-with-rendezvous/chat.go | 2 ++ examples/chat-with-rendezvous/flags.go | 2 ++ examples/chat/chat.go | 2 ++ examples/chat/chat_test.go | 2 ++ examples/echo/main.go | 2 ++ examples/echo/main_test.go | 2 ++ examples/go_121_workaround_test.go | 8 ++++++++ examples/http-proxy/proxy.go | 2 ++ examples/ipfs-camp-2019/01-Transports/main.go | 2 ++ examples/ipfs-camp-2019/02-Multiaddrs/main.go | 2 ++ examples/ipfs-camp-2019/03-Muxing-Encryption/main.go | 2 ++ examples/ipfs-camp-2019/05-Discovery/main.go | 2 ++ examples/ipfs-camp-2019/05-Discovery/protocol.go | 2 ++ examples/ipfs-camp-2019/06-Pubsub/main.go | 2 ++ examples/ipfs-camp-2019/06-Pubsub/protocol.go | 2 ++ examples/ipfs-camp-2019/07-Messaging/chat.pb.go | 2 ++ examples/ipfs-camp-2019/07-Messaging/main.go | 2 ++ examples/ipfs-camp-2019/07-Messaging/protocol.go | 2 ++ examples/ipfs-camp-2019/07-Messaging/pubsub.go | 2 ++ examples/ipfs-camp-2019/08-End/chat.pb.go | 2 ++ examples/ipfs-camp-2019/08-End/main.go | 2 ++ examples/ipfs-camp-2019/08-End/protocol.go | 2 ++ examples/ipfs-camp-2019/08-End/pubsub.go | 2 ++ examples/ipfs-camp-2019/go_121_workaround_test.go | 8 ++++++++ examples/libp2p-host/host.go | 2 ++ examples/libp2p-host/host_test.go | 2 ++ examples/metrics-and-dashboards/main.go | 2 ++ examples/multipro/echo.go | 2 ++ examples/multipro/main.go | 2 ++ examples/multipro/main_test.go | 2 ++ examples/multipro/node.go | 2 ++ examples/multipro/pb/p2p.pb.go | 2 ++ examples/multipro/ping.go | 2 ++ .../basic-chat-with-rendezvous/go_121_workaround_test.go | 8 ++++++++ examples/pubsub/basic-chat-with-rendezvous/main.go | 2 ++ examples/pubsub/chat/chatroom.go | 2 ++ examples/pubsub/chat/go_121_workaround_test.go | 8 ++++++++ examples/pubsub/chat/main.go | 2 ++ examples/pubsub/chat/ui.go | 2 ++ examples/relay/main.go | 2 ++ examples/relay/main_test.go | 2 ++ examples/routed-echo/bootstrap.go | 2 ++ examples/routed-echo/main.go | 2 ++ examples/testutils/logharness.go | 2 ++ examples/testutils/net.go | 2 ++ 48 files changed, 120 insertions(+) create mode 100644 examples/go_121_workaround_test.go create mode 100644 examples/ipfs-camp-2019/go_121_workaround_test.go create mode 100644 examples/pubsub/basic-chat-with-rendezvous/go_121_workaround_test.go create mode 100644 examples/pubsub/chat/go_121_workaround_test.go diff --git a/examples/chat-with-mdns/flags.go b/examples/chat-with-mdns/flags.go index e188b2eddb..4e457062d2 100644 --- a/examples/chat-with-mdns/flags.go +++ b/examples/chat-with-mdns/flags.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/chat-with-mdns/main.go b/examples/chat-with-mdns/main.go index 57b89c2583..a0712e89ca 100644 --- a/examples/chat-with-mdns/main.go +++ b/examples/chat-with-mdns/main.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/chat-with-mdns/mdns.go b/examples/chat-with-mdns/mdns.go index c1f5590e6d..a953f097ce 100644 --- a/examples/chat-with-mdns/mdns.go +++ b/examples/chat-with-mdns/mdns.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/chat-with-rendezvous/chat.go b/examples/chat-with-rendezvous/chat.go index 5fc8d4e344..b33fd0949b 100644 --- a/examples/chat-with-rendezvous/chat.go +++ b/examples/chat-with-rendezvous/chat.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/chat-with-rendezvous/flags.go b/examples/chat-with-rendezvous/flags.go index a2e8ed1dff..3c3430d326 100644 --- a/examples/chat-with-rendezvous/flags.go +++ b/examples/chat-with-rendezvous/flags.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/chat/chat.go b/examples/chat/chat.go index cd1c2872ea..e5c33b147e 100644 --- a/examples/chat/chat.go +++ b/examples/chat/chat.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + /* * * The MIT License (MIT) diff --git a/examples/chat/chat_test.go b/examples/chat/chat_test.go index 1a1cea3c7e..8bbb699239 100644 --- a/examples/chat/chat_test.go +++ b/examples/chat/chat_test.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/echo/main.go b/examples/echo/main.go index 3bba896183..6aba1c42c7 100644 --- a/examples/echo/main.go +++ b/examples/echo/main.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/echo/main_test.go b/examples/echo/main_test.go index b57f094c9f..c2167b757e 100644 --- a/examples/echo/main_test.go +++ b/examples/echo/main_test.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/go_121_workaround_test.go b/examples/go_121_workaround_test.go new file mode 100644 index 0000000000..9cbcac6551 --- /dev/null +++ b/examples/go_121_workaround_test.go @@ -0,0 +1,8 @@ +//go:build go1.21 + +package main + +import "testing" + +// Needed so that we run at least one test in Go 1.21 so that our go test command exits successfully +func TestNothing(t *testing.T) {} diff --git a/examples/http-proxy/proxy.go b/examples/http-proxy/proxy.go index 27d9597870..78128e25be 100644 --- a/examples/http-proxy/proxy.go +++ b/examples/http-proxy/proxy.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/ipfs-camp-2019/01-Transports/main.go b/examples/ipfs-camp-2019/01-Transports/main.go index 0b358f18c4..9103c9db6f 100644 --- a/examples/ipfs-camp-2019/01-Transports/main.go +++ b/examples/ipfs-camp-2019/01-Transports/main.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/ipfs-camp-2019/02-Multiaddrs/main.go b/examples/ipfs-camp-2019/02-Multiaddrs/main.go index dd7f4c38b4..20698a96a4 100644 --- a/examples/ipfs-camp-2019/02-Multiaddrs/main.go +++ b/examples/ipfs-camp-2019/02-Multiaddrs/main.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/ipfs-camp-2019/03-Muxing-Encryption/main.go b/examples/ipfs-camp-2019/03-Muxing-Encryption/main.go index 031b6da27a..ea2e63087d 100644 --- a/examples/ipfs-camp-2019/03-Muxing-Encryption/main.go +++ b/examples/ipfs-camp-2019/03-Muxing-Encryption/main.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/ipfs-camp-2019/05-Discovery/main.go b/examples/ipfs-camp-2019/05-Discovery/main.go index 51d5a6fd77..03d632bafa 100644 --- a/examples/ipfs-camp-2019/05-Discovery/main.go +++ b/examples/ipfs-camp-2019/05-Discovery/main.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/ipfs-camp-2019/05-Discovery/protocol.go b/examples/ipfs-camp-2019/05-Discovery/protocol.go index 70d22f08f2..596bb88309 100644 --- a/examples/ipfs-camp-2019/05-Discovery/protocol.go +++ b/examples/ipfs-camp-2019/05-Discovery/protocol.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/ipfs-camp-2019/06-Pubsub/main.go b/examples/ipfs-camp-2019/06-Pubsub/main.go index 9034541914..6880162c8a 100644 --- a/examples/ipfs-camp-2019/06-Pubsub/main.go +++ b/examples/ipfs-camp-2019/06-Pubsub/main.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/ipfs-camp-2019/06-Pubsub/protocol.go b/examples/ipfs-camp-2019/06-Pubsub/protocol.go index 899c62ce39..6d86113fc5 100644 --- a/examples/ipfs-camp-2019/06-Pubsub/protocol.go +++ b/examples/ipfs-camp-2019/06-Pubsub/protocol.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/ipfs-camp-2019/07-Messaging/chat.pb.go b/examples/ipfs-camp-2019/07-Messaging/chat.pb.go index 562290f912..7f51335598 100644 --- a/examples/ipfs-camp-2019/07-Messaging/chat.pb.go +++ b/examples/ipfs-camp-2019/07-Messaging/chat.pb.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: chat.proto diff --git a/examples/ipfs-camp-2019/07-Messaging/main.go b/examples/ipfs-camp-2019/07-Messaging/main.go index 84840d765a..4e8254b50e 100644 --- a/examples/ipfs-camp-2019/07-Messaging/main.go +++ b/examples/ipfs-camp-2019/07-Messaging/main.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/ipfs-camp-2019/07-Messaging/protocol.go b/examples/ipfs-camp-2019/07-Messaging/protocol.go index addfc8e98f..02562958a0 100644 --- a/examples/ipfs-camp-2019/07-Messaging/protocol.go +++ b/examples/ipfs-camp-2019/07-Messaging/protocol.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/ipfs-camp-2019/07-Messaging/pubsub.go b/examples/ipfs-camp-2019/07-Messaging/pubsub.go index f40e749744..64857ed8f3 100644 --- a/examples/ipfs-camp-2019/07-Messaging/pubsub.go +++ b/examples/ipfs-camp-2019/07-Messaging/pubsub.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/ipfs-camp-2019/08-End/chat.pb.go b/examples/ipfs-camp-2019/08-End/chat.pb.go index 562290f912..7f51335598 100644 --- a/examples/ipfs-camp-2019/08-End/chat.pb.go +++ b/examples/ipfs-camp-2019/08-End/chat.pb.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: chat.proto diff --git a/examples/ipfs-camp-2019/08-End/main.go b/examples/ipfs-camp-2019/08-End/main.go index bc29152bde..a164692982 100644 --- a/examples/ipfs-camp-2019/08-End/main.go +++ b/examples/ipfs-camp-2019/08-End/main.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/ipfs-camp-2019/08-End/protocol.go b/examples/ipfs-camp-2019/08-End/protocol.go index 02e4b98bc5..a579be6d14 100644 --- a/examples/ipfs-camp-2019/08-End/protocol.go +++ b/examples/ipfs-camp-2019/08-End/protocol.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/ipfs-camp-2019/08-End/pubsub.go b/examples/ipfs-camp-2019/08-End/pubsub.go index 2be6b0123e..249ffce0eb 100644 --- a/examples/ipfs-camp-2019/08-End/pubsub.go +++ b/examples/ipfs-camp-2019/08-End/pubsub.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/ipfs-camp-2019/go_121_workaround_test.go b/examples/ipfs-camp-2019/go_121_workaround_test.go new file mode 100644 index 0000000000..9cbcac6551 --- /dev/null +++ b/examples/ipfs-camp-2019/go_121_workaround_test.go @@ -0,0 +1,8 @@ +//go:build go1.21 + +package main + +import "testing" + +// Needed so that we run at least one test in Go 1.21 so that our go test command exits successfully +func TestNothing(t *testing.T) {} diff --git a/examples/libp2p-host/host.go b/examples/libp2p-host/host.go index b1b6790aa1..d6173cc61a 100644 --- a/examples/libp2p-host/host.go +++ b/examples/libp2p-host/host.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/libp2p-host/host_test.go b/examples/libp2p-host/host_test.go index 989014c52b..dca19b3529 100644 --- a/examples/libp2p-host/host_test.go +++ b/examples/libp2p-host/host_test.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/metrics-and-dashboards/main.go b/examples/metrics-and-dashboards/main.go index 37eee4285a..f46d1bc18c 100644 --- a/examples/metrics-and-dashboards/main.go +++ b/examples/metrics-and-dashboards/main.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/multipro/echo.go b/examples/multipro/echo.go index 8ea67927a9..4f089772de 100644 --- a/examples/multipro/echo.go +++ b/examples/multipro/echo.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/multipro/main.go b/examples/multipro/main.go index f7b1ede5ff..16847fa7f2 100644 --- a/examples/multipro/main.go +++ b/examples/multipro/main.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/multipro/main_test.go b/examples/multipro/main_test.go index 545fcf294c..bcf0a39bea 100644 --- a/examples/multipro/main_test.go +++ b/examples/multipro/main_test.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/multipro/node.go b/examples/multipro/node.go index 55b63928a6..db1750f543 100644 --- a/examples/multipro/node.go +++ b/examples/multipro/node.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/multipro/pb/p2p.pb.go b/examples/multipro/pb/p2p.pb.go index a33d549749..b5e53f3a4f 100644 --- a/examples/multipro/pb/p2p.pb.go +++ b/examples/multipro/pb/p2p.pb.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: p2p.proto diff --git a/examples/multipro/ping.go b/examples/multipro/ping.go index c274f5bf4f..abba610b28 100644 --- a/examples/multipro/ping.go +++ b/examples/multipro/ping.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/pubsub/basic-chat-with-rendezvous/go_121_workaround_test.go b/examples/pubsub/basic-chat-with-rendezvous/go_121_workaround_test.go new file mode 100644 index 0000000000..9cbcac6551 --- /dev/null +++ b/examples/pubsub/basic-chat-with-rendezvous/go_121_workaround_test.go @@ -0,0 +1,8 @@ +//go:build go1.21 + +package main + +import "testing" + +// Needed so that we run at least one test in Go 1.21 so that our go test command exits successfully +func TestNothing(t *testing.T) {} diff --git a/examples/pubsub/basic-chat-with-rendezvous/main.go b/examples/pubsub/basic-chat-with-rendezvous/main.go index 57729ed137..fc23435020 100644 --- a/examples/pubsub/basic-chat-with-rendezvous/main.go +++ b/examples/pubsub/basic-chat-with-rendezvous/main.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/pubsub/chat/chatroom.go b/examples/pubsub/chat/chatroom.go index 452cc309e8..0bf2443270 100644 --- a/examples/pubsub/chat/chatroom.go +++ b/examples/pubsub/chat/chatroom.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/pubsub/chat/go_121_workaround_test.go b/examples/pubsub/chat/go_121_workaround_test.go new file mode 100644 index 0000000000..9cbcac6551 --- /dev/null +++ b/examples/pubsub/chat/go_121_workaround_test.go @@ -0,0 +1,8 @@ +//go:build go1.21 + +package main + +import "testing" + +// Needed so that we run at least one test in Go 1.21 so that our go test command exits successfully +func TestNothing(t *testing.T) {} diff --git a/examples/pubsub/chat/main.go b/examples/pubsub/chat/main.go index 45a103d03d..c8d2fe773f 100644 --- a/examples/pubsub/chat/main.go +++ b/examples/pubsub/chat/main.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/pubsub/chat/ui.go b/examples/pubsub/chat/ui.go index 413b6d3989..087b74283a 100644 --- a/examples/pubsub/chat/ui.go +++ b/examples/pubsub/chat/ui.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/relay/main.go b/examples/relay/main.go index e8fa8b7ba0..34c2792e22 100644 --- a/examples/relay/main.go +++ b/examples/relay/main.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/relay/main_test.go b/examples/relay/main_test.go index d42c576663..5b776f0d77 100644 --- a/examples/relay/main_test.go +++ b/examples/relay/main_test.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/routed-echo/bootstrap.go b/examples/routed-echo/bootstrap.go index b09228e878..80aa2679ca 100644 --- a/examples/routed-echo/bootstrap.go +++ b/examples/routed-echo/bootstrap.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/routed-echo/main.go b/examples/routed-echo/main.go index 2f40549b51..09b13705e0 100644 --- a/examples/routed-echo/main.go +++ b/examples/routed-echo/main.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package main import ( diff --git a/examples/testutils/logharness.go b/examples/testutils/logharness.go index 2f075645eb..a98eeb4ee3 100644 --- a/examples/testutils/logharness.go +++ b/examples/testutils/logharness.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package testutils import ( diff --git a/examples/testutils/net.go b/examples/testutils/net.go index d33bd4a11d..a5dd8307dd 100644 --- a/examples/testutils/net.go +++ b/examples/testutils/net.go @@ -1,3 +1,5 @@ +//go:build !go1.21 + package testutils import ( From 9121d0140c1aa26406b0940e5faa14ecc3746ab3 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Thu, 17 Aug 2023 13:25:52 +0700 Subject: [PATCH 5/5] update quic-go to v0.37.5 --- go.mod | 2 +- go.sum | 4 ++-- test-plans/go.mod | 2 +- test-plans/go.sum | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index f4c3310061..2ee0eb88e3 100644 --- a/go.mod +++ b/go.mod @@ -48,7 +48,7 @@ require ( github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 github.com/prometheus/client_golang v1.14.0 github.com/prometheus/client_model v0.4.0 - github.com/quic-go/quic-go v0.37.4 + github.com/quic-go/quic-go v0.37.5 github.com/quic-go/webtransport-go v0.5.3 github.com/raulk/go-watchdog v1.3.0 github.com/stretchr/testify v1.8.4 diff --git a/go.sum b/go.sum index 8440f532bd..b8f0b3fe94 100644 --- a/go.sum +++ b/go.sum @@ -436,8 +436,8 @@ github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo= github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A= github.com/quic-go/qtls-go1-20 v0.3.1 h1:O4BLOM3hwfVF3AcktIylQXyl7Yi2iBNVy5QsV+ySxbg= github.com/quic-go/qtls-go1-20 v0.3.1/go.mod h1:X9Nh97ZL80Z+bX/gUXMbipO6OxdiDi58b/fMC9mAL+k= -github.com/quic-go/quic-go v0.37.4 h1:ke8B73yMCWGq9MfrCCAw0Uzdm7GaViC3i39dsIdDlH4= -github.com/quic-go/quic-go v0.37.4/go.mod h1:YsbH1r4mSHPJcLF4k4zruUkLBqctEMBDR6VPvcYjIsU= +github.com/quic-go/quic-go v0.37.5 h1:pzkYe8AgaxHi+7KJrYBMF+u2rLO5a9kwyCp2dAsljzk= +github.com/quic-go/quic-go v0.37.5/go.mod h1:YsbH1r4mSHPJcLF4k4zruUkLBqctEMBDR6VPvcYjIsU= github.com/quic-go/webtransport-go v0.5.3 h1:5XMlzemqB4qmOlgIus5zB45AcZ2kCgCy2EptUrfOPWU= github.com/quic-go/webtransport-go v0.5.3/go.mod h1:OhmmgJIzTTqXK5xvtuX0oBpLV2GkLWNDA+UeTGJXErU= github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtBsk= diff --git a/test-plans/go.mod b/test-plans/go.mod index 366afcdd6a..c9f5c339f4 100644 --- a/test-plans/go.mod +++ b/test-plans/go.mod @@ -74,7 +74,7 @@ require ( github.com/prometheus/procfs v0.10.1 // indirect github.com/quic-go/qpack v0.4.0 // indirect github.com/quic-go/qtls-go1-20 v0.3.1 // indirect - github.com/quic-go/quic-go v0.37.4 // indirect + github.com/quic-go/quic-go v0.37.5 // indirect github.com/quic-go/webtransport-go v0.5.3 // indirect github.com/raulk/go-watchdog v1.3.0 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect diff --git a/test-plans/go.sum b/test-plans/go.sum index 15835c145d..7ffc7e6307 100644 --- a/test-plans/go.sum +++ b/test-plans/go.sum @@ -240,8 +240,8 @@ github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo= github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A= github.com/quic-go/qtls-go1-20 v0.3.1 h1:O4BLOM3hwfVF3AcktIylQXyl7Yi2iBNVy5QsV+ySxbg= github.com/quic-go/qtls-go1-20 v0.3.1/go.mod h1:X9Nh97ZL80Z+bX/gUXMbipO6OxdiDi58b/fMC9mAL+k= -github.com/quic-go/quic-go v0.37.4 h1:ke8B73yMCWGq9MfrCCAw0Uzdm7GaViC3i39dsIdDlH4= -github.com/quic-go/quic-go v0.37.4/go.mod h1:YsbH1r4mSHPJcLF4k4zruUkLBqctEMBDR6VPvcYjIsU= +github.com/quic-go/quic-go v0.37.5 h1:pzkYe8AgaxHi+7KJrYBMF+u2rLO5a9kwyCp2dAsljzk= +github.com/quic-go/quic-go v0.37.5/go.mod h1:YsbH1r4mSHPJcLF4k4zruUkLBqctEMBDR6VPvcYjIsU= github.com/quic-go/webtransport-go v0.5.3 h1:5XMlzemqB4qmOlgIus5zB45AcZ2kCgCy2EptUrfOPWU= github.com/quic-go/webtransport-go v0.5.3/go.mod h1:OhmmgJIzTTqXK5xvtuX0oBpLV2GkLWNDA+UeTGJXErU= github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtBsk=