| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
Review requested:
|
Sorry, something went wrong.
configure now fails when --shared-openssl points at OpenSSL 1.x rather than failing later at compile or link time. The check skips BoringSSL, whose version macros claim 1.1.1. Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Remove the OpenSSL 1.x backend. The version guards are rewritten as OPENSSL_IS_BORINGSSL checks rather than deleted, because BoringSSL fails them too and their legacy arms are what it runs. Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Remove the OpenSSL 1.x branches from src/. BoringSSL does not define OPENSSL_VERSION_MAJOR, so the remaining version guards were excluding it as well; they become OPENSSL_IS_BORINGSSL checks. Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Delete test-crypto-ecb.js, which can no longer run anywhere: Blowfish is legacy-provider only on OpenSSL 3 and absent from BoringSSL. The addon and cctest version guards become OPENSSL_IS_BORINGSSL checks. Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Rename the openssl30 footnote, which marks APIs unavailable on BoringSSL rather than ones requiring OpenSSL 3. Drop the "As of OpenSSL 1.1.0" anchor from the PSK size limits and point the man1.1.1 links at man3.0. Signed-off-by: Filip Skokan <panva.ip@gmail.com>
The openssl_fips_*.cnf fixtures use OpenSSL 1.x syntax and are unused, get_env_type() sniffed for a "-fips" version suffix that can no longer occur, and the crypto-check lint rule listed a helper that no longer exists. Signed-off-by: Filip Skokan <panva.ip@gmail.com>
--openssl-is-fips with bundled OpenSSL never worked: the openssl-fipsmodule target had no dependency edge, so fipsinstall's input was produced by nothing. Repairing it would not help, since a FIPS provider built out of tree has no validation status. Remove the machinery and restrict --openssl-is-fips to --shared-openssl. Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
|
@nodejs/tsc given the move to OpenSSL 4.x during 27.x alphas (nodejs/TSC#1869) I'd like to request an exception to the deprecation process and accelerate DEP0183 (OpenSSL engine-based APIs) on 27.x from Documentation-only straight to EOL instead of just Runtime (#63966). With OpenSSL 4.x (which drops engine support) we'd only be carrying forward engine support for the sake of shared openssl configurations and deployments that aren't using OpenSSL 4.x yet. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Important
Prior to marking this ready for review, or more specifically, running a full CI, a change similar to nodejs/build#4386 needs to land to exclude OpenSSL 1.1.1 builds for gte(27) (nodejs/build#4409).
This will hang around as draft for comments until we get to v27.x alphas
Drops support for building against OpenSSL 1.x, and with it a FIPS build path that never worked. #64211 split the native crypto backends so this could be a focused follow-up.
configure now fails when --shared-openssl points at anything older than 3.0.0, instead of failing later at compile or link time. The check skips BoringSSL, whose version macros claim 1.1.1. crypto.fips is removed. It was runtime-deprecated as DEP0093 in v23.0.0 and has an automated migration. crypto.getFips() and crypto.setFips() are unaffected. --openssl-is-fips now requires --shared-openssl, since with the bundled OpenSSL it no longer has anything to configure.
--openssl-is-fips against the bundled OpenSSL never worked. openssl-fipsmodule has no dependency edge from node.gyp, so gyp emitted no rules for it and fipsinstall's input was produced by nothing. The edge was commented out in the commit that introduced the machinery and never restored. Repairing it would not help either, since OpenSSL requires a FIPS provider to be built from a release carrying a FIPS certificate, so a provider built out of the Node.js tree has no validation status regardless.
A note for reviewing the guards. BoringSSL does not define OPENSSL_VERSION_MAJOR and sets OPENSSL_VERSION_NUMBER to 1.1.1, so every version check was excluding it too. The legacy arms are live BoringSSL code, not dead 1.x code. Only guards already nested inside an #ifndef OPENSSL_IS_BORINGSSL were unwrapped. The rest had their condition rewritten to OPENSSL_IS_BORINGSSL with both arms kept. Getting one of those wrong usually breaks the BoringSSL build outright, with two exceptions that still compile: crypto_hash.cc's three-way EVP_MD_do_all_sorted chain, whose final arm serves BoringSSL with libdecrepit, and ncrypto.cc's X509 info-access newline.
ENGINE support is untouched and stays on its own removal track.
Fixes: #56733
Refs: #64211
Refs: #48950
Refs: #45465
Refs: #42827
Refs: #47076
Refs: #62862
Refs: #38512