Skip to content
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

generalized port/IP rewriting #623

Open
cgull opened this issue Jun 8, 2015 · 3 comments
Open

generalized port/IP rewriting #623

cgull opened this issue Jun 8, 2015 · 3 comments

Comments

@cgull
Copy link
Member

cgull commented Jun 8, 2015

I count 10 issues and pull requests relating to handling port and/or IP address rewriting and unblocking.

These are almost invariably about IPv4 NAT modifying or blocking IP/port tuples at one end or the other. I could be a wag and shout "IPv6, already!", but I've already been doing that for 5 years, and we still haven't gotten past IPv4.

The problem that I see is that most of these issues/PRs address some narrow part of the problem specific to the reporter's network, and thus aren't broadly useful enough for inclusion into Mosh. I'd like to suggest that we come up with some more-general scheme for managing this issue.

My thoughts on this are ill-formed so far, but I have two ideas that I want to float:

  1. I think maybe we can abstract the needed capabilities into three four parts:
  • Specifying/modifying desired port/address
  • Actually binding to a remote port/address and obtaining network resources/connectivity (option to use external program for opening UDP sockets #469 has an interesting idea here)
  • Reporting/modifying the port/address actually selected
  • Closing/releasing the network resources
  1. I think adding scripting or command-execution hooks for some or all of these actions would go a long way towards a general solution.

All of this applies to both mosh-client and mosh-server.

@cgull
Copy link
Member Author

cgull commented Jun 26, 2015

I went over our issues and PRs to find things related to this issue.
Issues that are covered by this general concept:
#48, #469, #494, #537, #602
And PRs:
#287, #417, #497, #530, #572
The problems of port multiplexing and roaming between multiple server addresses touch on this as well.

@BrianRossmajer
Copy link

An observation: when I wrote the change for #572, I certainly felt that there were other similar PRs solving it differently, and it seemed to reduce to the lack of a server-side config file. The client-side config piggybacks on .ssh/config, but not completely. And my change was a small step to having server-side config within the ssh constraints as well.

@alinanorakari
Copy link

Has anything come of this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants