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

OpenSSL functions API Deprecated #327

Open
Libaud opened this issue Oct 31, 2020 · 6 comments · May be fixed by #299
Open

OpenSSL functions API Deprecated #327

Libaud opened this issue Oct 31, 2020 · 6 comments · May be fixed by #299
Labels
Element: SSL/TLS Issues related to SSL/TLS handling, TIdSSLIOHandlerSocketBase and descendants Status: Pending Issue is pending external update or release Status: Review Needed Issue needs further review to decide next status

Comments

@Libaud
Copy link

Libaud commented Oct 31, 2020

Hi,
Open SSL API (Version 1.1 and more) functions evolve and :

  • OpenSSL_add_all_ciphers ;
  • OpenSSL_add_all_digests ;
    are deprecated !. They was replace by OPENSSL_init_crypto. There's another API functions how can't by used in the last released of Open SSL. In fact this makes Indy components unusable !
    On Linux lib's are available in different directory but generally for debian and derived in /usr/lib/x86_64-linux-gnu. A way to bypass this problem is to define the path at code start with: "IdOpenSSLSetLibPath('/usr/lib/x86_64-linux-gnu/');".
    And I'm suggesting that functions API constants was put in inc file for more efficiently code management.
@Libaud
Copy link
Author

Libaud commented Oct 31, 2020

To complete the issue the stable and LTS Open SSL release is the 1.1.1g until to 2023. And the next future major release is the 3.0.0. Reference is here : https://www.openssl.org/policies/releasestrat.html.

@SlMaker
Copy link

SlMaker commented Oct 31, 2020

Indy has no official support for 1.1.* yet, see #299
So it doesn't make sense to update the official Indy repo code which uses on OpenSSL version which is EOL since almost a year...

@Libaud
Copy link
Author

Libaud commented Nov 1, 2020

All system's (Windows, OSX, Linux...) was upgraded for security reasons and others !

Upgrade components and others make sens !

@rlebeau
Copy link
Member

rlebeau commented Nov 2, 2020

As SlMaker said, Indy's standard OpenSSL IOHandler does not support OpenSSL 1.1.x, which made major and sweeping API changes that break backwards compatibility. There is a separate pull request, #299, to add 1.1.x support to Indy. It just hasn't been reviewed and merged into the main codebase yet.

@mezen
Copy link
Contributor

mezen commented Nov 3, 2020

@Libaud as @SlMaker and @rlebeau already said there is the PR #299 which fixes all you want. When OpenSSL 3.0.0 is released, I will check for supporting that aswell.

@Libaud
Copy link
Author

Libaud commented Nov 3, 2020

@mezen I think that you understood the issue. Because for the moment the 1.1.1 is the stable and long term service release for Open SSL. The 3.x is on dev for a long time I think.
I've made my test with the last dev snapshot of Indy Components and different release of 1.1x of Open SSL from the official website with a Linux platform. Except to prove me otherwise it doesn't work.
I understand that it's not easy to devs to follow evolution of different OS or systems. But Delphi or other would target Linux and it's not new. I understand too that Indy is not necessarily your priority but even for Open Source code quality and stability is very important.
If necessary I could help...

@rlebeau rlebeau linked a pull request May 20, 2021 that will close this issue
@rlebeau rlebeau added the Element: SSL/TLS Issues related to SSL/TLS handling, TIdSSLIOHandlerSocketBase and descendants label May 20, 2021
@rlebeau rlebeau added Status: Pending Issue is pending external update or release Status: Review Needed Issue needs further review to decide next status labels Apr 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Element: SSL/TLS Issues related to SSL/TLS handling, TIdSSLIOHandlerSocketBase and descendants Status: Pending Issue is pending external update or release Status: Review Needed Issue needs further review to decide next status
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants