Uploaded image for project: 'MariaDB Connector/C'
  1. MariaDB Connector/C
  2. CONC-705

support plugin->options() method

    XMLWordPrintable

Details

    • New Feature
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • None
    • 3.4
    • 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

          Activity

            People

              georg Georg Richter
              serg Sergei Golubchik
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.