Skip to content

Commit c8b67a0

Browse files
mudlerclaude
andauthored
deps: use mudler/go-libp2p-pubsub fork to enable pubsub over relayed conns (#1027)
Upstream go-libp2p-pubsub silently drops every pubsub peer whose only connection to the local host is network.Limited (i.e. via a libp2p relay/circuit-v2 path) — three filters in handlePendingPeers, watchForNewPeers, and handleNewPeer each gate strictly on network.Connected. NAT-traversed clusters that get a working AutoRelay connection but where DCUtR hole-punching doesn't succeed (e.g. QEMU slirp NAT, double-NAT residential setups) therefore see their libp2p hosts as "connected both ways" while the ledger never propagates. Use mudler/go-libp2p-pubsub#feat/allow-pubsub-over-limited-connections (branch off upstream master) via a replace directive, until the upstream PR merges. Verified end-to-end with a standalone reproducer: two hosts behind a relay with a ConnectionGater that blocks all direct addresses, A→B pubsub message arrives in sub-second with the fork versus 60s+ timeout against stock pubsub. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 22d1474 commit c8b67a0

2 files changed

Lines changed: 8 additions & 91 deletions

File tree

go.mod

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ require (
5454
github.com/flynn/noise v1.1.0 // indirect
5555
github.com/go-logr/logr v1.4.3 // indirect
5656
github.com/go-logr/stdr v1.2.2 // indirect
57-
github.com/go-ole/go-ole v1.2.6 // indirect
5857
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
5958
github.com/gogo/protobuf v1.3.2 // indirect
6059
github.com/google/btree v1.1.2 // indirect
@@ -85,7 +84,6 @@ require (
8584
github.com/libp2p/go-netroute v0.4.0 // indirect
8685
github.com/libp2p/go-reuseport v0.4.0 // indirect
8786
github.com/libp2p/go-yamux/v5 v5.1.0 // indirect
88-
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
8987
github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect
9088
github.com/mattn/go-colorable v0.1.13 // indirect
9189
github.com/mattn/go-isatty v0.0.22 // indirect
@@ -125,7 +123,6 @@ require (
125123
github.com/pion/turn/v4 v4.0.2 // indirect
126124
github.com/pion/webrtc/v4 v4.1.2 // indirect
127125
github.com/polydawn/refmt v0.89.1-0.20231129105047-37766d95467a // indirect
128-
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
129126
github.com/prometheus/client_golang v1.23.2 // indirect
130127
github.com/prometheus/client_model v0.6.2 // indirect
131128
github.com/prometheus/common v0.67.5 // indirect
@@ -134,18 +131,13 @@ require (
134131
github.com/quic-go/quic-go v0.59.0 // indirect
135132
github.com/quic-go/webtransport-go v0.10.0 // indirect
136133
github.com/russross/blackfriday/v2 v2.1.0 // indirect
137-
github.com/shirou/gopsutil/v4 v4.24.7 // indirect
138-
github.com/shoenig/go-m1cpu v0.1.6 // indirect
139134
github.com/shopspring/decimal v1.4.0 // indirect
140135
github.com/spaolacci/murmur3 v1.1.0 // indirect
141136
github.com/spf13/cast v1.7.0 // indirect
142-
github.com/tklauser/go-sysconf v0.3.12 // indirect
143-
github.com/tklauser/numcpus v0.6.1 // indirect
144137
github.com/valyala/bytebufferpool v1.0.0 // indirect
145138
github.com/valyala/fasttemplate v1.2.2 // indirect
146139
github.com/vishvananda/netns v0.0.5 // indirect
147140
github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 // indirect
148-
github.com/yusufpapurcu/wmi v1.2.4 // indirect
149141
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
150142
go.opentelemetry.io/otel v1.42.0 // indirect
151143
go.opentelemetry.io/otel/metric v1.42.0 // indirect
@@ -171,3 +163,5 @@ require (
171163
google.golang.org/protobuf v1.36.11 // indirect
172164
lukechampine.com/blake3 v1.4.1 // indirect
173165
)
166+
167+
replace github.com/libp2p/go-libp2p-pubsub => github.com/mudler/go-libp2p-pubsub v0.0.0-20260530201618-205ded1f9cf4

0 commit comments

Comments
 (0)