-
Notifications
You must be signed in to change notification settings - Fork 5k
tls: close_notify on end(), injected-socket upgrades, reject-handshake wire fix, duplex data-loss, SNI, ALPN (+14 tests, tls 81%→86%) #34598
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
Merged
Merged
Changes from 93 commits
Commits
Show all changes
117 commits
Select commit
Hold shift + click to select a range
f6022cc
node:tls: sync the test suite to Node v26.3.0 and fix the gaps it sur…
cirospaciari b93229c
Merge branch 'main' into claude/node-tls-26-compat
cirospaciari 100afc9
node:tls: give the exported SecureContext constructor its own SSL_CTX…
cirospaciari cc40e66
node:net: defer abandoned-socket EOF teardown; keep close(hadError) N…
alii 613f6e8
node:tls: constructor authorizationError=null; build _sharedCreds onc…
alii da98a0d
tls: auto-chain regardless of user ca; map invalid_crl to ERR_CRYPTO_…
alii 88610f8
node:tls,node:net: block prototype-pollution of TLS verification; mat…
cirospaciari 8c24159
tls: apply SSL_VERIFY_NONE per socket on a !requestCert server adopt
cirospaciari 781ffe4
tls: setMaxSendFragment returns false out of OpenSSL's range instead …
cirospaciari 068eb3c
net: only decrement a server's connection count for sockets it counted
cirospaciari 1445535
ci: re-point the tls SSL_CTX LSan suppression at its post-#29932 symbols
cirospaciari d9dd85a
ci: rebuild — the darwin-26-aarch64 agent pool recovered, previous bu…
cirospaciari 9d11d99
node:net,node:tls: honor onread's false with the true sentinel; fail …
cirospaciari ee269da
tls: use BoringSSL's handshake-time auto-chain instead of an eager st…
cirospaciari b122868
tls: pin the mirrored BoringSSL group table with a test and an upgrad…
cirospaciari 2316052
node:net: read() on a paused onread socket still redelivers the decli…
cirospaciari 3d1e593
node:tls: surface a natively-rejected key from the STARTTLS wrap on t…
cirospaciari 3d3c70f
Merge branch 'main' into claude/node-tls-26-compat
cirospaciari 5cb13c4
tls: a bare secureContext server upgrade keeps the context's verify mode
cirospaciari 7c3ede6
Merge branch 'main' into claude/node-tls-26-compat
cirospaciari 74d2a9e
node:tls: address review — shared symbols, native CA parsing, minimal…
cirospaciari 9c12148
tls: release the listener's SSL_CTX at close() and drop the LSan supp…
cirospaciari 15a4c4f
Merge commit 'refs/tmp/mainnow' into ciro/tls2630-merge
cirospaciari 893d8aa
test(node/tls): reword three upstream comment markers in vendored v26…
robobun 0dbe84c
Revert "test(node/tls): reword three upstream comment markers in vend…
robobun 19fc7ae
tls: guard setDefaultCACertificates empty-result on snapshot.length
robobun ae9a524
test(net): widen mongodb-pattern RSS bound to 16MB on release
robobun a4dcc15
Merge remote-tracking branch 'origin/main' into claude/node-tls-26-co…
cirospaciari a3ba65e
http: port the InvalidCRL error to the per-crate error enum
cirospaciari 341a92d
Merge branch 'main' into claude/node-tls-26-compat
cirospaciari 475e825
src: strip PR-added comments not from Node.js source
robobun f2ef76f
Merge remote-tracking branch 'origin/main' into claude/node-tls-26-co…
robobun 72ccd5c
net: fix ServerHandlers.error TLS detection (this vs data) exposed by…
robobun 1a82a2d
test(node/tls): reword three upstream comment markers in the vendored…
robobun 96081d6
net: ServerHandlers.error TLS branch now destroys instead of no-op de…
robobun 0dfd2dd
Revert "test(node/tls): reword three upstream comment markers in the …
robobun 4c429d6
net: use ErrnoException for the onread zero-length ENOBUFS
robobun ed5be06
Revert "net: use ErrnoException for the onread zero-length ENOBUFS"
robobun 5bf4147
net: drop stale 'delegation above is a no-op' sentence from the Plain…
robobun 1eeea8e
net: SocketEmitEndNT delegates to finishSocketEnd for the EOF body
robobun b65ea59
Merge branch 'main' into claude/node-tls-26-compat
cirospaciari 00b8c5f
Merge branch 'main' into claude/node-tls-26-compat
cirospaciari 0fc6370
test(net): widen handle-leak RSS margin to 24MB on release
robobun d7139f8
Merge remote-tracking branch 'origin/main' into claude/node-tls-26-co…
robobun 37e5363
test(tls): bind ssl-ctx-cache servers to 127.0.0.1 explicitly
robobun f7881db
Merge branch 'main' into claude/node-tls-26-compat
cirospaciari e4dc6ba
test(net,tls): bind PR-added servers and clients to 127.0.0.1 explicitly
robobun d4b92a1
[autofix.ci] apply automated fixes
autofix-ci[bot] 5856176
test(net): add rationale for the handle-leak RSS margin and fix stale…
robobun 44134b9
test(net): widen connect({path}) reused-handle page-count threshold t…
robobun 8f2235e
tls: vendor test-tls-delayed-attach-error from Node v26.3.0
cirospaciari d6e2b68
tls: stage duplex bytes that arrive before the TLS engine starts
cirospaciari 4a8b668
[autofix.ci] apply automated fixes
autofix-ci[bot] 4fca545
tls: honour requestCert on the duplex path, deliver a pre-engine EOF
cirospaciari 562bfb8
tls: SNICallback on adopted sockets, server-side ALPN on the adopt path
cirospaciari 2c898a8
test: quarantine worker-terminate ASAN crashes, matching main
cirospaciari f413d61
test: quarantine musl-only onGC timing flakes, matching #34631
cirospaciari 6c35398
test: mark no-orphans flaky on macOS
cirospaciari e60fd5a
test: quarantine http2 reset-flood ASAN crash
cirospaciari c4cc821
tls: send close_notify on end() and flush it on the duplex path (+3 t…
cirospaciari a7d1efe
[autofix.ci] apply automated fixes
autofix-ci[bot] 8c733fe
Remove scratch folder
Jarred-Sumner b3dbbcf
test: drop expectations.txt changes from this branch
Jarred-Sumner 16468e6
test: sync expectations.txt to current main
cirospaciari dc2078b
jsc: drain queued JIT plans before an explicit synchronous GC
cirospaciari d78bc17
ci: allow binary size growth for the node-v26 compat stack [allow size]
cirospaciari c4f0dc5
jsc: sanitize the stack before an explicit synchronous GC
cirospaciari 605c98b
ci: keep the binary size allowance on the stack tip [allow size]
cirospaciari 8426d12
event loop: scrub callee stack before timer and immediate dispatch
cirospaciari e838710
event loop: add the missing safety comment on the scrub memset [allow…
cirospaciari 1c05b51
ci: keep the binary size allowance on the stack tip [allow size]
cirospaciari 273f2e7
timers: keep safety comments adjacent to their unsafe blocks [allow s…
cirospaciari 1991dda
ci: keep the binary size allowance on the stack tip [allow size]
cirospaciari 7233c65
test harness: expose gc() with Node's synchronous semantics
cirospaciari 89830b3
ci: keep the binary size allowance on the stack tip [allow size]
cirospaciari 6b3857d
event loop: widen the callee-stack scrub window to 32 KB [allow size]
cirospaciari ab02c18
timers: scrub the callee stack inside drain_timers, covering all plat…
cirospaciari 9a26b36
ci: keep the binary size allowance on the stack tip [allow size]
cirospaciari 909eb69
Remove the explicit-GC stack-scrub and JIT-drain experiments
cirospaciari 562ba7d
tls: move the duplex server-verify override into SSLWrapper
cirospaciari 42ee0fb
[autofix.ci] apply automated fixes
autofix-ci[bot] 8af2ae5
ci: keep the binary size allowance on the stack tip [allow size]
cirospaciari fd590d4
Address review findings: TLS spill-close hang, buffer and guard cleanups
cirospaciari 3555483
tls: fix injected/wrapped-socket upgrades (double TLS, pre-wrap write…
cirospaciari 56f26c7
lint: hoist the handle read above the destroy conditional chain [allo…
cirospaciari d13336c
net: hoist the adopted-TLS-pair close deferral into named NT helpers
cirospaciari 6e1d618
test: pin the rejected-handshake socket semantics to node v26.3.0
cirospaciari 652900e
Merge branch 'main' into claude/tls-delayed-attach-error
robobun 61c0c4b
Address review: scope abandoned-socket teardown to server sockets; gu…
robobun 9f069ae
tls: fail closed on inline-rejected handshakes
cirospaciari 7404446
test: accumulate chunks before asserting in the late-reader client test
robobun 7b7f602
Merge main into claude/tls-delayed-attach-error
cirospaciari ff85f01
ci: keep the binary size allowance on the stack tip [allow size]
cirospaciari 445f997
net: emit kUpgradeAttached on the deferred-adoption duplex fallback
robobun 1ee64e0
net: use reportError for a throwing secureConnection listener
robobun c99b5e7
tls: route handshake-callback throws to uncaughtException, drop the J…
robobun 0c8282e
net: re-run the kReaderInterest check after secureConnection for TLS …
robobun f87c692
tls: keep call_error_handler for Bun-native; scope the uncaughtExcept…
robobun 464d953
test: revert expectations.txt additions
robobun 3c1508e
tls: report throwing 'secure'/'secureConnect' listeners on the client…
cirospaciari b69b20b
node:tls: wire ecdhCurve through to SSL_CTX_set1_groups_list
robobun 0ab9c3c
http: make create_bun_socket_error_t match exhaustive in HTTPContext
robobun c49a526
uws: use BUFFER_SIZE for the close_notify drain; trim comments to <=3…
robobun a040f5b
ci: retrigger
robobun 5287b6c
test: use module-scope harness imports in the new handshake-throw tests
robobun c2c02b4
test: also handshake P-384 against an ecdhCurve:'auto' server
robobun 1e87c93
openssl: leave BoringSSL error on queue when ecdh_curve rejects
robobun 29701d3
test: move ecdhCurve coverage to its own file
robobun 55b277b
node:tls: read tls.DEFAULT_ECDH_CURVE as the fallback for omitted ecd…
robobun d15621a
Merge remote-tracking branch 'origin/farm/782bad99/tls-ecdh-curve' in…
robobun 7b0fcbc
test: createServer rejects an unknown ecdhCurve synchronously, like Node
robobun adc5aae
tls: match node's user-visible secure/secureConnect contract and _tls…
cirospaciari 8bcd86e
tls: fail closed on every failed handshake flavor, not just policy re…
cirospaciari 859335b
Merge branch 'main' into claude/tls-delayed-attach-error
cirospaciari b9ca36f
Merge branch 'main' into claude/tls-delayed-attach-error
cirospaciari a808a55
net: extract onClientHandshakeComplete; note why the ecdhCurve error …
robobun 99609ea
Merge branch 'main' into claude/tls-delayed-attach-error
cirospaciari File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
Large diffs are not rendered by default.
Oops, something went wrong.
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.