Initial support for interface binding #309
Draft
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.
Currently a draft, this is "working" sort of when you pass the interface to the tracker, without passing the interface and binding to it, it announces the wrong thing. As such setting initial-peer will work, but no trackers will see the client.
I haven't really proof read any of the changes yet, this is just so I can get help with the main issue.
Additionally this PR makes changes to how tcp port binding works. if a user wishes to select a single port (IE. port forwarding) we can easily do this by passing the port..port + 1 due to how ranges work. the changes are purely convenience. Min port being greater then max port will give a range with nothing in it, so doing this will at least pass a single port, but perhaps throwing a warning or even an error would be better.
the second one I am really struggling with as it seems like it may require quite a bit of things to change.
addresses #304