Skip to content

Fix the compilation failure issue on macOS for Delphi#13

Open
delphilite wants to merge 11 commits into
geby:masterfrom
delphilite:master
Open

Fix the compilation failure issue on macOS for Delphi#13
delphilite wants to merge 11 commits into
geby:masterfrom
delphilite:master

Conversation

@delphilite
Copy link
Copy Markdown
Contributor

Just ensuring successful compilation on the Delphi 12 Mac platform (OSX64, OSXARM64, iOSSimARM64, iOSDevice64), but detailed unit tests are still missing.

Comment thread synacode.pas
Comment thread ssl_yuopenssl11.pas
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this part of the commercial YuOpenSSL distribution? If so, I see no reason to duplicate it here.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the review.

ssl_yuopenssl11 is not intended as a copy of the existing YuOpenSSL distribution. It is a direct adaptation of ssl_openssl11 to the YuOpenSSL 1.x API, providing a more straightforward implementation with fewer dependencies than the current YuOpenSSL 3rd-party approach (ssl_openssl11 + ssl_yuopenssl11_lib).

More importantly, I consider these to be two different TLS backends:

  • ssl_openssl11 → OpenSSL dynamic libraries
  • ssl_yuopenssl11 → YuOpenSSL static libraries

The current YuOpenSSL integration modifies ssl_openssl11 and switches behavior via {$IFDEF YuOpenSSL}. I don't think backend selection should depend on compiler directives.

Instead, users should be able to explicitly choose the backend in their project:

uses
  ssl_openssl11;

or

uses
  ssl_yuopenssl11;

This keeps backend selection explicit, avoids hidden compile-time behavior changes, and aligns better with Synapse's plugin-based architecture.

For these reasons, I believe ssl_yuopenssl11 should exist as an independent plugin rather than extending ssl_openssl11 through conditional compilation.

Comment thread ssl_yuopenssl3.pas
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this part of the commercial YuOpenSSL distribution? If so, I see no reason to duplicate it here.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar to ssl_yuopenssl11, the goal is to provide a dedicated Synapse plugin for the YuOpenSSL 3.x backend. I believe backend selection should be done by choosing the plugin unit, not by compiler directives inside ssl_openssl11.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants