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

add support for MariaDB ED25519 plugin #998

Merged
merged 2 commits into from
Feb 25, 2025

Conversation

heavycrystal
Copy link
Contributor

@heavycrystal heavycrystal commented Feb 21, 2025

MariaDB doesn't support caching_sha2_password or sha256_password authentication plugins, and instead has a completely different client_ed25519 plugin, which uses a modified version of the ED25519 algorithm. MariaDB recommends using this over mysql_native_password.

This PR implements support for client_ed25519. The bulk of this PR is taken from go-sql-driver/mysql#1518 with the author's permission.

Co-authored-by: @Gusted

@lance6716 lance6716 requested a review from Copilot February 23, 2025 09:52

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 4 out of 5 changed files in this pull request and generated no comments.

Files not reviewed (1)
  • go.mod: Language not supported
Comments suppressed due to low confidence (1)

mysql/util.go:89

  • The new function 'CalcEd25519Password' should be covered by tests to ensure its correctness.
func CalcEd25519Password(scramble []byte, password string) ([]byte, error) {
@lance6716 lance6716 merged commit 5942cc6 into go-mysql-org:master Feb 25, 2025
15 checks passed
@dveeden
Copy link
Collaborator

dveeden commented Feb 25, 2025

@heavycrystal @lance6716 could we create some unit tests for this and maybe also have a MariaDB test in CI?

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