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

Add OpenSSL 3.0 support #63

Merged
merged 7 commits into from
Jul 19, 2023
Merged

Add OpenSSL 3.0 support #63

merged 7 commits into from
Jul 19, 2023

Conversation

jasonacox
Copy link
Owner

Closes #62

@jasonacox
Copy link
Owner Author

jasonacox commented Jul 18, 2023

Build successful:

OPENSSL="3.0.9"		# https://www.openssl.org/source/ 
LIBCURL="8.1.2"		# https://curl.haxx.se/download.html
NGHTTP2="1.55.1"	# https://nghttp2.org/
  cURL
curl 8.1.2 (x86_64-apple-darwin) libcurl/8.1.2 OpenSSL/3.0.9 zlib/1.2.11 brotli/1.0.9 zstd/1.5.5 libidn2/2.3.4 nghttp2/1.55.1
Release-Date: 2023-05-30
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS brotli HSTS HTTP2 HTTPS-proxy IDN IPv6 Largefile libz NTLM NTLM_WB SSL threadsafe TLS-SRP UnixSockets zstd

  OpenSSL
OpenSSL 3.0.9 30 May 2023 (Library: OpenSSL 3.0.9 30 May 2023)
Mon Jul 17 21:19:29 2023 - End

iOS Test Build Success

image image

Mac Catalyst Build Success

image image

@jasonacox
Copy link
Owner Author

Build Test Results:

  • Base Build build.sh
    • MacOS Apple Silicon Build - M1 - SUCCESS
    • MacOS Intel - Core i7 - SUCCESS
  • Mac Catalyst build.sh -m
    • MacOS Apple Silicon Build - M1 - SUCCESS
    • MacOS Intel - Core i7 - SUCCESS
  • SSLv3 + Catalyst build.sh -3 -m
    • MacOS Apple Silicon Build - M1 - SUCCESS
    • MacOS Intel - Core i7 - FAIL (MacOS Big Sur) -
    • tls/openssl.c:3467:18: error: implicit declaration of function 'SSLv3_client_method' is invalid in C99 [-Werror,-Wimplicit-function-declaration]

@jasonacox
Copy link
Owner Author

jasonacox commented Jul 19, 2023

Issue: When using the libraries built on a system that as a dynamic linked library for libidn2 (e.g. caused by brew install wget dependencies for example), the resulting framework will error when deploying to iOS targets (since the lib is not there).

Possible solutions:

  • On build host add --without-libidn2 to curl build configuration call.
  • Remove libidn2 via brew uninstall --ignore-dependencies libidn2

Updating libcurl-build.sh to disable libidn2.

@jasonacox jasonacox merged commit 45e8d7a into master Jul 19, 2023
2 checks passed
@jasonacox jasonacox deleted the openssl-3 branch July 19, 2023 13:40
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.

Build support for OpenSSL 3.0+
1 participant