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

Feature/tunneling #1126

Closed
wants to merge 48 commits into from
Closed

Feature/tunneling #1126

wants to merge 48 commits into from

Conversation

miroberts
Copy link
Contributor

Fix tests and clean up the code a little

you can close this one and open a new one if you need to.

maksimu and others added 30 commits July 26, 2023 14:14
Implementing secure AWS Gateways (via WebSockets) for our port forwarding tunnel functionality. This includes the creation of numerous modules to handle different aspects of the connection process, including establishing, disconnecting, and monitoring the connection. The additional functionality improves tunnel security and allows for greater flexibility in client-server communication. Notably, connection configurations now can be securely stored in DynamoDB, improving connection reliability. Sharing public keys between endpoints is also now supported.
The read buffer size in endpoint.py has been increased to improve performance during key exchanges. Additional logic has been added in tunnel_connected.py to better handle JSON frames. Logging statements and print statements were also added for debugging purposes. The changes made in discoveryrotation.py were mostly comments and print statements for better code comprehension and traceability.
… JSON handling

Increased the read buffer size in endpoint.py to enhance performance during key exchanges. Added better handling of JSON frames in tunnel_connected.py. Included debugging-oriented print statements and logs. Updated discoveryrotation.py for improved code comprehensibility and traceability.
This commit modified the print statement for the endpoint in order to increase readability and clarity. The name of the endpoint is now highlighted separately to make it more distinguishable in the output.

Additionally, a new command has been registered, 'tunnel', in discoveryrotation.py. This is a PAMTunnelCommand which will help manage tunnels for the application. However, some features of this command are still under development as indicated by the commented lines. This new command broadens the functionality of our application, specifically providing more control over the tunneling feature.
This commit refactors the management of "tunnel" processes in `keepercommander`, moving from a dictionary-based system to a threading-based system for enhanced performance and efficiency. Additionally, a new feature has been incorporated which allows for the tailing of a tunnel process. This can enable greater transparency and monitoring capabilities for active tunnels. Now, each tunnel has an associated log queue which stores log entries for that specific tunnel.
miroberts and others added 16 commits October 19, 2023 12:54
# Conflicts:
#	keepercommander/commands/discoveryrotation.py
* Update APIRequest proto
…on.py"

This update introduces more user-friendly and graceful exits when conflicting Python versions are identified. Rather than raising a RuntimeError, it now prints out a warning message and exits. This commit also brings new logic to handle retrieval of Public Keys for given gateway_uid, which aids in ensuring the security measures for the system. If Public Key isn't found, a warning is printed and process halts preventing further complications.
# Conflicts:
#	keepercommander/commands/discoveryrotation.py
#	keepercommander/commands/tunnel/port_forward/endpoint.py
#	keepercommander/commands/tunnel/port_forward/tunnel.py
#	keepercommander/commands/tunnel/port_forward/tunnel_connected.py
#	requirements.txt
#	unit-tests/pam-tunnel/test_pam_tunnel.py
#	unit-tests/pam-tunnel/test_private_tunnel.py
#	unit-tests/pam-tunnel/test_public_tunnel.py
@miroberts miroberts requested a review from sk-keeper November 7, 2023 16:33
@miroberts miroberts closed this Nov 7, 2023
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.

3 participants