-
Notifications
You must be signed in to change notification settings - Fork 775
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
[22024] Improve OpenSSL
lifecycle handling
#5384
Conversation
f15d463
to
83a748f
Compare
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.
Changes look good to me, but this will not build if openssl is not in the system
7e26b83
to
8889271
Compare
Follow up of this PR will be in task |
Signed-off-by: Mario Dominguez <[email protected]>
Signed-off-by: Mario Dominguez <[email protected]>
…with OpenSSL initialization and destruction. Signed-off-by: Mario Dominguez <[email protected]>
… present Signed-off-by: Mario Dominguez <[email protected]>
8889271
to
705b6b6
Compare
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.
LGTM with green CI
@Mergifyio backport 3.1.x 3.0.x |
✅ Backports have been created
|
* Refs #22024: Add BB test Signed-off-by: Mario Dominguez <[email protected]> * Refs #22024: Make OpenSSLInit Mayers singleton Signed-off-by: Mario Dominguez <[email protected]> * Refs #22024: Fix: Do not register atexit in OPenSSL. Instead, Comply with OpenSSL initialization and destruction. Signed-off-by: Mario Dominguez <[email protected]> * Refs #22024: Do not reference OpenSSLInit if security features are no present Signed-off-by: Mario Dominguez <[email protected]> --------- Signed-off-by: Mario Dominguez <[email protected]> (cherry picked from commit 44310c4)
* Refs #22024: Add BB test Signed-off-by: Mario Dominguez <[email protected]> * Refs #22024: Make OpenSSLInit Mayers singleton Signed-off-by: Mario Dominguez <[email protected]> * Refs #22024: Fix: Do not register atexit in OPenSSL. Instead, Comply with OpenSSL initialization and destruction. Signed-off-by: Mario Dominguez <[email protected]> * Refs #22024: Do not reference OpenSSLInit if security features are no present Signed-off-by: Mario Dominguez <[email protected]> --------- Signed-off-by: Mario Dominguez <[email protected]> (cherry picked from commit 44310c4)
@Mergifyio backport mergify/bp/2.14.x/pr-5386 mergify/bp/2.10.x/pr-5386 |
✅ Backports have been created
|
* Refs #22024: Add BB test Signed-off-by: Mario Dominguez <[email protected]> * Refs #22024: Make OpenSSLInit Mayers singleton Signed-off-by: Mario Dominguez <[email protected]> * Refs #22024: Fix: Do not register atexit in OPenSSL. Instead, Comply with OpenSSL initialization and destruction. Signed-off-by: Mario Dominguez <[email protected]> * Refs #22024: Do not reference OpenSSLInit if security features are no present Signed-off-by: Mario Dominguez <[email protected]> --------- Signed-off-by: Mario Dominguez <[email protected]> (cherry picked from commit 44310c4) # Conflicts: # src/cpp/rtps/RTPSDomainImpl.hpp
* Refs #22024: Add BB test Signed-off-by: Mario Dominguez <[email protected]> * Refs #22024: Make OpenSSLInit Mayers singleton Signed-off-by: Mario Dominguez <[email protected]> * Refs #22024: Fix: Do not register atexit in OPenSSL. Instead, Comply with OpenSSL initialization and destruction. Signed-off-by: Mario Dominguez <[email protected]> * Refs #22024: Do not reference OpenSSLInit if security features are no present Signed-off-by: Mario Dominguez <[email protected]> --------- Signed-off-by: Mario Dominguez <[email protected]> (cherry picked from commit 44310c4) # Conflicts: # src/cpp/rtps/RTPSDomainImpl.hpp
Description
This PR fixes a crash in
OpenSSL
provoked when theatexit
callback fromopenssl
is triggered upon process destruction, making it to trigger aSIGSEV
on an already releasedOpenSSL
resource.In addition,
OpenSSL
is now a Meyers singleton attached toRTPSDomainImpl
.In accordance with the best practices using OpenSSL and its documentation:
OpenSSL_init_crypto
(available in all versions along with theOPENSSL_INIT_NO_ATEXIT
option) that makesatexit
not being registered.atexit
is not registered, user has to explicitly callOpenSSL_cleanup()
(also, supported across versions).@Mergifyio backport 3.1.x 3.0.x 2.14.x 2.10.x
Contributor Checklist
versions.md
file (if applicable).Reviewer Checklist