Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Delphi Athena + Indy10 + Ubuntu 22.04.4 #532

Open
arnyziukas opened this issue Apr 22, 2024 · 4 comments
Open

Delphi Athena + Indy10 + Ubuntu 22.04.4 #532

arnyziukas opened this issue Apr 22, 2024 · 4 comments
Labels
Element: Operating System Issues related to specific Operating Systems Element: SSL/TLS Issues related to SSL/TLS handling, TIdSSLIOHandlerSocketBase and descendants Status: More Info Needed Issue needs further information to continue progress Type: Question Issue is asking a question, or requesting support/clarity

Comments

@arnyziukas
Copy link

Hi,

I have been converting a small project to work in Linux environment.

The issue is loading SSL libraries. Last error says that it fails to load "libcrypto.so" any thoughts/suggestion?
I'm relatively new to Linux environment so it might just be me doing something wrong.

Delphi Athena 12.1
Ubuntu 22.04.4

Kind regards,
Arnoldas

@arnyziukas arnyziukas added Status: Reported Issue has been reported for review Type: Question Issue is asking a question, or requesting support/clarity labels Apr 22, 2024
@rlebeau
Copy link
Member

rlebeau commented Apr 23, 2024

Indy natively supports OpenSSL only up to 1.0.2u (see #183). Chances are that libcrypto.so and libssl.so on your Linux machine are symlinks to a newer OpenSSL version. If so, Indy will fail to load OpenSSL.

You can call IdOpenSSLSetCanLoadSymLinks(false) during your app startup to avoid loading those symlinks. Then Indy will try to load specific versions of the .so files (ie, libcrypto.so.1.0.2u and libssl.so.1.0.2u) until successful, so make sure some version of those files exist on your machine. If needed, you can use IdOpenSSLSetLibPath() to specify the folder where those files exist, if different than your app folder.

Indy will try to load version-specific OpenSSL .so files in this order (including with and without a..z suffixes):

.10
.1.0.2
.1.0.1
.44 // for LibreSSL on MacOSX
.43 // for LibreSSL on MacOSX
.35 // for LibreSSL on MacOSX
.1.0.0
.0.9.9
.0.9.8
.0.9.7
.0.9.6

@rlebeau rlebeau added Element: SSL/TLS Issues related to SSL/TLS handling, TIdSSLIOHandlerSocketBase and descendants Element: Operating System Issues related to specific Operating Systems labels Apr 23, 2024
@arnyziukas
Copy link
Author

Hi rlebeau,

Thank you for your response.
That explains it, I am pretty sure the machine has OpenSSL 1.1.x .

Any recommendations where I could download just the 1.0.2 binaries for Linux environment? ( saw there's Windows and Android binaries offered in another Repository, but not sure if Android binaries are the same )

Kind regards,
Arnoldas

@rlebeau
Copy link
Member

rlebeau commented May 4, 2024

Indy's OpenSSL Binaries repo has Android .so files for OpenSSL 1.0.2g and 1.0.2s.

@rlebeau
Copy link
Member

rlebeau commented Jun 19, 2024

Did this fix the issue for you?

@rlebeau rlebeau added Status: More Info Needed Issue needs further information to continue progress and removed Status: Reported Issue has been reported for review labels Jul 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Element: Operating System Issues related to specific Operating Systems Element: SSL/TLS Issues related to SSL/TLS handling, TIdSSLIOHandlerSocketBase and descendants Status: More Info Needed Issue needs further information to continue progress Type: Question Issue is asking a question, or requesting support/clarity
Projects
None yet
Development

No branches or pull requests

2 participants