Skip to content
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

test: fix test-tls-junk-closes-server #55089

Merged
merged 3 commits into from
Sep 25, 2024

Conversation

mhdawson
Copy link
Member

@mhdawson mhdawson commented Sep 23, 2024

Refs: #53382
Refs: #52482

TLS spec seems to indicate there should should be a response sent when TLS handshake fails. See
https://datatracker.ietf.org/doc/html/rfc8446#page-85

When compiled with OpenSSL32 we see the
the following response '15 03 03 00 02 02 16' which decodes as a fatal (0x02) TLS error alert number 22 (0x16). which corresponds to TLS1_AD_RECORD_OVERFLOW which matches the error we see if NODE_DEBUG is turned on once you get through the define aliases.

If there is a response from the server the test used to hang because the end event will not be emitted until after the response is consumed. This PR fixes the test so it consumes the response.

Some earlier OpenSSL versions did not seem to send a response but the error handling seems to have been re-written/improved in OpenSSL32.

@nodejs-github-bot nodejs-github-bot added needs-ci PRs that need a full CI run. test Issues and PRs related to the tests. labels Sep 23, 2024
Refs: nodejs#53382

TLS spec seems to indicate there should should be a response
sent when TLS handshake fails. See
https://datatracker.ietf.org/doc/html/rfc8446#page-85

When compiled with OpenSSL32 we see the
the following response '15 03 03 00 02 02 16' which
decodes as a fatal (0x02) TLS error alert number 22 (0x16).
which corresponds to TLS1_AD_RECORD_OVERFLOW which matches
the error we see if NODE_DEBUG is turned on once you get
through the define aliases.

If there is a response from the server the test used to
hang because the end event will not be emitted until after
the response is consumed. This PR fixes the test so
it consumes the response.

Some earlier OpenSSL versions did not seem to send a response but
the error handling seems to have been re-written/improved
in OpenSSL32.

Signed-off-by: Michael Dawson <[email protected]>
@richardlau richardlau added the request-ci Add this label to start a Jenkins CI on a PR. label Sep 23, 2024
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Sep 23, 2024
@nodejs-github-bot

This comment was marked as outdated.

Copy link

codecov bot commented Sep 23, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 88.24%. Comparing base (76edde5) to head (ff25b99).
Report is 30 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #55089      +/-   ##
==========================================
- Coverage   88.26%   88.24%   -0.02%     
==========================================
  Files         651      651              
  Lines      183894   183877      -17     
  Branches    35858    35856       -2     
==========================================
- Hits       162315   162266      -49     
- Misses      14882    14893      +11     
- Partials     6697     6718      +21     

see 32 files with indirect coverage changes

@aduh95 aduh95 added the author ready PRs that have at least one approval, no pending requests for changes, and a CI started. label Sep 23, 2024
@nodejs-github-bot
Copy link
Collaborator

@aduh95 aduh95 added the commit-queue Add this label to land a pull request using GitHub Actions. label Sep 24, 2024
@mhdawson
Copy link
Member Author

mhdawson commented Sep 24, 2024

Test on OpenSSL32 (Had already run locally and seen pass, but just in case good to see pass in CI as well) - https://ci.nodejs.org/job/richardlau-node-test-commit-linux-containered/64/ (All tests passed)

@mhdawson mhdawson added the request-ci Add this label to start a Jenkins CI on a PR. label Sep 24, 2024
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Sep 24, 2024
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@richardlau richardlau added commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. and removed commit-queue Add this label to land a pull request using GitHub Actions. labels Sep 24, 2024
@nodejs-github-bot
Copy link
Collaborator

