The OpenSSL team selected its 1.0.2 series for long term support. However, looking ahead for other parts of our application (in Rad Studio [C++Builder] 2007), we've already adopted the OpenSSL 1.1 series -- which has differently named DLLs (libcrypto-1_1.dll & libssl-1_1.dll replace libeay32.dll & ssleay32.dll).
What are your plans for UniDac (particularly the MySQL provider) to support the new DLLs?
Support OpenSSL 1.1 DLL names?
Re: Support OpenSSL 1.1 DLL names?
UniDAC uses the following OpenSSL libraries names: libeay32.dll and ssleay32.dll. This behavior has been already used for many years by our users, who use various library versions. Therefore, we cannot change this behavior.
To solve the issue, you can rename libcrypto-1_1.dll and libssl-1_1.dll into libeay32.dll and ssleay32.dll correspondingly.
To solve the issue, you can rename libcrypto-1_1.dll and libssl-1_1.dll into libeay32.dll and ssleay32.dll correspondingly.
Re: Support OpenSSL 1.1 DLL names?
Because of their interdepencies, the DLLs cannot be renamed.
Per https://www.openssl.org/policies/releasestrat.html the OpenSSL group will support the 1.0.2 API and DLL names through December 2019. Between now and then, they will choose a 1.1.X branch to become the next Long-Term-Support release. The 1.1 branches all use the new DLL naming convention.
What is your strategy for compatibility?
Per https://www.openssl.org/policies/releasestrat.html the OpenSSL group will support the 1.0.2 API and DLL names through December 2019. Between now and then, they will choose a 1.1.X branch to become the next Long-Term-Support release. The 1.1 branches all use the new DLL naming convention.
What is your strategy for compatibility?
Re: Support OpenSSL 1.1 DLL names?
To solve the issue, please try to set the LIBEAY32DLL and SSLEAY32DLL global variables from the CRVioTcpSSL unit to the required values. For example:
Code: Select all
initialization
LIBEAY32DLL := 'libcrypto-1_1.dll';
SSLEAY32DLL := 'libssl-1_1.dll';
Re: Support OpenSSL 1.1 DLL names?
Overriding LIBEAY32DLL and SSLEAY32DLL is an excellent feature for anyone needing to install the OpenSSL 1.0 ssleay32.dll under a different name.
However, attempting to use the 1.1 DLL names results in an "SSL function is not linked..." exception, so I suspect the OpenSSL 1.0 and 1.1 API's produce entry points that differ just enough that the CRVioTcpSSL unit cannot recognize the latter.
However, attempting to use the 1.1 DLL names results in an "SSL function is not linked..." exception, so I suspect the OpenSSL 1.0 and 1.1 API's produce entry points that differ just enough that the CRVioTcpSSL unit cannot recognize the latter.
Re: Support OpenSSL 1.1 DLL names?
You can use MyDAC with SecureBridge components to connect to MySQL database, using SSL or SSH protocol. SecureBridge uses its own implementation of the SSL protocol without using third-party libraries.
You can obtain information about connecting to MySQL server using SSL or SSH in our documentation: https://www.devart.com/mydac/docs/?secu ... ctions.htm You can see an example of MyDAC and securebridge coworking in demo projects: %MyDACDemos%\TechnologySpecific\securebridge, where %MyDACDemos% is MyDAC of demo projects an installation path on your computer.
You can obtain information about connecting to MySQL server using SSL or SSH in our documentation: https://www.devart.com/mydac/docs/?secu ... ctions.htm You can see an example of MyDAC and securebridge coworking in demo projects: %MyDACDemos%\TechnologySpecific\securebridge, where %MyDACDemos% is MyDAC of demo projects an installation path on your computer.