Commit Graph

18 Commits

Author SHA1 Message Date
78e3556787 reintroduced ClientInfo because it does appear to work.
Most likely some error elsewhere caused it not to work previously
2024-09-08 11:16:49 +02:00
28b2545163 test for connecting clients and bidirectional communication to agent.
Required lots of rework since the GOBChannel appeared to be reading
ahead of the data it actually needed. Now using more low-level IO
to send the clientId over to the agent instead.
2024-09-08 11:16:49 +02:00
465dc1108f protocol version test implemented between agent and server (and found
that it did not work)
2024-09-08 11:16:49 +02:00
ea0b4282ba test for ListenForAgentEvents implemented. 2024-09-08 11:16:49 +02:00
7b7827824e added initialization test 2024-09-08 11:16:49 +02:00
00dd0d17c6 hostkey is now sent from the server to the agent so that at a later
stage we can make the hostkey conrfigurable at the server level instead
of using a fixed hardcoded key.
2024-09-08 11:16:49 +02:00
f3d0074f17 added environment info from the client. 2024-09-08 11:16:49 +02:00
2366b78e95 ClientId is now a string instead of an int. 2024-09-08 11:16:49 +02:00
cd953c5edf eliminated the username. 2024-09-08 11:16:49 +02:00
Erik Brakkee
d109c72f66 removed password based access
authorized keys can now be modified within the session.
keep last set of keys when no valid keys were found and keys are changed during the session .
2024-09-08 11:16:49 +02:00
adee89cc08 Now by default wsproxy uses a specific protocol to establish connections to the server. It does this by adding the ?wsproxy query parameter.
The server then sends it the protocol version and the client connection info describing whether an agent was found or not. This improves usability for users.

With the --raw option it bypasses this query parameter and wsproxy then works in the old way as a simple stdio-websocket connector. It then still works with converge server but can also be used for simple websocket troubleshooting.
2024-09-08 11:16:49 +02:00
Erik Brakkee
882f97fa17 many small changes
* removed the Async utility
* now using Ping message to webclient for keep alive instaed of actual content
* added remote shell to AgentInfo
* retry of connections to the agent
* better logging for SynchronizeStreams
2024-09-08 11:16:49 +02:00
60d641a1a4 When a duplicate id is requested the server now allocates a new unique id so that the session can be handled anyway. 2024-09-08 11:16:49 +02:00
816e8d8609 refactoring towards being able to send events from Admin to UI (websocket) without exposing connection info but only metadata. 2024-09-08 11:16:49 +02:00
788050df32 Unique ids for clients generated by converge server and made available to the ssh session through a net.Conn extension that passes the ID to the SSH session through the LocalAddr(). 2024-09-08 11:16:49 +02:00
9d0675b2f2 initialization of username, password on client (from server) and initialization of agentinfo on server is now done as soon as the agent registered and not through a side channel.
Making use of some simple utilities for GOB to make it easy to send objects over the line.
2024-09-08 11:16:49 +02:00
ada34495ef GOB channel for easily and asynchronously using GOB on a single network connection, also dealing with timeouts and errors in a good way.
Protocol version is now checked when the agent connects to the converge server.

Next up: sending connection metadata and username password from server to agent and sending environment information back to the server. This means then that the side channel will only be used for expiry time messages and session type with the client id passed in so the converge server can than correlate the results back to the correct channel.
2024-09-08 11:16:49 +02:00
Erik Brakkee
d839583f7b communication between agent and server. Removed the flags libray for command-line parsing.
Heartbeat mechanism from client to server over the custom connection for sending events to guarantee that the connectoin stays up.
2024-09-08 11:16:48 +02:00