Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-29490

rename internally used client API to avoid name conflicts with C/C

    XMLWordPrintable

Details

    Description

      MariaDB server has remnants of libmysqlclient used internally (for replicaiton, CONNECT, Federated, Spider, etc).

      Connector/C has many symbols with exactly same names, so if a server would load libmariadb.so, directly or indirectly, one can get symbols mixed up, causing problems.

      A possible scenario — server loads CONNECT engine (ha_connect.so), the latter uses ODBC to connect to another MariaDB server. ODBC library loads MariaDB Connector/ODBC driver, and that driver is dynamically linked with libmariadb.so. A possible outcome — ODBC could use mysql_connect from libmariadb.so to connect, but mysql_close from the server to disconnect. Or vice versa.

      To avoid these problems the internal server implementation of the client API should be renamed.

      Attachments

        Issue Links

          Activity

            People

              Lawrin Lawrin Novitsky
              serg Sergei Golubchik
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

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