Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-tarball.yml
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ jobs:
if: github.base_ref == 'main' || github.ref_name == 'main'
uses: Mozilla-Actions/sccache-action@fc920bf0ec8de6ee65d409111f7ec508035751ba # v0.0.11
with:
version: v0.16.0
version: v0.17.0
- name: Download tarball
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/coverage-linux-without-intl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:
if: github.base_ref == 'main' || github.ref_name == 'main'
uses: Mozilla-Actions/sccache-action@fc920bf0ec8de6ee65d409111f7ec508035751ba # v0.0.11
with:
version: v0.16.0
version: v0.17.0
- name: Install gcovr
run: pip install gcovr==7.2
- name: Configure
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/coverage-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:
if: github.base_ref == 'main' || github.ref_name == 'main'
uses: Mozilla-Actions/sccache-action@fc920bf0ec8de6ee65d409111f7ec508035751ba # v0.0.11
with:
version: v0.16.0
version: v0.17.0
- name: Install gcovr
run: pip install gcovr==7.2
- name: Configure
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/stress-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ jobs:
- name: Set up sccache
uses: Mozilla-Actions/sccache-action@fc920bf0ec8de6ee65d409111f7ec508035751ba # v0.0.11
with:
version: v0.16.0
version: v0.17.0
# This is needed due to https://github.com/nodejs/build/issues/3878
- name: Cleanup
if: runner.os == 'macOS'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-internet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ jobs:
if: github.base_ref == 'main' || github.ref_name == 'main'
uses: Mozilla-Actions/sccache-action@fc920bf0ec8de6ee65d409111f7ec508035751ba # v0.0.11
with:
version: v0.16.0
version: v0.17.0
- name: Build
run: make build-ci -j4 V=1 CONFIG_FLAGS="--error-on-warn"
- name: Test Internet
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-linux-quic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ jobs:
if: github.base_ref == 'main' || github.ref_name == 'main'
uses: Mozilla-Actions/sccache-action@fc920bf0ec8de6ee65d409111f7ec508035751ba # v0.0.11
with:
version: v0.16.0
version: v0.17.0
- name: Build
working-directory: node
run: make build-ci -j4 V=1 CONFIG_FLAGS="--error-on-warn --v8-enable-temporal-support --experimental-quic"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ jobs:
if: github.base_ref == 'main' || github.ref_name == 'main'
uses: Mozilla-Actions/sccache-action@fc920bf0ec8de6ee65d409111f7ec508035751ba # v0.0.11
with:
version: v0.16.0
version: v0.17.0
- name: Build
working-directory: node
run: make build-ci -j4 V=1 CONFIG_FLAGS="--error-on-warn --v8-enable-temporal-support"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ jobs:
if: github.base_ref == 'main' || github.ref_name == 'main'
uses: Mozilla-Actions/sccache-action@fc920bf0ec8de6ee65d409111f7ec508035751ba # v0.0.11
with:
version: v0.16.0
version: v0.17.0
# The `npm ci` for this step fails a lot as part of the Test step. Run it
# now so that we don't have to wait 2 hours for the Build step to pass
# first before that failure happens. (And if there's something about
Expand Down
12 changes: 7 additions & 5 deletions BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -1032,11 +1032,11 @@ as `deps/icu` (You'll have: `deps/icu/source/...`)
### Configure OpenSSL appname

Node.js can use an OpenSSL configuration file by specifying the environment
variable `OPENSSL_CONF`, or using the command line option `--openssl-conf`, and
if none of those are specified will default to reading the default OpenSSL
configuration file `openssl.cnf`. Node.js will only read a section that is by
default named `nodejs_conf`, but this name can be overridden using the following
configure option:
variable `OPENSSL_CONF`, or using the command line option `--openssl-config`,
which takes precedence. If neither is specified, Node.js defaults to reading the
default OpenSSL configuration file `openssl.cnf`. Node.js will only read a
section that is by default named `nodejs_conf`, but this name can be overridden
using the following configure option:

```bash
./configure --openssl-conf-name=<some_conf_name>
Expand All @@ -1048,6 +1048,8 @@ Node.js supports FIPS when statically or dynamically linked with OpenSSL 3 via
[OpenSSL's provider model](https://docs.openssl.org/3.0/man7/crypto/#OPENSSL-PROVIDERS).
It is not necessary to rebuild Node.js to enable support for FIPS.

When using OpenSSL 1.1.1, Node.js must be built against a FIPS-capable OpenSSL.

See [FIPS mode](doc/api/crypto.md#fips-mode) for more information on how to
enable FIPS support in Node.js.

Expand Down
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@ release.
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V26.md#26.6.0">26.6.0</a></b><br/>
<b><a href="doc/changelogs/CHANGELOG_V26.md#26.7.0">26.7.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V26.md#26.6.0">26.6.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V26.md#26.5.1">26.5.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V26.md#26.5.0">26.5.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V26.md#26.4.0">26.4.0</a><br/>
Expand Down
2 changes: 1 addition & 1 deletion configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -1523,7 +1523,7 @@ def get_openssl_version(o):

return version_number

except (OSError, ValueError, subprocess.SubprocessError) as e:
except (OSError, TypeError, ValueError, subprocess.SubprocessError) as e:
warn(f'Failed to determine OpenSSL version from header: {e}')
return 0

Expand Down
3 changes: 1 addition & 2 deletions deps/ncrypto/ncrypto.cc
Original file line number Diff line number Diff line change
Expand Up @@ -539,8 +539,7 @@ bool setFipsEnabled(bool enable, CryptoErrorList* errors) {
if (isFipsEnabled() == enable) return true;
ClearErrorOnReturn clearErrorOnReturn(errors);
#if OPENSSL_VERSION_MAJOR >= 3
return EVP_default_properties_enable_fips(nullptr, enable ? 1 : 0) == 1 &&
EVP_default_properties_is_fips_enabled(nullptr);
return EVP_default_properties_enable_fips(nullptr, enable ? 1 : 0) == 1;
#else
return FIPS_mode_set(enable ? 1 : 0) == 1;
#endif
Expand Down
51 changes: 18 additions & 33 deletions doc/api/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,7 @@ Error: connect ERR_ACCESS_DENIED Access to this API has been restricted. Use --a
### `--allow-openssl-store`

<!-- YAML
added: REPLACEME
added: v26.7.0
-->

> Stability: 1.1 - Active development
Expand Down Expand Up @@ -751,7 +751,7 @@ added:
- v21.3.0
- v20.11.0
changes:
- version: REPLACEME
- version: v26.7.0
pr-url: https://github.com/nodejs/node/pull/64742
description: The `--disable-warning` flag is now stable.
-->
Expand Down Expand Up @@ -882,8 +882,9 @@ priority than `--dns-result-order`.
added: v6.0.0
-->

Enable FIPS-compliant crypto at startup. (Requires Node.js to be built
against FIPS-compatible OpenSSL.)
Enable [FIPS mode][] at startup. With OpenSSL 3, a configured provider named
`fips` must be available and initialize successfully. With OpenSSL 1.1.1,
Node.js must be built against a FIPS-capable OpenSSL.

### `--enable-source-maps`

Expand Down Expand Up @@ -1082,7 +1083,7 @@ added:
- v23.10.0
- v22.16.0
changes:
- version: REPLACEME
- version: v26.7.0
pr-url: https://github.com/nodejs/node/pull/64516
description: Marked as release candidate.
-->
Expand Down Expand Up @@ -1568,25 +1569,6 @@ added:

Enable experimental support for the worker inspection with Chrome DevTools.

### `--expose-gc`

<!-- YAML
added:
- v22.3.0
- v20.18.0
-->

> Stability: 1 - Experimental. This flag is inherited from V8 and is subject to
> change upstream.

This flag will expose the gc extension from V8.

```js
if (globalThis.gc) {
globalThis.gc();
}
```

### `--force-context-aware`

<!-- YAML
Expand All @@ -1601,8 +1583,8 @@ Disable loading native addons that are not [context-aware][].
added: v6.0.0
-->

Force FIPS-compliant crypto on startup. (Cannot be disabled from script code.)
(Same requirements as `--enable-fips`.)
Enable [FIPS mode][] at startup and prevent it from being disabled from script
code. The same OpenSSL requirements as [`--enable-fips`][] apply.

### `--force-node-api-uncaught-exceptions-policy`

Expand Down Expand Up @@ -2292,9 +2274,11 @@ usually only useful for developers debugging Node.js itself.
added: v6.9.0
-->

Load an OpenSSL configuration file on startup. Among other uses, this can be
used to enable FIPS-compliant crypto if Node.js is built
against FIPS-enabled OpenSSL.
Load an OpenSSL configuration file on startup. The file can activate an
OpenSSL 3 FIPS provider or configure a FIPS-capable OpenSSL 1.1.1 build. See
[FIPS mode][].

This option takes precedence over the `OPENSSL_CONF` environment variable.

### `--openssl-legacy-provider`

Expand Down Expand Up @@ -2910,7 +2894,7 @@ files must meet **both** criteria to be included in the coverage report.
### `--test-coverage-include-all`

<!-- YAML
added: REPLACEME
added: v26.7.0
-->

> Stability: 1 - Experimental
Expand Down Expand Up @@ -4275,9 +4259,8 @@ environment variable is arbitrary.
added: v6.11.0
-->

Load an OpenSSL configuration file on startup. Among other uses, this can be
used to enable FIPS-compliant crypto if Node.js is built with
`./configure --openssl-fips`.
Load an OpenSSL configuration file on startup. The file can be used as part of
a [FIPS mode][] configuration.

If the [`--openssl-config`][] command-line option is used, the environment
variable is ignored.
Expand Down Expand Up @@ -4484,6 +4467,7 @@ node --stack-trace-limit=12 -p -e "Error.stackTraceLimit" # prints 12
[ECMAScript module]: esm.md#modules-ecmascript-modules
[EventSource Web API]: https://html.spec.whatwg.org/multipage/server-sent-events.html#server-sent-events
[ExperimentalWarning: `vm.measureMemory` is an experimental feature]: vm.md#vmmeasurememoryoptions
[FIPS mode]: crypto.md#fips-mode
[File System Permissions]: permissions.md#file-system-permissions
[Loading ECMAScript modules using `require()`]: modules.md#loading-ecmascript-modules-using-require
[Module resolution and loading]: packages.md#module-resolution-and-loading
Expand Down Expand Up @@ -4513,6 +4497,7 @@ node --stack-trace-limit=12 -p -e "Error.stackTraceLimit" # prints 12
[`--cpu-prof-dir`]: #--cpu-prof-dir
[`--diagnostic-dir`]: #--diagnostic-dirdirectory
[`--disable-sigusr1`]: #--disable-sigusr1
[`--enable-fips`]: #--enable-fips
[`--env-file-if-exists`]: #--env-file-if-existsfile
[`--env-file`]: #--env-filefile
[`--experimental-sea-config`]: single-executable-applications.md#1-generating-single-executable-preparation-blobs
Expand Down
Loading
Loading