Spec-Zone.ru › MySQL Connectors 1.0

8.3 Connector/ODBC и приложение оба используют OpenSSL

Если Connector/ODBC подключается к серверу MySQL безопасно, а приложение, использующее это подключение, само обращается к библиотеке OpenSSL, приложение может выйти из строя, так как в этом случае будут использоваться две копии библиотеки OpenSSL.

Примечание

Connector/ODBC 8.0 и более поздние версии связываются с OpenSSL динамически, в то время как более ранние версии Connector/ODBC связываются со статически. Это решает проблемы, связанные с использованием двух копий OpenSSL из одного приложения.

Примечание

Протоколы подключения TLSv1.0 и TLSv1.1 были устаревшими в Connector/ODBC 8.0.26 и удалены в версии 8.0.28.

Примечание

См. также параметр подключения tls-versions.

Чтобы предотвратить проблему, в вашем приложении не допускайте одновременной инициализации OpenSSL в одном потоке и открытия подключения Connector/ODBC в другом потоке (что также инициализирует openSSL). Например, используйте мьютекс для обеспечения синхронизации между вызовами SQLDriverConnect() или SQLConnect() и инициализацией openSSL. Кроме того, если возможно, выполните следующее:

  • Используйте сборку Connector/ODBC, которая связывается (статически или динамически) с версией библиотеки libmysqlclient, которая в свою очередь динамически связана с той же библиотекой OpenSSL, к которой обращается приложение.

  • При создании сборки Connector/ODBC, которая связывается (статически или динамически) с версией библиотеки libmysqlclient, которая в свою очередь статически связана с библиотекой OpenSSL, НЕ экспортируйте символы OpenSSL в вашу сборку. Это предотвращает неправильное разрешение символов приложения; однако это не предотвращает другие проблемы, возникающие при запуске двух копий кода OpenSSL в одном приложении.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/connector-odbc-en/connector-odbc-both-openssl.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API