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
- causes
-
MDEV-30102 file missing in development libraries
- Closed
- relates to
-
MDEV-29514 Extend plugin's SQL service with missing functions
- Closed