“LimitedConnectionError on Supposedly ‘non-limited’ Connection to Behind-NAT Peer” #2908
Unanswered
salehelsayed
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Title: “
LimitedConnectionError
on Supposedly ‘non-limited’ Connection to Behind-NAT Peer”Summary of the Problem
I have a dialer node (behind NAT) that connects to a public relay, then tries to reach my behind‐NAT listener via a circuit address. According to the logs:
peer:connect
event for the listener’s PeerId.limited=false
.newStream('/chat/1.0.0')
call fails withLimitedConnectionError: Cannot open protocol stream on limited connection.
Essentially, the dialer’s logs claim the new route to the listener is non-limited, yet opening a chat stream fails with a “LimitedConnectionError.” This contradictory state suggests that even though the connection manager says “non-limited=false,” the actual transport path remains in a partially upgraded or limited state.
Specs
connection.newStream('/chat/1.0.0')
on what the logs call a “non-limited” path, but the library throws an error “Cannot open protocol stream on limited connection.”Help Needed
I’m trying to figure out how to ensure we actually get a fully upgraded circuit route for the behind-NAT listener. Any guidance on ensuring Libp2p re-checks or fully transitions from the older “limited” path to a real circuit route would be greatly appreciated.
relay.js:
dialer.js
listener
Beta Was this translation helpful? Give feedback.
All reactions