@@ -39,6 +39,22 @@ const server = tls.createServer(options, common.mustNotCall());
server.listen(0, common.mustCall(function() {
const c = net.createConnection(this.address().port);

c.on('data', function() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a nit that can be ignored: replace with c.resume().

@aduh95 aduh95 added the commit-queue Add this label to land a pull request using GitHub Actions. label Sep 24, 2024
@nodejs-github-bot nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Sep 25, 2024
@nodejs-github-bot nodejs-github-bot merged commit 0f7bdcc into nodejs:main Sep 25, 2024
58 checks passed
@nodejs-github-bot
Copy link
Collaborator

Landed in 0f7bdcc

aduh95 pushed a commit to aduh95/node that referenced this pull request Sep 25, 2024
Refs: nodejs#53382

TLS spec seems to indicate there should should be a response
sent when TLS handshake fails. See
https://datatracker.ietf.org/doc/html/rfc8446#page-85

When compiled with OpenSSL32 we see the
the following response '15 03 03 00 02 02 16' which
decodes as a fatal (0x02) TLS error alert number 22 (0x16).
which corresponds to TLS1_AD_RECORD_OVERFLOW which matches
the error we see if NODE_DEBUG is turned on once you get
through the define aliases.

If there is a response from the server the test used to
hang because the end event will not be emitted until after
the response is consumed. This PR fixes the test so
it consumes the response.

Some earlier OpenSSL versions did not seem to send a response but
the error handling seems to have been re-written/improved
in OpenSSL32.

Signed-off-by: Michael Dawson <[email protected]>
PR-URL: nodejs#55089
Refs: nodejs#52482
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Jithil P Ponnan <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
@richardlau richardlau mentioned this pull request Sep 26, 2024
26 tasks
richardlau pushed a commit to aduh95/node that referenced this pull request Sep 27, 2024
Refs: nodejs#53382

TLS spec seems to indicate there should should be a response
sent when TLS handshake fails. See
https://datatracker.ietf.org/doc/html/rfc8446#page-85

When compiled with OpenSSL32 we see the
the following response '15 03 03 00 02 02 16' which
decodes as a fatal (0x02) TLS error alert number 22 (0x16).
which corresponds to TLS1_AD_RECORD_OVERFLOW which matches
the error we see if NODE_DEBUG is turned on once you get
through the define aliases.

If there is a response from the server the test used to
hang because the end event will not be emitted until after
the response is consumed. This PR fixes the test so
it consumes the response.

Some earlier OpenSSL versions did not seem to send a response but
the error handling seems to have been re-written/improved
in OpenSSL32.

Signed-off-by: Michael Dawson <[email protected]>
PR-URL: nodejs#55089
Refs: nodejs#52482
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Jithil P Ponnan <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
targos pushed a commit that referenced this pull request Oct 4, 2024
Refs: #53382

TLS spec seems to indicate there should should be a response
sent when TLS handshake fails. See
https://datatracker.ietf.org/doc/html/rfc8446#page-85

When compiled with OpenSSL32 we see the
the following response '15 03 03 00 02 02 16' which
decodes as a fatal (0x02) TLS error alert number 22 (0x16).
which corresponds to TLS1_AD_RECORD_OVERFLOW which matches
the error we see if NODE_DEBUG is turned on once you get
through the define aliases.

If there is a response from the server the test used to
hang because the end event will not be emitted until after
the response is consumed. This PR fixes the test so
it consumes the response.

Some earlier OpenSSL versions did not seem to send a response but
the error handling seems to have been re-written/improved
in OpenSSL32.

Signed-off-by: Michael Dawson <[email protected]>
PR-URL: #55089
Refs: #52482
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Jithil P Ponnan <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
@aduh95 aduh95 mentioned this pull request Oct 9, 2024
louwers pushed a commit to louwers/node that referenced this pull request Nov 2, 2024
Refs: nodejs#53382

TLS spec seems to indicate there should should be a response
sent when TLS handshake fails. See
https://datatracker.ietf.org/doc/html/rfc8446#page-85

When compiled with OpenSSL32 we see the
the following response '15 03 03 00 02 02 16' which
decodes as a fatal (0x02) TLS error alert number 22 (0x16).
which corresponds to TLS1_AD_RECORD_OVERFLOW which matches
the error we see if NODE_DEBUG is turned on once you get
through the define aliases.

If there is a response from the server the test used to
hang because the end event will not be emitted until after
the response is consumed. This PR fixes the test so
it consumes the response.

Some earlier OpenSSL versions did not seem to send a response but
the error handling seems to have been re-written/improved
in OpenSSL32.

Signed-off-by: Michael Dawson <[email protected]>
PR-URL: nodejs#55089
Refs: nodejs#52482
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Jithil P Ponnan <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
marco-ippolito pushed a commit that referenced this pull request Nov 16, 2024
Refs: #53382

TLS spec seems to indicate there should should be a response
sent when TLS handshake fails. See
https://datatracker.ietf.org/doc/html/rfc8446#page-85

When compiled with OpenSSL32 we see the
the following response '15 03 03 00 02 02 16' which
decodes as a fatal (0x02) TLS error alert number 22 (0x16).
which corresponds to TLS1_AD_RECORD_OVERFLOW which matches
the error we see if NODE_DEBUG is turned on once you get
through the define aliases.

If there is a response from the server the test used to
hang because the end event will not be emitted until after
the response is consumed. This PR fixes the test so
it consumes the response.

Some earlier OpenSSL versions did not seem to send a response but
the error handling seems to have been re-written/improved
in OpenSSL32.

Signed-off-by: Michael Dawson <[email protected]>
PR-URL: #55089
Refs: #52482
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Jithil P Ponnan <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
marco-ippolito pushed a commit that referenced this pull request Nov 17, 2024
Refs: #53382

TLS spec seems to indicate there should should be a response
sent when TLS handshake fails. See
https://datatracker.ietf.org/doc/html/rfc8446#page-85

When compiled with OpenSSL32 we see the
the following response '15 03 03 00 02 02 16' which
decodes as a fatal (0x02) TLS error alert number 22 (0x16).
which corresponds to TLS1_AD_RECORD_OVERFLOW which matches
the error we see if NODE_DEBUG is turned on once you get
through the define aliases.

If there is a response from the server the test used to
hang because the end event will not be emitted until after
the response is consumed. This PR fixes the test so
it consumes the response.

Some earlier OpenSSL versions did not seem to send a response but
the error handling seems to have been re-written/improved
in OpenSSL32.

Signed-off-by: Michael Dawson <[email protected]>
PR-URL: #55089
Refs: #52482
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Jithil P Ponnan <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Nov 21, 2024
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [node](https://nodejs.org) ([source](https://github.com/nodejs/node)) | patch | `20.18.0` -> `20.18.1` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>nodejs/node (node)</summary>

### [`v20.18.1`](https://github.com/nodejs/node/releases/tag/v20.18.1): 2024-11-20, Version 20.18.1 &#x27;Iron&#x27; (LTS), @&#8203;marco-ippolito

[Compare Source](nodejs/node@v20.18.0...v20.18.1)

##### Notable Changes

-   \[[`7a8992b2d6`](nodejs/node@7a8992b2d6)] - **doc**: add abmusse to collaborators (Abdirahim Musse) [#&#8203;55086](nodejs/node#55086)

##### Commits

-   \[[`085c3441fe`](nodejs/node@085c3441fe)] - **assert**: show the diff when deep comparing data with a custom message (Giovanni) [#&#8203;54759](nodejs/node#54759)
-   \[[`01f0b0e7b4`](nodejs/node@01f0b0e7b4)] - **benchmark**: adjust config for deepEqual object (Rafael Gonzaga) [#&#8203;55254](nodejs/node#55254)
-   \[[`a45537269b`](nodejs/node@a45537269b)] - **benchmark**: rewrite detect-esm-syntax benchmark (Joyee Cheung) [#&#8203;55238](nodejs/node#55238)
-   \[[`1a0d8ef64f`](nodejs/node@1a0d8ef64f)] - **benchmark**: add no-warnings to process.has bench (Rafael Gonzaga) [#&#8203;55159](nodejs/node#55159)
-   \[[`2be5d611ce`](nodejs/node@2be5d611ce)] - **benchmark**: create benchmark for typescript (Marco Ippolito) [#&#8203;54904](nodejs/node#54904)
-   \[[`a2aa4fa477`](nodejs/node@a2aa4fa477)] - **benchmark**: include ascii to fs/readfile (Rafael Gonzaga) [#&#8203;54988](nodejs/node#54988)
-   \[[`09849105fe`](nodejs/node@09849105fe)] - **benchmark**: add dotenv benchmark (Aviv Keller) [#&#8203;54278](nodejs/node#54278)
-   \[[`6b3c24dbad`](nodejs/node@6b3c24dbad)] - **buffer**: fix out of range for toString (Jason Zhang) [#&#8203;54553](nodejs/node#54553)
-   \[[`f25a5b6dc4`](nodejs/node@f25a5b6dc4)] - **build**: use rclone instead of aws CLI (Michaël Zasso) [#&#8203;55617](nodejs/node#55617)
-   \[[`0bbeb605de`](nodejs/node@0bbeb605de)] - **build**: fix notify-on-review-wanted action (Rafael Gonzaga) [#&#8203;55304](nodejs/node#55304)
-   \[[`5b35836732`](nodejs/node@5b35836732)] - **build**: include `.nycrc` in coverage workflows (Wuli Zuo) [#&#8203;55210](nodejs/node#55210)
-   \[[`f38d1e90e0`](nodejs/node@f38d1e90e0)] - **build**: notify via slack when review-wanted (Rafael Gonzaga) [#&#8203;55102](nodejs/node#55102)
-   \[[`0b985ec4bb`](nodejs/node@0b985ec4bb)] - **build**: remove -v flag to reduce noise (iwuliz) [#&#8203;55025](nodejs/node#55025)
-   \[[`09f75b27a1`](nodejs/node@09f75b27a1)] - **build**: display free disk space after build in the test-macOS workflow (iwuliz) [#&#8203;55025](nodejs/node#55025)
-   \[[`f25760c4a2`](nodejs/node@f25760c4a2)] - **build**: add the option to generate compile_commands.json in vcbuild.bat (Segev Finer) [#&#8203;52279](nodejs/node#52279)
-   \[[`746e78c4f3`](nodejs/node@746e78c4f3)] - ***Revert*** "**build**: upgrade clang-format to v18" (Chengzhong Wu) [#&#8203;54994](nodejs/node#54994)
-   \[[`67834ee646`](nodejs/node@67834ee646)] - **build**: print `Running XYZ linter...` for py and yml (Aviv Keller) [#&#8203;54386](nodejs/node#54386)
-   \[[`ae34e276a2`](nodejs/node@ae34e276a2)] - **build**: pin doc workflow to Node.js 20 (Richard Lau) [#&#8203;55755](nodejs/node#55755)
-   \[[`d0e871a706`](nodejs/node@d0e871a706)] - **build,win**: add winget config to set up env (Hüseyin Açacak) [#&#8203;54729](nodejs/node#54729)
-   \[[`93ac799b6b`](nodejs/node@93ac799b6b)] - **cli**: fix spacing for port range error (Aviv Keller) [#&#8203;54495](nodejs/node#54495)
-   \[[`3ba2e7bf97`](nodejs/node@3ba2e7bf97)] - ***Revert*** "**console**: colorize console error and warn" (Aviv Keller) [#&#8203;54677](nodejs/node#54677)
-   \[[`2f678ea53b`](nodejs/node@2f678ea53b)] - **crypto**: ensure invalid SubtleCrypto JWK data import results in DataError (Filip Skokan) [#&#8203;55041](nodejs/node#55041)
-   \[[`5d28d98542`](nodejs/node@5d28d98542)] - **deps**: update undici to 6.20.0 (Node.js GitHub Bot) [#&#8203;55329](nodejs/node#55329)
-   \[[`0c7f2fc421`](nodejs/node@0c7f2fc421)] - **deps**: update archs files for openssl-3.0.15+quic1 (Node.js GitHub Bot) [#&#8203;55184](nodejs/node#55184)
-   \[[`da15e7edf5`](nodejs/node@da15e7edf5)] - **deps**: upgrade openssl sources to quictls/openssl-3.0.15+quic1 (Node.js GitHub Bot) [#&#8203;55184](nodejs/node#55184)
-   \[[`381f1f9d08`](nodejs/node@381f1f9d08)] - **deps**: update archs files for openssl-3.0.14+quic1 (Node.js GitHub Bot) [#&#8203;54336](nodejs/node#54336)
-   \[[`48d643f78a`](nodejs/node@48d643f78a)] - **deps**: upgrade openssl sources to quictls/openssl-3.0.14+quic1 (Node.js GitHub Bot) [#&#8203;54336](nodejs/node#54336)
-   \[[`7b1796803b`](nodejs/node@7b1796803b)] - **deps**: update timezone to 2024b (Node.js GitHub Bot) [#&#8203;55056](nodejs/node#55056)
-   \[[`8f1956c588`](nodejs/node@8f1956c588)] - **deps**: update acorn-walk to 8.3.4 (Node.js GitHub Bot) [#&#8203;54950](nodejs/node#54950)
-   \[[`20501a7350`](nodejs/node@20501a7350)] - **deps**: update corepack to 0.29.4 (Node.js GitHub Bot) [#&#8203;54845](nodejs/node#54845)
-   \[[`0f81eafecc`](nodejs/node@0f81eafecc)] - **doc**: fix Markdown linter (Antoine du Hamel) [#&#8203;55344](nodejs/node#55344)
-   \[[`df713f0a98`](nodejs/node@df713f0a98)] - ***Revert*** "**doc**: update test context.assert" (Antoine du Hamel) [#&#8203;55344](nodejs/node#55344)
-   \[[`fd6fc61d2c`](nodejs/node@fd6fc61d2c)] - **doc**: add pmarchini to collaborators (Pietro Marchini) [#&#8203;55331](nodejs/node#55331)
-   \[[`b963db9ee2`](nodejs/node@b963db9ee2)] - **doc**: fix `events.once()` example using `AbortSignal` (Ivo Janssen) [#&#8203;55144](nodejs/node#55144)
-   \[[`50b13bfb12`](nodejs/node@50b13bfb12)] - **doc**: add onboarding details for ambassador program (Marco Ippolito) [#&#8203;55284](nodejs/node#55284)
-   \[[`27564b7811`](nodejs/node@27564b7811)] - **doc**: fix initial default value of autoSelectFamily (Ihor Rohovets) [#&#8203;55245](nodejs/node#55245)
-   \[[`9e7be23aa5`](nodejs/node@9e7be23aa5)] - **doc**: tweak onboarding instructions (Michael Dawson) [#&#8203;55212](nodejs/node#55212)
-   \[[`f412a029c3`](nodejs/node@f412a029c3)] - **doc**: update test context.assert (Pietro Marchini) [#&#8203;55186](nodejs/node#55186)
-   \[[`2f7828debb`](nodejs/node@2f7828debb)] - **doc**: fix unordered error anchors (Antoine du Hamel) [#&#8203;55242](nodejs/node#55242)
-   \[[`d08e4c235b`](nodejs/node@d08e4c235b)] - **doc**: mention addons to experimental permission (Rafael Gonzaga) [#&#8203;55166](nodejs/node#55166)
-   \[[`d65c2458dc`](nodejs/node@d65c2458dc)] - **doc**: use correct dash in stability status (Antoine du Hamel) [#&#8203;55200](nodejs/node#55200)
-   \[[`d9839c16cf`](nodejs/node@d9839c16cf)] - **doc**: fix link in `test/README.md` (Livia Medeiros) [#&#8203;55165](nodejs/node#55165)
-   \[[`1ad659afa4`](nodejs/node@1ad659afa4)] - **doc**: add esm examples to node:net (Alfredo González) [#&#8203;55134](nodejs/node#55134)
-   \[[`81ad69d50f`](nodejs/node@81ad69d50f)] - **doc**: move the YAML changes element (sendoru) [#&#8203;55112](nodejs/node#55112)
-   \[[`7a51a161be`](nodejs/node@7a51a161be)] - **doc**: fix the require resolve algorithm in `modules.md` (chirsz) [#&#8203;55117](nodejs/node#55117)
-   \[[`80edcdf899`](nodejs/node@80edcdf899)] - **doc**: update style guide (Aviv Keller) [#&#8203;53223](nodejs/node#53223)
-   \[[`388c754dd2`](nodejs/node@388c754dd2)] - **doc**: add missing `:` to `run()`'s `globPatterns` (Aviv Keller) [#&#8203;55135](nodejs/node#55135)
-   \[[`94302b6a76`](nodejs/node@94302b6a76)] - **doc**: add abmusse to collaborators (Abdirahim Musse) [#&#8203;55086](nodejs/node#55086)
-   \[[`27ff2da964`](nodejs/node@27ff2da964)] - **doc**: add note about `--expose-internals` (Aviv Keller) [#&#8203;52861](nodejs/node#52861)
-   \[[`df6dc753b7`](nodejs/node@df6dc753b7)] - **doc**: remove `parseREPLKeyword` from REPL documentation (Aviv Keller) [#&#8203;54749](nodejs/node#54749)
-   \[[`4baa5c4d10`](nodejs/node@4baa5c4d10)] - **doc**: change backporting guide with updated info (Aviv Keller) [#&#8203;53746](nodejs/node#53746)
-   \[[`9947fc112f`](nodejs/node@9947fc112f)] - **doc**: add missing definitions to `internal-api.md` (Aviv Keller) [#&#8203;53303](nodejs/node#53303)
-   \[[`a4586f0e94`](nodejs/node@a4586f0e94)] - **doc**: update documentation for externalizing deps (Michael Dawson) [#&#8203;54792](nodejs/node#54792)
-   \[[`70504f8522`](nodejs/node@70504f8522)] - **doc**: update `require(ESM)` history and stability status (Antoine du Hamel) [#&#8203;55199](nodejs/node#55199)
-   \[[`9d0041ac40`](nodejs/node@9d0041ac40)] - **doc**: add release key for aduh95 (Antoine du Hamel) [#&#8203;55349](nodejs/node#55349)
-   \[[`0c1666a52a`](nodejs/node@0c1666a52a)] - **events**: allow null/undefined eventInitDict (Matthew Aitken) [#&#8203;54643](nodejs/node#54643)
-   \[[`453df77f99`](nodejs/node@453df77f99)] - **events**: return `currentTarget` when dispatching (Matthew Aitken) [#&#8203;54642](nodejs/node#54642)
-   \[[`0decaab9db`](nodejs/node@0decaab9db)] - **fs**: acknowledge `signal` option in `filehandle.createReadStream()` (Livia Medeiros) [#&#8203;55148](nodejs/node#55148)
-   \[[`00a2fc7166`](nodejs/node@00a2fc7166)] - **lib**: move `Symbol[Async]Dispose` polyfills to `internal/util` (Antoine du Hamel) [#&#8203;54853](nodejs/node#54853)
-   \[[`8e6b606ac4`](nodejs/node@8e6b606ac4)] - **lib**: remove lib/internal/idna.js (Yagiz Nizipli) [#&#8203;55050](nodejs/node#55050)
-   \[[`c96e5cb664`](nodejs/node@c96e5cb664)] - **lib**: the REPL should survive deletion of Array.prototype methods (Jordan Harband) [#&#8203;31457](nodejs/node#31457)
-   \[[`748ed2e559`](nodejs/node@748ed2e559)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#&#8203;55300](nodejs/node#55300)
-   \[[`8b8d35f015`](nodejs/node@8b8d35f015)] - **meta**: bump mozilla-actions/sccache-action from 0.0.5 to 0.0.6 (dependabot\[bot]) [#&#8203;55225](nodejs/node#55225)
-   \[[`d3441ff0c8`](nodejs/node@d3441ff0c8)] - **meta**: bump actions/checkout from 4.1.7 to 4.2.0 (dependabot\[bot]) [#&#8203;55224](nodejs/node#55224)
-   \[[`1c20908558`](nodejs/node@1c20908558)] - **meta**: bump actions/setup-node from 4.0.3 to 4.0.4 (dependabot\[bot]) [#&#8203;55223](nodejs/node#55223)
-   \[[`8a529abd69`](nodejs/node@8a529abd69)] - **meta**: bump peter-evans/create-pull-request from 7.0.1 to 7.0.5 (dependabot\[bot]) [#&#8203;55219](nodejs/node#55219)
-   \[[`9053d210ab`](nodejs/node@9053d210ab)] - **meta**: add mailmap entry for abmusse (Abdirahim Musse) [#&#8203;55182](nodejs/node#55182)
-   \[[`db2496c125`](nodejs/node@db2496c125)] - **meta**: add more information about nightly releases (Aviv Keller) [#&#8203;55084](nodejs/node#55084)
-   \[[`d2ce003b2f`](nodejs/node@d2ce003b2f)] - **meta**: add `linux` to OS labels in collaborator guide (Aviv Keller) [#&#8203;54986](nodejs/node#54986)
-   \[[`37b0bea247`](nodejs/node@37b0bea247)] - **meta**: remove never-used workflow trigger (Aviv Keller) [#&#8203;54983](nodejs/node#54983)
-   \[[`ae27e2dcd7`](nodejs/node@ae27e2dcd7)] - **meta**: add links to alternative issue trackers (Aviv Keller) [#&#8203;54401](nodejs/node#54401)
-   \[[`6e5d524b0f`](nodejs/node@6e5d524b0f)] - **module**: remove duplicated import (Aviv Keller) [#&#8203;54942](nodejs/node#54942)
-   \[[`3a682cca03`](nodejs/node@3a682cca03)] - **path**: remove repetitive conditional operator in `posix.resolve` (Wiyeong Seo) [#&#8203;54835](nodejs/node#54835)
-   \[[`ac1cb8dfdb`](nodejs/node@ac1cb8dfdb)] - **perf_hooks**: add missing type argument to getEntriesByName (Luke Taher) [#&#8203;54767](nodejs/node#54767)
-   \[[`85b3edc83b`](nodejs/node@85b3edc83b)] - **repl**: catch `\v` and `\r` in new-line detection (Aviv Keller) [#&#8203;54512](nodejs/node#54512)
-   \[[`df1f04999e`](nodejs/node@df1f04999e)] - **src**: decode native error messages as UTF-8 (Joyee Cheung) [#&#8203;55024](nodejs/node#55024)
-   \[[`86d718177a`](nodejs/node@86d718177a)] - **src**: update clang-tidy and focus on modernization (Yagiz Nizipli) [#&#8203;53757](nodejs/node#53757)
-   \[[`7d01b6a9c5`](nodejs/node@7d01b6a9c5)] - **src**: cleanup per env handles directly without a list (Chengzhong Wu) [#&#8203;54993](nodejs/node#54993)
-   \[[`a730cdb622`](nodejs/node@a730cdb622)] - **src**: remove duplicate code setting AF_INET (He Yang) [#&#8203;54939](nodejs/node#54939)
-   \[[`f10d9ad283`](nodejs/node@f10d9ad283)] - **stream**: treat null asyncIterator as undefined (Jason Zhang) [#&#8203;55119](nodejs/node#55119)
-   \[[`6027084245`](nodejs/node@6027084245)] - **test**: make `test-loaders-workers-spawned` less flaky (Antoine du Hamel) [#&#8203;55172](nodejs/node#55172)
-   \[[`66a87d19bd`](nodejs/node@66a87d19bd)] - **test**: update multiple assert tests to use node:test (James M Snell) [#&#8203;54585](nodejs/node#54585)
-   \[[`5105188c47`](nodejs/node@5105188c47)] - **test**: update wpt test for encoding (devstone) [#&#8203;55151](nodejs/node#55151)
-   \[[`81bcec0b82`](nodejs/node@81bcec0b82)] - **test**: deflake test/pummel/test-timers.js (jakecastelli) [#&#8203;55098](nodejs/node#55098)
-   \[[`82c402265a`](nodejs/node@82c402265a)] - **test**: deflake test-http-remove-header-stays-removed (Luigi Pinca) [#&#8203;55004](nodejs/node#55004)
-   \[[`78021701ed`](nodejs/node@78021701ed)] - **test**: fix test-tls-junk-closes-server (Michael Dawson) [#&#8203;55089](nodejs/node#55089)
-   \[[`c908b8a2d8`](nodejs/node@c908b8a2d8)] - **test**: fix more tests that fail when path contains a space (Antoine du Hamel) [#&#8203;55088](nodejs/node#55088)
-   \[[`afc1628e73`](nodejs/node@afc1628e73)] - **test**: fix `assertSnapshot` when path contains a quote (Antoine du Hamel) [#&#8203;55087](nodejs/node#55087)
-   \[[`7c88739b83`](nodejs/node@7c88739b83)] - **test**: fix some tests when path contains `%` (Antoine du Hamel) [#&#8203;55082](nodejs/node#55082)
-   \[[`eb4d468671`](nodejs/node@eb4d468671)] - ***Revert*** "**test**: mark test-fs-watch-non-recursive flaky on Windows" (Luigi Pinca) [#&#8203;55079](nodejs/node#55079)
-   \[[`bc7b5249d4`](nodejs/node@bc7b5249d4)] - **test**: make `test-runner-assert` more robust (Aviv Keller) [#&#8203;55036](nodejs/node#55036)
-   \[[`6c2a1386f7`](nodejs/node@6c2a1386f7)] - **test**: update tls test to support OpenSSL32 (Michael Dawson) [#&#8203;55030](nodejs/node#55030)
-   \[[`96406610fa`](nodejs/node@96406610fa)] - **test**: fix `test-vm-context-dont-contextify` when path contains a space (Antoine du Hamel) [#&#8203;55026](nodejs/node#55026)
-   \[[`39a80eed4f`](nodejs/node@39a80eed4f)] - **test**: adjust tls-set-ciphers for OpenSSL32 (Michael Dawson) [#&#8203;55016](nodejs/node#55016)
-   \[[`bd8fd4fceb`](nodejs/node@bd8fd4fceb)] - **test**: add `util.stripVTControlCharacters` test (RedYetiDev) [#&#8203;54865](nodejs/node#54865)
-   \[[`333b5a02d0`](nodejs/node@333b5a02d0)] - **test**: improve coverage for timer promises schedular (Aviv Keller) [#&#8203;53370](nodejs/node#53370)
-   \[[`f48992f433`](nodejs/node@f48992f433)] - **test**: remove unused common utilities (RedYetiDev) [#&#8203;54825](nodejs/node#54825)
-   \[[`93a098c56d`](nodejs/node@93a098c56d)] - **test**: deflake test-http-header-overflow (Luigi Pinca) [#&#8203;54978](nodejs/node#54978)
-   \[[`f849cf677d`](nodejs/node@f849cf677d)] - **test**: fix `soucre` to `source` (Aviv Keller) [#&#8203;55038](nodejs/node#55038)
-   \[[`1a007ea814`](nodejs/node@1a007ea814)] - **test**: add asserts to validate test assumptions (Michael Dawson) [#&#8203;54997](nodejs/node#54997)
-   \[[`6f53c096f8`](nodejs/node@6f53c096f8)] - **test**: move test-http-max-sockets to parallel (Luigi Pinca) [#&#8203;54977](nodejs/node#54977)
-   \[[`aba9dc775e`](nodejs/node@aba9dc775e)] - **test**: remove test-http-max-sockets flaky designation (Luigi Pinca) [#&#8203;54976](nodejs/node#54976)
-   \[[`ee5624bffe`](nodejs/node@ee5624bffe)] - **test**: adjust key sizes to support OpenSSL32 (Michael Dawson) [#&#8203;54972](nodejs/node#54972)
-   \[[`5c11a61140`](nodejs/node@5c11a61140)] - **test**: update test to support OpenSSL32 (Michael Dawson) [#&#8203;54968](nodejs/node#54968)
-   \[[`62f21470e4`](nodejs/node@62f21470e4)] - **test**: update DOM events web platform tests (Matthew Aitken) [#&#8203;54642](nodejs/node#54642)
-   \[[`426851705c`](nodejs/node@426851705c)] - **test_runner**: assert entry is a valid object (Edigleysson Silva (Edy)) [#&#8203;55231](nodejs/node#55231)
-   \[[`b1cad519d7`](nodejs/node@b1cad519d7)] - **test_runner**: use `test:` symbol on second print of parent test (RedYetiDev) [#&#8203;54956](nodejs/node#54956)
-   \[[`63c8f3d436`](nodejs/node@63c8f3d436)] - **test_runner**: replace ansi clear with ansi reset (Pietro Marchini) [#&#8203;55013](nodejs/node#55013)
-   \[[`0b3fb344f7`](nodejs/node@0b3fb344f7)] - **tools**: add `polyfilled` option to `prefer-primordials` rule (Antoine du Hamel) [#&#8203;55318](nodejs/node#55318)
-   \[[`8981309bd9`](nodejs/node@8981309bd9)] - **tools**: make `choco install` script more readable (Aviv Keller) [#&#8203;54002](nodejs/node#54002)
-   \[[`7310abeae1`](nodejs/node@7310abeae1)] - **tools**: bump Rollup from 4.18.1 to 4.22.4 for `lint-md` (dependabot\[bot]) [#&#8203;55093](nodejs/node#55093)
-   \[[`083311e8af`](nodejs/node@083311e8af)] - **tools**: remove redudant code from eslint require rule (Aviv Keller) [#&#8203;54892](nodejs/node#54892)
-   \[[`ae4b2aece1`](nodejs/node@ae4b2aece1)] - **tools**: update error message for ICU in license-builder (Aviv Keller) [#&#8203;54742](nodejs/node#54742)
-   \[[`3ebd31684d`](nodejs/node@3ebd31684d)] - **tools**: update github_reporter to 1.7.1 (Node.js GitHub Bot) [#&#8203;54951](nodejs/node#54951)
-   \[[`397be8a10e`](nodejs/node@397be8a10e)] - **tty**: fix links for terminal colors (Aviv Keller) [#&#8203;54596](nodejs/node#54596)
-   \[[`a3c2ef9e98`](nodejs/node@a3c2ef9e98)] - **util**: update ansi regex (Aviv Keller) [#&#8203;54865](nodejs/node#54865)
-   \[[`efdccc88a2`](nodejs/node@efdccc88a2)] - **watch**: preserve output when gracefully restarted (Théo LUDWIG) [#&#8203;54323](nodejs/node#54323)
-   \[[`226836c5ac`](nodejs/node@226836c5ac)] - **worker**: throw InvalidStateError in postMessage after close (devstone) [#&#8203;55206](nodejs/node#55206)
-   \[[`f39ff4d14b`](nodejs/node@f39ff4d14b)] - **worker**: handle `--input-type` more consistently (Antoine du Hamel) [#&#8203;54979](nodejs/node#54979)
-   \[[`30383ffb9a`](nodejs/node@30383ffb9a)] - **zlib**: throw brotli initialization error from c++ (Yagiz Nizipli) [#&#8203;54698](nodejs/node#54698)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
tpoisseau pushed a commit to tpoisseau/node that referenced this pull request Nov 21, 2024
Refs: nodejs#53382

TLS spec seems to indicate there should should be a response
sent when TLS handshake fails. See
https://datatracker.ietf.org/doc/html/rfc8446#page-85

When compiled with OpenSSL32 we see the
the following response '15 03 03 00 02 02 16' which
decodes as a fatal (0x02) TLS error alert number 22 (0x16).
which corresponds to TLS1_AD_RECORD_OVERFLOW which matches
the error we see if NODE_DEBUG is turned on once you get
through the define aliases.

If there is a response from the server the test used to
hang because the end event will not be emitted until after
the response is consumed. This PR fixes the test so
it consumes the response.

Some earlier OpenSSL versions did not seem to send a response but
the error handling seems to have been re-written/improved
in OpenSSL32.

Signed-off-by: Michael Dawson <[email protected]>
PR-URL: nodejs#55089
Refs: nodejs#52482
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Jithil P Ponnan <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
author ready PRs that have at least one approval, no pending requests for changes, and a CI started. commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. needs-ci PRs that need a full CI run. test Issues and PRs related to the tests.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants