feat: add MySQL/MariaDB protocol class#62
Open
jgallagheriii wants to merge 1 commit into
Open
Conversation
0307579 to
9be85dc
Compare
GhostofGoes
suggested changes
May 27, 2026
GhostofGoes
left a comment
Contributor
There was a problem hiding this comment.
Some other requests:
- Has this been tested extensively against a OT device/system running MySQL? What SQL server instances has it been tested against (if you can share in open-source)
- Add references to new class to developer API documentation
- Add a documentation page dedicated to MySQL
9be85dc to
217291c
Compare
- MySQL wrapper around PyMySQL with lazy connection via conn property - Bound logger, __enter__/__exit__ context manager support - on_connected and enumerate hooks for subclass customization - Helper methods: get_databases, get_tables, get_table_row_count, get_users, get_grants, get_global_variables, get_process_list - read_greeting staticmethod for unauthenticated banner fingerprinting - Plain-function pytest suite covering all public methods and hooks Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
217291c to
c844009
Compare
Contributor
Author
This has not been tested against an OT device running MySQL. The implementation was validated against a standard MySQL instance running in Docker. The class is designed as a base class — device-specific subclasses are expected to override on_connected() and enumerate() to query proprietary tables relevant to a particular device. Testing against specific OT targets is left to those subclasses. |
Contributor
|
Add a GitHub Actions workflow that spawns a MySQL container and executes tests against it |
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
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.
Add MySQL/MariaDB protocol class
Description
Please include a summary of the changes made.
Related Issue
Closes #59
Checklist
Please check the following items as they're completed.
Completion of all checklist items signals to maintainers that a PR is fully ready for review.
CHANGELOG.rst