Details
-
New Feature
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
New authentication plugin from MDEV-32618 would be able to do one round-trip less if the client would be able to preset salt. Client plugin structure has an options() method for that, but C/C never invokes it. This task is to correct it.
Q: How should plugin option support work? We don't have to stick to the existing method signature, as it was never used before. Can we have truly pluggable options as in the server? Shall every client hard code options that it knows about?
A: the current signature
int options(const char *option, const void *); |
is good enough. It is difficult to make client options fully integrated into the client the way they're integrated into the server, but a sufficiently useful implementation could look, for example, like
mariadb --plugin-option=dialog:token:foobar
|
meaning, the client only needs to implement one option, and it'll later call dialog->options("token", "foobar"). This is unambiguous, because plugin name and option name cannot contain colons, and everything after the second colon is a value even if it contain further colons.
Attachments
Issue Links
- relates to
-
MDEV-32618 PARSEC Authentication Plugin
- Closed