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
CONJ 164 plugin implementation #22
Conversation
Adds MySQLServerCapabilities.PLUGIN_AUTH to the default capabilities of the client. Correctly decodes server announced capabilities by reading the second short value representing the high values. Parses out the plugin name from the server protocol. Correctly produces a MySQLClientAuthPacket based on server capabilities and extends this to potentially allow for other client authentication plugins in future.
…_password. dialog partially there
|
thanks for mergin will failover version, there was a lot to do ! |
|
after checking dialog plugin needs a bit more work. I'll try to add test cases too. |
|
Seem's good ! Maybe the "processPlugin" method can be put in a new Object like MySQLGreetingReadPacket ? MySQLProtocol is big enough :) So, i'll wait for change on dialog and test cases, or maybe you can send a new request without the dialog part as first Request, i will add test cases ? |
|
Added the bits to plugin dialog to correct it, but still needs a callback
Yes. I imagine once https://dev.mysql.com/doc/connector-j/en/connector-j-reference-configuration-properties.html (defaultAuthenticationPlugin) is implemented a consistent form for the rest of the plugins would be a obvious.
Is what's here now acceptable?
Sounds good. Here is what I did for a python implementation also extending the client implementation to support plugins which does include tests. PyMySQL/PyMySQL/pull/353 INSTALL PLUGIN two_questions SONAME 'dialog_examples'; INSTALL PLUGIN three_questions SONAME 'dialog_examples'; |
|
Thanks for you contribution daniel. Similar to other open source projects, the MariaDB Foundation needs to have shared ownership of all code that is included in the MariaDB distribution. The easiest way to achieve this is by submitting your code under the BSD-new license. Please indicate in a comment below that you are contributing your new code of the whole pull request, including one or several files that are either new files or modified ones, under the BSD-new license or that you have filled out the contribution agreement and sent it. diego. |
|
take it under the BSD-new license |
|
Close since this part has been totally rewritten, and functionnality implemented |
Added plugin implementation for mysql_clear_password and mysql_native_password. dialog partially there.