-
Notifications
You must be signed in to change notification settings - Fork 74
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
Closed
Feature/tunneling #1126
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
# Conflicts: # keepercommander/commands/discoveryrotation.py
# Conflicts: # requirements.txt
…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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix tests and clean up the code a little
you can close this one and open a new one if you need to.