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

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

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

            julien.fritsch The fix has been pushed and is being tested. As result of testing additional changes are made. So far it's like disabling certain irrelevant tests.

            Lawrin Lawrin Novitsky added a comment - julien.fritsch The fix has been pushed and is being tested. As result of testing additional changes are made. So far it's like disabling certain irrelevant tests.

            Seemingly all is fine by now. One issue, that was found, has been fixed by Sergey, so it's waiting for other things to be finished.

            Lawrin Lawrin Novitsky added a comment - Seemingly all is fine by now. One issue, that was found, has been fixed by Sergey, so it's waiting for other things to be finished.

            Please review the code for this MDEV

            Lawrin Lawrin Novitsky added a comment - Please review the code for this MDEV

            Looks good. Please, squash commits b3dc4ae9075, 67dc9e712b1, cb0bb395b80 into one and push.

            serg Sergei Golubchik added a comment - Looks good. Please, squash commits b3dc4ae9075, 67dc9e712b1, cb0bb395b80 into one and push.

            In versions, where sql service is present, i.e. from 10.6, the code from this MDEV depends on the code in linked MDEV-29514

            Lawrin Lawrin Novitsky added a comment - In versions, where sql service is present, i.e. from 10.6, the code from this MDEV depends on the code in linked MDEV-29514

            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.