Re: [PECL-DEV] mysqlnd authentication plugin: mysqlnd_ed25519

[email protected] (Andrey Hristov) Thu, 24 Jul 2025 22:23:57 +0300
Newsgroups php.pecl.dev
Message-ID <[email protected]>
  Hallo Georg,
there are some inconsistencies in the indentation in mariadb_ed25519_auth()

You might take a look at 
https://github.com/php/php-src/blob/master/ext/mysqlnd/mysqlnd_auth.c :: 
mysqlnd_caching_sha2_handle_server_response(). mysqlnd's auth plugin 
design was finished without support for chatty auth plugins, so the 
solution there is not the cleanest but works.

LG,
Andrey

On 24.07.25 г. 11:44 ч., Georg Richter wrote:
> Hi,
> 
> I would like to upload a new package for mysqlnd ed25519 authentication 
> to PECL
> 
> Currently, PHP can only connect to MariaDB servers using the 
> mysql_native_password authentication plugin, which relies on SHA-1. 
> SHA-1 is considered insecure, as noted in RFC 6194, 9155, 9157, RFC 
> 9157, NIST SP 800-131A, etc.
> 
> This module provides an authentication plugin (ed25519) that uses 
> libsodium for authentication, allowing PHP clients to authenticate 
> against MariaDB servers using Ed25519 instead of SHA-1.
> 
> The new package, mysqlnd_ed25519, is currently hosted here: https:// 
> github.com/9EOR9/mysqlnd_ed25519.git <https://github.com/9EOR9/ 
> mysqlnd_ed25519.git>
> 
> Also support for the MariaDB PARSEC authentication plugin is planned. 
> However, implementing it requires additional round trips, and the 
> current mysqlnd plugin API does not seem to support multiple round trips 
> without accessing mysqlnd’s internal functions. If anyone has experience 
> implementing a mysqlnd authentication plugin that requires extra round 
> trips, I would greatly appreciate advice or examples.
> 
> Please let me know if there are any objections to uploading this to PECL 
> or if you have questions or suggestions.
> 
> About me:
> 
> I am a member of MariaDB’s Connector team and a retired author/ 
> maintainer of PHP’s mysql, mysqli, mysqlnd, and ncurses extensions, as 
> well as a retired member of the PHP documentation team.
> 
> Best regards,
> Georg Richter
> 
> -- 
> Georg Richter, Staff Software Engineer
> Client Connectivity
> MariaDB Corporation Ab