Repository navigation
Conversation
Collaborator
|
Review requested:
|
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
panva
force-pushed
the
drop-openssl1
branch
2 times, most recently
from
August 5, 2026 20:11
92fef82 to
518c70f
Compare
aduh95
reviewed
Aug 7, 2026
panva
force-pushed
the
drop-openssl1
branch
2 times, most recently
from
August 22, 2026 11:07
b9cbc63 to
f8a4830
Compare
anonrig
approved these changes
Aug 22, 2026
Member
Author
|
@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. |
This was referenced Aug 23, 2026
anonrig
approved these changes
Aug 23, 2026
Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex
Contributor
Changelog@@ -1190,24 +1189,0 @@
-/nix/store/2pcwvmq7ncjwh905895yny10ckwcw3r2-openssl-1.1.1w (aarch64-darwin)
-/nix/store/plhjkmxg70rxd2h8kxlq3bxnvwmqc0ip-openssl-1.1.1w (aarch64-linux)
-/nix/store/676zgmak44d996pv7kh3rvqi03f2iwpn-openssl-1.1.1w (x86_64-darwin)
-/nix/store/l9agx145d89zn30rp0rhckdk3w6szc96-openssl-1.1.1w (x86_64-linux)
-/nix/store/086cqn4n4m71rlkv5y3zgzzh13r45r3a-openssl-1.1.1w-bin (aarch64-darwin)
-/nix/store/h5jijr2lrrqyg9zbvl30xc7006ndhbfw-openssl-1.1.1w-bin (aarch64-linux)
-/nix/store/8zm70jczb2mx441k4614k2zaym8z6cdg-openssl-1.1.1w-bin (x86_64-darwin)
-/nix/store/1p882fsy29dpxzw6dxryvci3s71yj3kd-openssl-1.1.1w-bin (x86_64-linux)
-/nix/store/6ak42ni4smvkwqba9gz9kxmk7rd2iz6a-openssl-1.1.1w-debug (aarch64-linux)
-/nix/store/l8j28jaz36rl7p3353bdrwmm0gqs21n7-openssl-1.1.1w-debug (x86_64-linux)
-/nix/store/gplh2jrz3m8b2czakfnzqdv5fyvicrzd-openssl-1.1.1w-dev (aarch64-darwin)
-/nix/store/4s7zhnfv63lz3kizvafg60dx47s8lj7p-openssl-1.1.1w-dev (aarch64-linux)
-/nix/store/rxqb2hml7zsqwhyyhjbjjqbl6f6y2i4q-openssl-1.1.1w-dev (x86_64-darwin)
-/nix/store/w521vxypims9pqar5s56an8l3ab8qnja-openssl-1.1.1w-dev (x86_64-linux)
-/nix/store/rv96dqrq72may8zlqrbqlpdwy4lyin3d-openssl-1.1.1w-doc (aarch64-darwin)
-/nix/store/91890x9hxv4x0a483ricphjj98gqs63a-openssl-1.1.1w-doc (aarch64-linux)
-/nix/store/r6wbq4gkwz5aaylinl9pki442wvpvza4-openssl-1.1.1w-doc (x86_64-darwin)
-/nix/store/d4ylfi8hym60qxd0d0jvj6wx3mvvnbd7-openssl-1.1.1w-doc (x86_64-linux)
-/nix/store/m1fcygfrg2qk1cngqk2khc45rw85xxps-openssl-1.1.1w-man (aarch64-darwin)
-/nix/store/psrycwnqbwwm9sdv5bwjbjgijxiicr6h-openssl-1.1.1w-man (aarch64-linux)
-/nix/store/b20wkyzpyni4j6iyrhxk2rq3mvqx59rp-openssl-1.1.1w-man (x86_64-darwin)
-/nix/store/i2shy3afinygkdn623ai487pal720bpa-openssl-1.1.1w-man (x86_64-linux)
-/nix/store/y3cl2yrgaf3gjp81blxk35nx8srabngv-openssl-1.1.1w.tar.gz (aarch64-linux)
-/nix/store/y3cl2yrgaf3gjp81blxk35nx8srabngv-openssl-1.1.1w.tar.gz (x86_64-linux) |
… (DEP0183)" This reverts commit da51692.
OpenSSL removed support for engines in version 4. Remove the Node.js APIs, constants, native bindings, and implementation that depend on ENGINE. Keep recognizing the former TLS and HTTPS engine options so their use fails explicitly instead of appearing to work while being ignored. Move DEP0183 directly from Documentation-only to End-of-Life after reverting its unreleased Runtime deprecation. Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex
Collaborator
Contributor
Changelog@@ -1190,24 +1189,0 @@
-/nix/store/2pcwvmq7ncjwh905895yny10ckwcw3r2-openssl-1.1.1w (aarch64-darwin)
-/nix/store/plhjkmxg70rxd2h8kxlq3bxnvwmqc0ip-openssl-1.1.1w (aarch64-linux)
-/nix/store/676zgmak44d996pv7kh3rvqi03f2iwpn-openssl-1.1.1w (x86_64-darwin)
-/nix/store/l9agx145d89zn30rp0rhckdk3w6szc96-openssl-1.1.1w (x86_64-linux)
-/nix/store/086cqn4n4m71rlkv5y3zgzzh13r45r3a-openssl-1.1.1w-bin (aarch64-darwin)
-/nix/store/h5jijr2lrrqyg9zbvl30xc7006ndhbfw-openssl-1.1.1w-bin (aarch64-linux)
-/nix/store/8zm70jczb2mx441k4614k2zaym8z6cdg-openssl-1.1.1w-bin (x86_64-darwin)
-/nix/store/1p882fsy29dpxzw6dxryvci3s71yj3kd-openssl-1.1.1w-bin (x86_64-linux)
-/nix/store/6ak42ni4smvkwqba9gz9kxmk7rd2iz6a-openssl-1.1.1w-debug (aarch64-linux)
-/nix/store/l8j28jaz36rl7p3353bdrwmm0gqs21n7-openssl-1.1.1w-debug (x86_64-linux)
-/nix/store/gplh2jrz3m8b2czakfnzqdv5fyvicrzd-openssl-1.1.1w-dev (aarch64-darwin)
-/nix/store/4s7zhnfv63lz3kizvafg60dx47s8lj7p-openssl-1.1.1w-dev (aarch64-linux)
-/nix/store/rxqb2hml7zsqwhyyhjbjjqbl6f6y2i4q-openssl-1.1.1w-dev (x86_64-darwin)
-/nix/store/w521vxypims9pqar5s56an8l3ab8qnja-openssl-1.1.1w-dev (x86_64-linux)
-/nix/store/rv96dqrq72may8zlqrbqlpdwy4lyin3d-openssl-1.1.1w-doc (aarch64-darwin)
-/nix/store/91890x9hxv4x0a483ricphjj98gqs63a-openssl-1.1.1w-doc (aarch64-linux)
-/nix/store/r6wbq4gkwz5aaylinl9pki442wvpvza4-openssl-1.1.1w-doc (x86_64-darwin)
-/nix/store/d4ylfi8hym60qxd0d0jvj6wx3mvvnbd7-openssl-1.1.1w-doc (x86_64-linux)
-/nix/store/m1fcygfrg2qk1cngqk2khc45rw85xxps-openssl-1.1.1w-man (aarch64-darwin)
-/nix/store/psrycwnqbwwm9sdv5bwjbjgijxiicr6h-openssl-1.1.1w-man (aarch64-linux)
-/nix/store/b20wkyzpyni4j6iyrhxk2rq3mvqx59rp-openssl-1.1.1w-man (x86_64-darwin)
-/nix/store/i2shy3afinygkdn623ai487pal720bpa-openssl-1.1.1w-man (x86_64-linux)
-/nix/store/y3cl2yrgaf3gjp81blxk35nx8srabngv-openssl-1.1.1w.tar.gz (aarch64-linux)
-/nix/store/y3cl2yrgaf3gjp81blxk35nx8srabngv-openssl-1.1.1w.tar.gz (x86_64-linux) |
Collaborator
gurgunday
approved these changes
Oct 25, 2026
bjohansebas
approved these changes
Oct 25, 2026
anonrig
approved these changes
Oct 25, 2026
panva
added a commit
that referenced
this pull request
Oct 25, 2026
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. Stop setting the OpenSSL 1.1 API compatibility level for bundled builds. ncrypto selects the supported API level directly. Update the assembler capability check, shared-library test matrix, package fallbacks, and internal version-number typing for the new baseline. Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex PR-URL: #64777 Fixes: #56733 Refs: #64211 Refs: #63966 Refs: #53329 Refs: #48950 Refs: #45465 Refs: #42827 Refs: #47076 Refs: #62862 Refs: #38512 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
Member
Author
|
Landed in e20da72...a2cd8aa |
panva
added a commit
that referenced
this pull request
Oct 25, 2026
Remove the OpenSSL 1.x backend and its legacy dss1 digest aliases. Rename the provider-backed path switch to NCRYPTO_USE_OPENSSL_PROVIDER and rewrite the remaining version guards as OPENSSL_IS_BORINGSSL checks. Remove version-adapter casts now that supported OpenSSL signatures are uniform. Drop legacy digest-context, raw-key, seed, signature-context, SM2, primality, and RSA2 key-detail fallbacks. Keep name-based key algorithms and capability discovery, with numeric key adapters and low-level key paths only for BoringSSL. Use the same backend split for KDFs, PKCS#1 decoding, key serialization, and provider EC/RSA key details. Gate BoringSSL-only alternatives explicitly instead of leaving them in #else branches. Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex PR-URL: #64777 Fixes: #56733 Refs: #64211 Refs: #63966 Refs: #53329 Refs: #48950 Refs: #45465 Refs: #42827 Refs: #47076 Refs: #62862 Refs: #38512 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
panva
added a commit
that referenced
this pull request
Oct 25, 2026
Remove the OpenSSL 1.x branches and stale version-specific assumptions from src/. BoringSSL does not define OPENSSL_VERSION_MAJOR, so the remaining version guards were excluding it as well; use OPENSSL_IS_BORINGSSL checks instead, including the shared PKCS12 parser and TLS PFX error handling. Gate BoringSSL-only alternatives explicitly instead of leaving them in #else branches, including the MAC/KMAC and OCB fallbacks. Fix the BoringSSL guard on QUIC's unsupported-backend diagnostic. Make the OpenSSL legacy-provider command-line help version-neutral. Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex PR-URL: #64777 Fixes: #56733 Refs: #64211 Refs: #63966 Refs: #53329 Refs: #48950 Refs: #45465 Refs: #42827 Refs: #47076 Refs: #62862 Refs: #38512 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
panva
added a commit
that referenced
this pull request
Oct 25, 2026
Delete test-crypto-ecb.js, which can no longer run anywhere: Blowfish is available only from OpenSSL's legacy provider and is absent from BoringSSL. The addon and cctest version guards become OPENSSL_IS_BORINGSSL checks. Remove legacy digest-alias coverage and unreachable OpenSSL 1.x branches. JavaScript test and benchmark gates, skip reasons, and TLS error expectations that distinguished OpenSSL 1.x from provider-backed OpenSSL now distinguish BoringSSL, including PKCS12 parsing, named DH groups, private-key serialization, RSA-PSS parameters, consolidated provider caches, FIPS availability, and empty KMAC output. Keep the CCM alternate finalization error only for BoringSSL. Provider-only test skips use version-neutral terminology or state the actual minimum OpenSSL version. Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex PR-URL: #64777 Fixes: #56733 Refs: #64211 Refs: #63966 Refs: #53329 Refs: #48950 Refs: #45465 Refs: #42827 Refs: #47076 Refs: #62862 Refs: #38512 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
panva
added a commit
that referenced
this pull request
Oct 25, 2026
Rename the openssl30 footnote, which marks APIs unavailable on BoringSSL rather than ones requiring OpenSSL. Remove obsolete version qualifiers from the provider and FIPS documentation, drop the "As of OpenSSL 1.1.0" anchor from the PSK size limits, and point the man1.1.1 links at man3.0. Document BoringSSL as the only backend with numeric key adapters. Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex PR-URL: #64777 Fixes: #56733 Refs: #64211 Refs: #63966 Refs: #53329 Refs: #48950 Refs: #45465 Refs: #42827 Refs: #47076 Refs: #62862 Refs: #38512 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
panva
added a commit
that referenced
this pull request
Oct 25, 2026
The openssl_fips_*.cnf fixtures use OpenSSL 1.x syntax, and their test branches can no longer run. Remove the fixtures and related version gates while keeping the provider-backed FIPS assertions. 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> Assisted-by: Codex PR-URL: #64777 Fixes: #56733 Refs: #64211 Refs: #63966 Refs: #53329 Refs: #48950 Refs: #45465 Refs: #42827 Refs: #47076 Refs: #62862 Refs: #38512 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
panva
added a commit
that referenced
this pull request
Oct 25, 2026
--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> Assisted-by: Codex PR-URL: #64777 Fixes: #56733 Refs: #64211 Refs: #63966 Refs: #53329 Refs: #48950 Refs: #45465 Refs: #42827 Refs: #47076 Refs: #62862 Refs: #38512 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
panva
added a commit
that referenced
this pull request
Oct 25, 2026
Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex PR-URL: #64777 Fixes: #56733 Refs: #64211 Refs: #63966 Refs: #53329 Refs: #48950 Refs: #45465 Refs: #42827 Refs: #47076 Refs: #62862 Refs: #38512 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
panva
added a commit
that referenced
this pull request
Oct 25, 2026
… (DEP0183)" This reverts commit da51692. PR-URL: #64777 Fixes: #56733 Refs: #64211 Refs: #63966 Refs: #53329 Refs: #48950 Refs: #45465 Refs: #42827 Refs: #47076 Refs: #62862 Refs: #38512 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
panva
added a commit
that referenced
this pull request
Oct 25, 2026
OpenSSL removed support for engines in version 4. Remove the Node.js APIs, constants, native bindings, and implementation that depend on ENGINE. Keep recognizing the former TLS and HTTPS engine options so their use fails explicitly instead of appearing to work while being ignored. Move DEP0183 directly from Documentation-only to End-of-Life after reverting its unreleased Runtime deprecation. Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex PR-URL: #64777 Fixes: #56733 Refs: #64211 Refs: #63966 Refs: #53329 Refs: #48950 Refs: #45465 Refs: #42827 Refs: #47076 Refs: #62862 Refs: #38512 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
RafaelGSS
added a commit
that referenced
this pull request
Oct 27, 2026
Notable changes: async_hooks: * (SEMVER-MAJOR) remove legacy AsyncLocalStorage implementation (Matteo Collina) #63641 benchmark: * (SEMVER-MAJOR) protect against accidental fork bomb (James M Snell) #66132 build: * (SEMVER-MAJOR) remove the bundled FIPS provider build (Filip Skokan) #64777 * (SEMVER-MAJOR) require OpenSSL 3 or later (Filip Skokan) #64777 * (SEMVER-MAJOR) downgrade Intel macOS support to experimental (Antoine du Hamel) #65427 crypto: * (SEMVER-MAJOR) move DEP0093 to End-of-Life (Filip Skokan) #64777 * (SEMVER-MAJOR) remove legacy OpenSSL code paths (Filip Skokan) #64777 * (SEMVER-MAJOR) validate digest output encodings (Filip Skokan) #66247 * (SEMVER-MAJOR) validate update input encodings (Filip Skokan) #66247 * (SEMVER-MAJOR) validate inputEncoding in Cipher/Decipher update (Maruthan G) #66247 * (SEMVER-MAJOR) move DEP0198 to End-of-Life (Filip Skokan) #64000 * (SEMVER-MAJOR) move DEP0203 and DEP0204 to End-of-Life (Filip Skokan) #63188 * (SEMVER-MAJOR) reject resizable backing stores in Web Crypto buffer parameters (Filip Skokan) #63925 * (SEMVER-MAJOR) throw on uninitialized DH computeSecret (Filip Skokan) #63922 * (SEMVER-MAJOR) runtime-deprecate calling Hmac.digest() more than once (Madelyn) #63624 crypto,https,tls: * (SEMVER-MAJOR) end OpenSSL engine support (Filip Skokan) #64777 deps: * (SEMVER-MAJOR) update archs files for openssl-4.1.0 (Node.js GitHub Bot) #66971 * (SEMVER-MAJOR) upgrade openssl sources to openssl-4.1.0 (Node.js GitHub Bot) #66971 * (SEMVER-MAJOR) remove ncrypto legacy OpenSSL backend (Filip Skokan) #64777 * (SEMVER-MAJOR) update V8 to 15.6.75.13 (Joyee Cheung) #66601 * (SEMVER-MAJOR) update V8 to 15.5.35.20 (Joyee Cheung) #66537 * (SEMVER-MAJOR) update V8 to 15.2.124.38 (Joyee Cheung) #65161 * (SEMVER-MAJOR) upgrade npm to 12.1.0 (npm team) #66212 dgram: * (SEMVER-MAJOR) skip the custom lookup for literal IP addresses (Ruben Bridgewater) #64131 dns: * (SEMVER-MAJOR) do not consult hosts file in reverse lookups (Archkon) #64268 * (SEMVER-MAJOR) stop using deprecated functions in `SetServers` (Antoine du Hamel) #64356 doc: * (SEMVER-MAJOR) remove OpenSSL 1.x references (Filip Skokan) #64777 * (SEMVER-MAJOR) update Node.js 27 official binary toolchains (Richard Lau) #66377 domain: * (SEMVER-MAJOR) runtime-deprecate the module (Matteo Collina) #65074 * (SEMVER-MAJOR) port to AsyncLocalStorage (Matteo Collina) #61095 fs: * (SEMVER-MAJOR) implement glob natively (Aviv Keller) #65392 * (SEMVER-MAJOR) return Buffer from mkdtemp when prefix is a Buffer (Hamid Reza Ghavami) #64397 http: * (SEMVER-MAJOR) reject responses exceeding header limit (Matteo Collina) #65010 * (SEMVER-MAJOR) runtime deprecate instantiating without new (Yagiz Nizipli) #64853 * (SEMVER-MAJOR) increase keepAliveTimeout default to 65 seconds (Tim Perry) #62782 * (SEMVER-MAJOR) make req.headers have a null prototype (Matteo Collina) #62900 * (SEMVER-MAJOR) reject addTrailers after finish (Ryuhei Shima) #62832 http2: * (SEMVER-MAJOR) increase default window sizes (Matteo Collina) #64623 lib: * (SEMVER-MAJOR) deprecate _http_* (Sebastian Beltran) #58535 * (SEMVER-MAJOR) insert argv[0] at argv[1] in setDeserializeMainFunction (Daijiro Wachi) #62928 * (SEMVER-MAJOR) use `Object.freeze` to avoid defensive cloning in `SourceMap` (Daijiro Wachi) #62830 * (SEMVER-MAJOR) reject SharedArrayBuffer in Blob constructor per spec (Ali Hassan) #63046 lib,src: * (SEMVER-MAJOR) remove `--no-experimental-websocket` CLI flag (Antoine du Hamel) #65284 net: * (SEMVER-MAJOR) race family autoselection attempts (Matteo Collina) #66229 * (SEMVER-MAJOR) throw on multiple listen calls (Matteo Collina) #64871 * (SEMVER-MAJOR) runtime-deprecate Server.prototype._listen2 (Guilherme Araújo) #64794 * (SEMVER-MAJOR) add experimental net/promises API (Ethan Arrowood) #63965 repl: * (SEMVER-MAJOR) use inspector over vm (Aviv Keller) #64034 src: * (SEMVER-MAJOR) officially deprecate `node::ObjectWrap` (Anna Henningsen) #63756 * (SEMVER-MAJOR) merge `CreateEnvironment()` overloads (Anna Henningsen) #63596 src, test: src,lib: * (SEMVER-MAJOR) add --allow-env permission (James M Snell) #66132 stream: * (SEMVER-MAJOR) destroy source when map iterator closes early (Y1D7NG) #64264 test: * (SEMVER-MAJOR) fix fs write encoding coverage (Filip Skokan) #66247 test,benchmark: * (SEMVER-MAJOR) drop OpenSSL 1.x-only coverage (Filip Skokan) #64777 test,tools: * (SEMVER-MAJOR) drop OpenSSL 1.x-era FIPS leftovers (Filip Skokan) #64777 test_runner: * use AsyncLocalStorage instead of async_hooks (Matteo Collina) #66795 tls: * (SEMVER-MAJOR) move _tls_* to end-of-life (Sebastian Beltran) #60658 zlib: * (SEMVER-MAJOR) convert classes to modern syntax and eol DEP0184 (Yagiz Nizipli) #64849 PR-URL: #67062
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
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.
configurenow fails when--shared-opensslpoints 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.fipsis removed. It was runtime-deprecated as DEP0093 in v23.0.0 and has an automated migration.crypto.getFips()andcrypto.setFips()are unaffected.--openssl-is-fipsnow requires--shared-openssl, since with the bundled OpenSSL it no longer has anything to configure.--openssl-is-fipsagainst the bundled OpenSSL never worked.openssl-fipsmodulehas no dependency edge fromnode.gyp, so gyp emitted no rules for it andfipsinstall'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. The remaining legacy native paths are live BoringSSL code, not dead OpenSSL 1.x code. BoringSSL-specific paths are explicitly gated by
OPENSSL_IS_BORINGSSLorNCRYPTO_USE_BORINGSSL, rather than implied by#else. Genuine OpenSSL feature-version guards remain.The unreleased DEP0183 Runtime deprecation is reverted before DEP0183 moves directly from Documentation-only to End-of-Life.
crypto.setEngine(),crypto.constants.ENGINE_METHOD_*, and the native ENGINE implementation are removed. The formerclientCertEngine,privateKeyEngine, andprivateKeyIdentifierTLS and HTTPS options remain recognized and throwERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTEDwhen given a non-nullish value, so engine-dependent configurations cannot be silently ignored.Fixes: #56733
Refs: #64211
Refs: #63966
Refs: #53329
Refs: #48950
Refs: #45465
Refs: #42827
Refs: #47076
Refs: #62862
Refs: #38512