Commit Graph

53 Commits

Author SHA1 Message Date
Meghan Denny
809992229f node:net rework (#18962)
Co-authored-by: nektro <5464072+nektro@users.noreply.github.com>
2025-05-28 17:04:37 -07:00
Alistair Smith
58c1372b50 Implements Node.js behaviour for parallel/test-tls-set-ciphers-error.js (#19443) 2025-05-26 13:13:59 -07:00
Alistair Smith
6a363a38da node:net compat: Invalid port test for .listen (#19768) 2025-05-21 11:56:17 -07:00
Jarred Sumner
14b439a115 Fix formatters not running in CI + delete unnecessary files (#19433) 2025-05-08 23:22:16 -07:00
Alistair Smith
a8cc395a20 fix tls-keyengine-invalid-arg-type test (#19505)
Co-authored-by: Meghan Denny <meghan@bun.sh>
2025-05-08 18:52:00 -07:00
pfg
bbc98cb777 test-tls-root-certificates.js (#19426) 2025-05-02 04:03:52 -07:00
Alistair Smith
f5fdd02237 TLSSocket: Match Node.js behaviour in allowHalfOpen property (#19218)
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2025-04-23 18:02:41 -07:00
Ciro Spaciari
8f888be7d5 fix(tls) ECONNRESET behavior (#17505) 2025-02-21 18:33:42 -08:00
Shlomo
506ea28b36 feat: load full certificate bundles from NODE_EXTRA_CA_CERTS (#16782) 2025-02-12 11:42:31 -08:00
Jarred Sumner
7242c1b670 Implement X509Certificate in node:crypto (#16173)
Co-authored-by: Jarred-Sumner <Jarred-Sumner@users.noreply.github.com>
Co-authored-by: Dylan Conway <dylan.conway567@gmail.com>
Co-authored-by: dylan-conway <35280289+dylan-conway@users.noreply.github.com>
2025-01-17 05:24:45 -08:00
Ciro Spaciari
a2e2d114e9 fix(net/tls) fix backpressure pause on socket (#15543) 2024-12-03 12:53:48 -08:00
Ciro Spaciari
471fe7b886 fix(net/tls) fix reusePort, allowHalfOpen, FIN before reconnect (#15452)
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2024-11-27 21:30:30 -08:00
Ciro Spaciari
c04a2d1dfc fix regression on http2-wrapper caused by node.js compatibility improvements on net (#15318) 2024-11-22 15:22:35 -08:00
Ciro Spaciari
183c661c40 net compatibility improvements (#14933)
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2024-11-07 22:03:53 -08:00
Ciro Spaciari
fe8d0079ec tls(Server) fix connectionListener and make alpnProtocol more compatible with node.js (#14695)
Co-authored-by: cirospaciari <cirospaciari@users.noreply.github.com>
2024-10-21 01:58:14 +00:00
Ashcon Partovi
117e1b3883 bun run prettier (#14153)
Co-authored-by: Electroid <Electroid@users.noreply.github.com>
2024-09-24 22:46:18 -07:00
Ciro Spaciari
b1ca81a10d fix(node:net, node:tls) add named pipe support on node:net and node:tls modules (#13838) 2024-09-12 14:06:45 -07:00
Jarred Sumner
1458fcca4a Run formatter 2024-09-06 18:13:08 -07:00
Ciro Spaciari
36c5f843ec feat(tls) add duplex upgrade (#13718) 2024-09-05 19:37:31 -07:00
Jarred Sumner
cd6785771e run prettier and add back format action (#13722) 2024-09-03 21:32:52 -07:00
Ciro Spaciari
c552cb40d1 fix(server/tls/streams) fix onReadFile, streams, avoid shutdown on fatal errors, ensure ssl loop data and server ref count refactor (#12979) 2024-08-03 01:41:18 -07:00
Meghan Denny
fc2c134bc6 test: rewrite "should call close" to use promise instead of done (#12931) 2024-07-29 19:05:44 -07:00
Jarred Sumner
738947bdec Deflake node-tls-connect test 2024-07-20 02:36:08 -07:00
Jarred Sumner
b7efeafc03 Deflake node-tls-connect test 2024-07-19 23:42:23 -07:00
Jarred Sumner
b8c70ba6cf Deflake node-tls-connect test 2024-07-07 09:28:53 -07:00
Ashcon Partovi
d105b048b1 Use Buildkite for CI (#11477) 2024-06-27 14:56:07 -07:00
Ludvig Hozman
ee30e8660c feat(https/fetch): Support custom ca/cert/key in fetch (#11322)
Co-authored-by: Liz3 (Yann HN) <accs@liz3.net>
2024-06-11 10:36:32 -03:00
Ciro Spaciari
a8fcb48609 fix(test) handle connect errors on node-tls-context (#11463) 2024-05-30 13:24:08 -07:00
Jarred Sumner
e1eb4a4753 Improve unhandled error reporting in bun:test (#11386) 2024-05-27 01:55:33 -07:00
Jarred Sumner
12bb5d03a2 Always propagate error in EventEmitter (#11210)
Co-authored-by: Ciro Spaciari <ciro.spaciari@gmail.com>
2024-05-22 16:39:42 -07:00
Georgijs
4df387d59f happy eyeballs (#11206)
Co-authored-by: Georgijs Vilums <=>
Co-authored-by: gvilums <gvilums@users.noreply.github.com>
2024-05-20 22:12:14 -07:00
Meghan Denny
ac6eaac403 test: use resource disposal to ensure servers shutdown even if tests fail (#11106) 2024-05-16 17:26:13 -07:00
Meghan Denny
1e6fa76637 rework node:net.connect arg parsing (#10970) 2024-05-14 17:20:19 -07:00
Meghan Denny
1589a1230d Revert "Align arguments of connect() in node:tls and node:net to Node (#10854)" (#10908) 2024-05-07 20:33:42 -07:00
Henrik Storck
6217d78567 fix: Align arguments of connect() in node:tls and node:net to Node (#10870)
Co-authored-by: dave caruso <me@paperdave.net>
2024-05-07 15:03:38 -07:00
Ciro Spaciari
e0f583df75 feat(SNI) Bun.serve/tls (#10364)
* add SNI support

* add some Bun.serve tests

* more tests

* wip move addServername to

* move addServerName

* clean

* fix types

* cleanup

* make TS happy

* opsie revert back

* version this

* internals

* opsie

---------

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2024-04-19 17:11:05 -07:00
Ciro Spaciari
74d91f6b51 feat(SSL_renegociate) (#10256)
* allow client renegotiation and allow server renegotiation with limits matching nodejs behavior

* wip before the refactoring and context separation

* investigate if BoringSSL can send a SSL_renegotiate request or only accept

* format-off

* option to disable server renegotiation

* allow tls options on https

* dead_socket when connectError

* propagate cert error

* test

* move the logic to the right place

* cleanup

* Update test/js/node/tls/renegotiation.test.ts

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>

---------

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
Co-authored-by: Georgijs <48869301+gvilums@users.noreply.github.com>
2024-04-15 05:00:41 -07:00
dave caruso
d712254128 internal: remove secret hidden internals and introduce new way to call native code from js (#8166)
* oooooh magic

* stuff

* run format

* ok

* yippee

* run the formatter back

* finish things up

* fix webkit

* more

* [autofix.ci] apply automated fixes

* fix compile

* fix compilation on windows, it seems to not work though :(

* update

* a

* v

* ok

* [autofix.ci] apply automated fixes

* OOPS

* bump bun to reduce ci bugs

* a

* js2native is done!

* improve array binding

* rebase

* some final stuff

* wasi fixes

* os

---------

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-03-29 21:47:11 -07:00
Ashcon Partovi
8624a86eba Unmark tests that are now passing on Windows 2024-02-08 13:42:13 -08:00
Jarred Sumner
47e7e004b1 Remove @known-failing-on-windows for tests which are no longer failing on windows 2024-01-24 21:03:32 -08:00
dave caruso
072f2f15ea ci: run windows tests and also run them concurrently (#7758) 2024-01-12 17:02:20 -08:00
Jarred Sumner
b43a8b54cf Implement expect.unreachable(msg?: string | Error) (#7131)
* Implement `expect.unreachable`

* UIse expect.unreachable() in some tests

* Use more unreachable

* More unreachable

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-11-15 16:14:13 -08:00
Ciro Spaciari
4d780837ac fix(fetch) (#6672)
* fix fetch

* oops

* revert

* fix checkServerIdentity

* check dns len

* use same checks on wsclient and fetch, fix tests

* more tests and more fixes

* fix node-http flask test

* orelse

* fix requestCert

* more fixes, but no data receiving

* fix pause on connect behavior on TLS

* WS Client + rejectUnauthorized progress

* move test to the right place

* more test

* oops

* oops 2

* fmt

* cleanup

* WIP: handle handshake properly on uWS

* handle rejectUnauthorized in uWS

* fmt

* duplicated test

* fix leak

* add rejectUnauthorized option in WS types

* fix merge

* fix merge2
2023-10-30 12:56:31 -07:00
Ciro Spaciari
4360ec83b4 feat(fetch) rejectUnauthorized and checkServerIdentity (#4514)
* enable root certs on fetch

* rebase

* fix lookup

* some fixes and improvements

* fmt

* more fixes

* more fixes

* check detached onHandshake

* fix promise case

* fix cert non-Native

* add fetch tls tests

* more one test
2023-09-06 22:23:24 -07:00
Dylan Conway
0019073c8a fix Bun.serve with tls and Bun.file (#4450)
* check sendfile ctx

* add test

* undo blob check

* undo undo and add assert
2023-09-01 20:10:54 -07:00
Ciro Spaciari
eba27540b0 Fix some flaky tests (#3919)
* fix some flask tests

* fix condition on prisma test

* oops
2023-08-01 19:06:08 -07:00
Ciro Spaciari
e7c80b90b8 fix(tls) exposes native canonicalizeIP and fix rootCertificates (#3866)
* exposes native canonicalizeIP

* remove unintended duplicate

* add tests

* add tests for debug builds

* add rootCertificates test and fix len

* just randomize test ids on prisma

* remove work around and bump usockets with the actual fix

* fix case

* bump uws
2023-07-28 15:43:15 -07:00
Ciro Spaciari
f63398ffe4 update root certificates and add tls.rootCertificates (#3688)
* implement tls.rootCertificates

* add test

* bump uws/usockets

* bump uws + .len on certs
2023-07-19 16:02:29 -07:00
Ciro Spaciari
49231b2cb9 patch checkServerIdentity (#3671) 2023-07-18 16:03:05 -07:00
Ciro Spaciari
13b54fbdb8 [tls] General compatibility improvements (#3596)
* wip

* subjectaltname

* more progress

* bindings

* fmt

* getCert/getPeerCertificate

* fix checkServerIdentity

* fix checkServerIdentity

* add a lot of TLSSocket functions

* getEphemeralKeyInfo fix and comment

* add alternative for getEphemeralKeyInfo

* add get session and set session

* fix isSessionReused

* get back the raw data for MSSQL

* fixeup

* fixup getSession + tests

* fix doc + fmt

* getFinished/getPeerFinished

* codegen

* fixup

* revert webkit

* more fixes

* ssl helper + revert test oops

* asserts
2023-07-17 19:39:09 -07:00