-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
[release/6.0] Add dynamic shim for SSL_CTX_set_options and SSL_set_options #67145
Conversation
This works around ABI breaking change made between OpenSSL 1.1 and 3.0 where argument type and return type was changed from unsigned long to uint64_t, which caused issues on arm32 architectures with OpenSSL 3.0 installed.
Co-authored-by: Jeremy Barton <[email protected]>
Co-authored-by: Tomas Weinfurt <[email protected]>
Tagging subscribers to this area: @dotnet/area-system-security, @vcsjones Issue DetailsBackport of #67030 to release/6.0 /cc @rzikm Customer ImpactTestingRiskIMPORTANT: If this change touches code that ships in a NuGet package, please make certain that you have added any necessary package authoring and gotten it explicitly reviewed.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shim-owner hat: Code diff LGTM.
Infrastructure hat: There's no packaging impact for the shim (shared runtime).
@rzikm Please fill out the servicing template in the top post. |
Windows CI leg failures unrelated ( |
@danmoseley this is blocking Ubuntu 22.04 arm32 support -- which patch does it need to get in? |
Backport of #67030 to release/6.0
Closes #66310
/cc @rzikm
Customer Impact
An API-breaking change in OpenSSL between 1.1 and 3.0 versions leads to
SslStream
being unusable on 32-bit platforms with OpenSSL 3.0 or higher (e.g. upcoming Ubuntu 22.04). This transitively affects all facilities built on top ofSslStream
, like HTTPS, and by extension, it prevents basic functionality likedotnet restore
from working, making .NET effectively unusable on affected platforms.Testing
Validated the fix on locally built runtime from this PR and the repro app from the original issue.
Risk
Low - CI run passes on Linux platforms and was the change was manually tested on the configuration affected by the issue.