Use latest versions of S2N-TLS and AWS-LC #470
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Update all submodules, including S2N-TLS and AWS-LC which we hadn't updated for a while due to AWS-LC changing the default visibility of symbols in static builds from "hidden" to "visible" (see aws/aws-lc#466)
ISSUE
This resulted in the symbols being visible in whatever application ultimately used libcrypto.a. If an application ALSO ended up using libcrypto.so from the system's OpenSSL installation, we'd get crazy crashes due to SOME libcrypto function calls routing through libcrypto.a and SOME function calls routing through libcrypto.so.
DESCRIPTION OF CHANGES:
Tweak the pkcs11_connect sample so it explicitly hides symbols from libcrypto.a. This sample is likely to load the libcrypto.so from they system's OpenSSL installation as a side-effect of loading libsofthsm2.so.
If your application starts crashing after taking this change, with a stacktrace showing math calls to libcrypto, you'll need to do the same.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.