msquic icon indicating copy to clipboard operation
msquic copied to clipboard

Update to OpenSSL v3.3

Open nibanks opened this issue 1 year ago • 7 comments

nibanks avatar May 01 '24 17:05 nibanks

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 85.81%. Comparing base (56ef97b) to head (68529c4). Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4274      +/-   ##
==========================================
- Coverage   86.00%   85.81%   -0.20%     
==========================================
  Files          56       56              
  Lines       17354    17354              
==========================================
- Hits        14925    14892      -33     
- Misses       2429     2462      +33     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar May 01 '24 18:05 codecov[bot]

Seems all the 24.04 builds are failing for some reason

nibanks avatar Jul 17 '24 13:07 nibanks

This PR is blocked on linking to the built-in system libcrypto for Ubuntu 24.04. Apparently, the built in version hasn't been updated to a recent enough version to support dynamic linking from libssl v3.3. cc @wfurt

nibanks avatar Sep 03 '24 19:09 nibanks

According to GitHub copilot:

The error in the logs indicates multiple "undefined reference" issues related to OpenSSL functions, such as BIO_get_wpoll_descriptor, ossl_time_now, and OSSL_STACK_OF_X509_free, among others. These unresolved references suggest that the linker is unable to find the necessary implementations for these functions, which are likely part of the OpenSSL library.

Potential Fixes:

  1. Check OpenSSL Library Version: Ensure that the version of OpenSSL being linked against is correct. The functions referenced might belong to a specific version of OpenSSL (e.g., OpenSSL 3.x).
  2. Library Path Configuration: Verify that the library paths for OpenSSL are correctly set up in the build configuration files (e.g., CMakeLists.txt). Ensure that the linker can locate the correct libraries.
  3. Update Dependencies: Make sure all dependencies, including OpenSSL, are up to date and properly installed.
  4. Rebuild OpenSSL: If the custom build of OpenSSL is being used, make sure it is correctly built and all necessary components are included.

nibanks avatar Sep 28 '24 14:09 nibanks

These errors are only occurring when we build against the latest v3.3 release of quictls/openssl but statically link against the distro's libcrytpo. It seems there are breaking changes around these APIs for these versions.

cc @wfurt for possible suggestions on a path forward

nibanks avatar Sep 28 '24 14:09 nibanks

I'll take a look next week. I assume this fails on the Ubuntu 24?

wfurt avatar Sep 29 '24 00:09 wfurt

I'll take a look next week. I assume this fails on the Ubuntu 24?

It fails on 22.04 and 24.04.

nibanks avatar Sep 29 '24 13:09 nibanks