-
Notifications
You must be signed in to change notification settings - Fork 21
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
Port randomization fixes #239
Conversation
Sessions using bidirectional registrars do have consistency between the client and the station wrt port randomization as When picking the destination port the |
It turns out that making a copy of the params shared on init was not enough for item 3 because subsequent dials would still overwrite parameters within the Transport object if it is re-used, which we allow it to be. The real solution was to add a public Parameters that is set by the user, which should be treated as immutable, unless it is explicitly set again using For things like bidirectional registration where it is necessary to overwrite some parameters within the session the function |
In general I think this maybe motivates a different interface for |
The 4th todo is not directly related to these fixes and should be handled separately as it is not required to get the fixed port randomization rolled. See #240 |
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.
LGTM and port randomization works with the combinations of transports and registrars
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.
LGTM and port randomization works with the combinations of transports and registrars
There is an issue wrt. destination port randomization that conflates subtly different booleans controlling whether port randomization is enabled for a given connection.
IPv6 Phantom Selection bug that allows selection of IPv4 phantom when the number of IPv4 phantoms is sufficiently small.changing this requires a new client Library version as it changes the phantom selection and we will need to support the old version still in order to be backward compatible.refraction-networking/gotapdance#147