-
-
Notifications
You must be signed in to change notification settings - Fork 949
Nettacker code base major refactoring #863
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
Merged
Merged
Conversation
This file contains hidden or 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
This is a refactor of existing Nettacker code I've been working on recently. The (incomplete) list of changes:
- add pre-commit checks
- apply OOP approach to the application architecture
- consolidate common modules logic into a base class
- extract YAML parsing logic into a separate module
- fix some typos
- get rid of (not all) misused try/except blocks
- migrate to poetry, remove requirements.* files
- re-design configuration module
- re-design logging module
- split application logic into classes
- use `pathlib` for path related manipulations
- use context-based naming for variables, modules, directories, etc
- use module level imports (vs function level)
- use the base class for specific protocol libraries
8 tasks
As per request by Sam Stepanyan
| return None | ||
|
|
||
| try: | ||
| socket_connection = ssl.wrap_socket(socket_connection) |
Check failure
Code scanning / CodeQL
Default version of SSL/TLS may be insecure
Call to deprecated method ssl.wrap_socket does not specify a protocol, which may result in an insecure default being used.
| password = kwargs["password"] | ||
|
|
||
| connection = SSHClient() | ||
| connection.set_missing_host_key_policy(AutoAddPolicy()) |
Check failure
Code scanning / CodeQL
Accepting unknown SSH host keys when using Paramiko
Setting missing host key policy to AutoAddPolicy may be unsafe.
|
|
||
| @staticmethod | ||
| def log(text): | ||
| print(text, end="", flush=True) # noqa: T201 |
Check failure
Code scanning / CodeQL
Clear-text logging of sensitive information
This expression logs [sensitive data (password)](1) as clear text.
securestep9
approved these changes
Aug 24, 2024
10 tasks
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.
This is a refactor of existing Nettacker code I've been working on this spring/summer.
The (incomplete) list of changes:
pathlibfor path related manipulations