-
Notifications
You must be signed in to change notification settings - Fork 999
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(swarm): don't emit NewExternalAddrCandidate
on clients
#4886
base: master
Are you sure you want to change the base?
Conversation
da4e971
to
a0022d4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! This makes sense. I've left two comments.
…e are no listeners
a0022d4
to
8659c50
Compare
NewExternalAddrCandidate
events if there are no listenersNewExternalAddrCandidate
if there are no listeners
NewExternalAddrCandidate
if there are no listenersNewExternalAddrCandidate
if there are no listeners
NewExternalAddrCandidate
if there are no listenersNewExternalAddrCandidate
on clients
@nazar-pc It seems there is a test-failure in |
This pull request has merge conflicts. Could you please resolve them @nazar-pc? 🙏 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks
@nazar-pc can you resolve the merge conflicts? |
Approvals have been dismissed because the PR was updated after the send-it
label was applied.
This pull request has merge conflicts. Could you please resolve them @nazar-pc? 🙏 |
|
@thomaseizinger Stalled PR here. |
The test is failing because We will need to make |
Description
Nodes without active listen addresses (aka "clients") still produce external address candidates via protocols such as identify through the observed address. Those are however guaranteed to be useless as not having any listeners means no other node can reach us.
Notes & open questions
There are a few more issues that this PR didn't fix (UDP: I now see that transports take care of this in their translation implementation):
This PR could be potentially incorrect in case there are protocols where it is possible to have observed address without listener addresses, but I am not aware of such protocols and it would still be possible to work around that with user-level code.
Change checklist