Bug #105264 | Report plugin API versions if there is a mismatch and document API changes | ||
---|---|---|---|
Submitted: | 19 Oct 2021 18:23 | Modified: | 21 Oct 2021 15:38 |
Reporter: | Simon Mudd (OCA) | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: Pluggable Authentication | Severity: | S4 (Feature request) |
Version: | 8.0.27 | OS: | Any |
Assigned to: | CPU Architecture: | Any | |
Tags: | authentication, document API versions, PAM |
[19 Oct 2021 18:23]
Simon Mudd
[20 Oct 2021 11:37]
MySQL Verification Team
reason for bumping the version was: https://github.com/mysql/mysql-server/commit/291957dddd5d1800dc7aead2e3721a52f97c9278 WL#14183: Support for MFA(multi factor authentication) and fido autheā¦ I suppose the error message could include the min required version and what was found. Although the API versions don't have any relevance to the MySQL Version, not sure what good it would be in an error message. Release notes could indicate the API version was bumped up.
[21 Oct 2021 8:30]
Georgi Kodinov
Posted by developer: Unfortunately there's no way to keep multiple versions of the plugin APIs operational. This is possible with the component API which I strongly suggest you consider looking into. I also do not think it's useful to be displaying plugin API versions and I sincerely doubt you are using just published plugin APIs and not server symbols in your plugins. All that is left from this bug is the request to document changes to plugin APIs. Thus converting into a docs bug.
[21 Oct 2021 15:38]
Simon Mudd
https://dev.mysql.com/worklog/task/?id=2761 (WL#2761: MySQL plugin interface) is quite an interesting read. - Potentially you could have created a new interface. - Potentially the server side handler knows the client API version so could maintain an interface the client can understand. In practice with the MySQL plugin interface that may be possible. - A breaking change such as this one, even if not intentional seems to imply that you don't believe users use your plugin interfaces for their own code. Many users may not or have no interest or desire to do that but this is a vaguely public interface and not considering potential existing users is impolite. Oracle provides Critical Patch Update notifications with their new version and such changes make it impossible to apply the updates if they are considered worth following so that is doubly unhelpful. e.g. https://www.oracle.com/security-alerts/cpuoct2021.html#AppendixMSQL So yes technically it's a documentation bug which is trivial to fix, but in practice this is a security update impediment if such interfaces are actually being used.