[identify] Add configurable automatic push on listen addr changes. #2004
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR picks up a suggestion of @mxinden from #1999 (review). When a new or expired listen address is reported by the
Swarm
, it can result in an active push of an identify message to all connected peers. Two points worth noting:inject_new_external_addr
as a trigger for an automatic push. I am somewhat concerned that, given that these addresses are reported by remote peers, it would make it too easy to remotely make a node spam all its connected peers with messages, possibly even with invalid data, since this would essentially provide a remote trigger for a kind of broadcast. One could of course add defensive measures via some form of throttling, but at least a naive implementation, as I've done here forinject_new_listen_addr
andinject_expired_listen_addr
, seems to be too easy to abuse.