noports
noports copied to clipboard
NPT Request & Implement "multi" session support in C
Is your feature request related to a problem? Please describe.
- Recently we added "multi" support in the Dart client, daemon and srv - allowing for client and daemon to co-ordinate in creating multiple socket pair connections via the rvd (which already supported this behaviour)
Describe the solution you'd like
- The C daemon and srv should also support this feature
Describe alternatives you've considered
No response
Additional context
See also an addition to the feature proposed in this ticket
Suggesting this as P3 as it is not needed for our first release of the C daemon/srv
I don't forsee us doing / needing this in the near future, moving to backlog
Making 8 SP, and moving to triage, let's discuss whether we focus on adding this now, or really focus on getting ssh_request more robust first (my guess is we will focus on the latter).
@realvarx in C right now only _daemonSideSingle is implmented from https://github.com/atsign-foundation/noports/blob/trunk/packages/dart/noports_core/lib/src/srv/srv_impl.dart
To start, srv needs to add support for --multi, and use the _daemonSideMulti approach when --multi is enabled. This can be tested by building and running with the dart sshnpd.
You can test by running npt, npt requests use --multi.
Note that to test properly, sshnpd will need to run with your development C version of srv, but npt will need to run with the dart srv, since the C version of srv doesn't support features need for npt / sshnp.
Then we have to add the npt request flow from dart sshnpd into C sshnpd, most of which should be similar to the ssh request which is already implemented in the C sshnpd.