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

              Assignee:
              Lawrin Lawrin Novitsky
              Reporter:
              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.