Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 34.2k
src: only initialize openssl once#29999
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
Uh oh!
There was an error while loading. Please reload this page.
Conversation
sam-github commented Oct 16, 2019 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
richardlau commented Oct 16, 2019
I've added a |
richardlau commented Oct 16, 2019
Is there anyone we should ping from Electron in case this affects their use of BoringSSL? |
sam-github commented Oct 16, 2019
@danbev@codebytere This affects OpenSSL initialization, you might want to take a look. |
Uh oh!
There was an error while loading. Please reload this page.
nodejs-github-bot commented Oct 17, 2019
codebytere commented Oct 17, 2019
cc @davidben for potential ideas :) |
davidben commented Oct 17, 2019
Stub versions of those functions in BoringSSL would be just fine. We only add compatibility functions as we need them and this is the first time I've ever seen anyone use If it's off in a corner, clearly a no-op, and doesn't affect anything else, we generally just freely add compatibility functions. |
davidben commented Oct 17, 2019
We would, of course, ignore whatever config file you pass in, but that's totally self-consistent. BoringSSL has zero config file options so we vacuously "parse" the file. :-) |
sam-github commented Oct 17, 2019
I don't mind 1b8d782d58 if its going to be a while before BoringSSL implements the compat APIs. @codebytere What's your preference? |
nodejs-github-bot commented Oct 17, 2019
1b8d782 to 21859d4CompareFor compatibility with OpenSSL 1.1.0 and 1.0.1 a series of initialization wrappers were being called, many deprecated, and many calling each other internally already. Compatibility is unnecessary in 12.x and later, which support only OpenSSL 1.1.1, and the multiple calls cause the configuration file to be loaded multiple times. Fixes: nodejs#29702 See: - https://mta.openssl.org/pipermail/openssl-users/2019-October/011303.html - https://www.openssl.org/docs/man1.1.1/man3/OPENSSL_init_ssl.html - https://www.openssl.org/docs/man1.1.1/man3/OPENSSL_init_crypto.html
21859d4 to 12cbdcbComparecodebytere commented Oct 17, 2019
@sam-github i can handle this on the BoringSSL side, so all clear 🚀 ty for tagging me in! |
nodejs-github-bot commented Oct 17, 2019
codebytere commented Oct 17, 2019
Failing test |
sam-github commented Oct 17, 2019
@nodejs/modules-active-members Any comment on above? Is that test flaky? It doesn't have any crypto dependency I can think of, am I missing something? |
sam-github commented Oct 17, 2019
FTR: |
richardlau commented Oct 17, 2019 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
It's probably some interaction between ccache and #29974 landing on master (Travis runs on Edit: and everything now passed 🎉. |
nodejs-github-bot commented Oct 17, 2019
sam-github commented Oct 18, 2019
Resume failed on test.parallel/test-worker-prof in windows, @nodejs/platform-windows @nodejs/workers Trying again. |
nodejs-github-bot commented Oct 18, 2019
nodejs-github-bot commented Oct 19, 2019
nodejs-github-bot commented Oct 19, 2019
nodejs-github-bot commented Oct 19, 2019
nodejs-github-bot commented Oct 19, 2019 • edited by Trott
Loading Uh oh!
There was an error while loading. Please reload this page.
edited by Trott
Uh oh!
There was an error while loading. Please reload this page.
Trott commented Oct 19, 2019
Landed in 8425183 |
For compatibility with OpenSSL 1.1.0 and 1.0.1 a series of initialization wrappers were being called, many deprecated, and many calling each other internally already. Compatibility is unnecessary in 12.x and later, which support only OpenSSL 1.1.1, and the multiple calls cause the configuration file to be loaded multiple times. Fixes: #29702 See: - https://mta.openssl.org/pipermail/openssl-users/2019-October/011303.html - https://www.openssl.org/docs/man1.1.1/man3/OPENSSL_init_ssl.html - https://www.openssl.org/docs/man1.1.1/man3/OPENSSL_init_crypto.html PR-URL: #29999 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Shelley Vohr <[email protected]>
For compatibility with OpenSSL 1.1.0 and 1.0.1 a series of initialization wrappers were being called, many deprecated, and many calling each other internally already. Compatibility is unnecessary in 12.x and later, which support only OpenSSL 1.1.1, and the multiple calls cause the configuration file to be loaded multiple times. Fixes: #29702 See: - https://mta.openssl.org/pipermail/openssl-users/2019-October/011303.html - https://www.openssl.org/docs/man1.1.1/man3/OPENSSL_init_ssl.html - https://www.openssl.org/docs/man1.1.1/man3/OPENSSL_init_crypto.html PR-URL: #29999 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Shelley Vohr <[email protected]>
For compatibility with OpenSSL 1.1.0 and 1.0.1 a series of initialization wrappers were being called, many deprecated, and many calling each other internally already. Compatibility is unnecessary in 12.x and later, which support only OpenSSL 1.1.1, and the multiple calls cause the configuration file to be loaded multiple times. Fixes: #29702 See: - https://mta.openssl.org/pipermail/openssl-users/2019-October/011303.html - https://www.openssl.org/docs/man1.1.1/man3/OPENSSL_init_ssl.html - https://www.openssl.org/docs/man1.1.1/man3/OPENSSL_init_crypto.html PR-URL: #29999 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Shelley Vohr <[email protected]>
For compatibility with OpenSSL 1.1.0 and 1.0.1 a series of initialization wrappers were being called, many deprecated, and many calling each other internally already. Compatibility is unnecessary in 12.x and later, which support only OpenSSL 1.1.1, and the multiple calls cause the configuration file to be loaded multiple times. Fixes: #29702 See: - https://mta.openssl.org/pipermail/openssl-users/2019-October/011303.html - https://www.openssl.org/docs/man1.1.1/man3/OPENSSL_init_ssl.html - https://www.openssl.org/docs/man1.1.1/man3/OPENSSL_init_crypto.html PR-URL: #29999 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Shelley Vohr <[email protected]>
For compatibility with OpenSSL 1.1.0 and 1.0.1 a series of initialization wrappers were being called, many deprecated, and many calling each other internally already. Compatibility is unnecessary in 12.x and later, which support only OpenSSL 1.1.1, and the multiple calls cause the configuration file to be loaded multiple times. Fixes: #29702 See: - https://mta.openssl.org/pipermail/openssl-users/2019-October/011303.html - https://www.openssl.org/docs/man1.1.1/man3/OPENSSL_init_ssl.html - https://www.openssl.org/docs/man1.1.1/man3/OPENSSL_init_crypto.html PR-URL: #29999 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Shelley Vohr <[email protected]>
For compatibility with OpenSSL 1.1.0 and 1.0.1 a series of initialization wrappers were being called, many deprecated, and many calling each other internally already. Compatibility is unnecessary in 12.x and later, which support only OpenSSL 1.1.1, and the multiple calls cause the configuration file to be loaded multiple times. Fixes: #29702 See: - https://mta.openssl.org/pipermail/openssl-users/2019-October/011303.html - https://www.openssl.org/docs/man1.1.1/man3/OPENSSL_init_ssl.html - https://www.openssl.org/docs/man1.1.1/man3/OPENSSL_init_crypto.html PR-URL: #29999 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Shelley Vohr <[email protected]>
For compatibility with OpenSSL 1.1.0 and 1.0.1 a series of
initialization wrappers were being called, many deprecated, and many
calling each other internally already. Compatibility is unnecessary in
12.x and later, which support only OpenSSL 1.1.1, and the multiple calls
cause the configuration file to be loaded multiple times.
Fixes: #29702
See:
Checklist
make -j4 test(UNIX), orvcbuild test(Windows) passes