Skip to content

Comments

change selector Path() member function signature#1

Open
benthor wants to merge 10 commits intomatzf:panfrom
netsys-lab:pan-selector-suggestion
Open

change selector Path() member function signature#1
benthor wants to merge 10 commits intomatzf:panfrom
netsys-lab:pan-selector-suggestion

Conversation

@benthor
Copy link

@benthor benthor commented Nov 2, 2021

The SetPaths signature already implies that different []*Path sets can be registered for different remote UDPAddres, in theory allowing one given Selector to select paths to a number of different remote hosts. However, this only works, if the current remote UDPAddr in question is passed as argument to the Path() method.

This PR changes the Selector interface accordingly and already reflects this change all existing selector implementations.

matzf and others added 10 commits October 20, 2021 16:05
Implementation of the pan package.
Extend helloworld example and port to pan.
Using a single quic stream is common in our demo applications.
Add a utility function for this, extracted from previous internal
implementation in shttp.
Compared to previous version in shttp, the listener is now more robust.
Previously, if a remote session was opened without ever opening a
stream, this would have blocked the listener Accept indefinitely.
- update pty dependency (old version is broken for go >= 1.15)
- when executing a command, don't set Uid/Gid if the selected user
  is already the current user. Only appears to work when sshd is run
  with root otherwise.
- redo the path policy and selector configuration, now based on pan.
  Make more useful selectors available.
- misc fixes and cleanup related to logging and error handling
Replaced remaining usages of appquic with pan.
Put the useful "generate self-signed certificate" thing into a new
package, quicutil.

Single stream quic "protocol" was first located in pan. Moved to
quicutil now as it's independent and more of a utility for the "TCP-y"
demo applications.
Also, important (and incompatible) fixes for this single stream
protocol. Now either side can start sending, plus it can now reliably
close. This stuff is delicate, it should have lots of tests -- but i
don't quite know how to do this best.

Updated various usages of the "single stream" protocol.
Removed the long list of supported protocols in netcat again -- that was
a bit of a brain fart. The delicate handling of the quic streams is
enough of a protocol to warrant having a dedicated identifier.

Updated netcat QUIC integration tests (dont need the -b now!)

Fixed netcat UDP closing (panic, write on closed channel).
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

Successfully merging this pull request may close these issues.

2 participants