Commit Graph

18 Commits

Author SHA1 Message Date
James M Snell
65a32bac18 deps: add ngtcp2 test binaries
The goal here is to add the ngtcp2 client and server
samples so that we can use them in CI to test our QUIC
implementation.

PR-URL: https://github.com/nodejs/node/pull/59946
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2025-09-27 12:17:49 -07:00
hqzing
fe889efc69
build: add the missing macro definitions for OpenHarmony
PR-URL: https://github.com/nodejs/node/pull/59804
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2025-09-22 17:57:57 +00:00
James M Snell
36256230b4
src: cleanup quic TransportParams class
PR-URL: https://github.com/nodejs/node/pull/59884
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Reviewed-By: Tim Perry <pimterry@gmail.com>
2025-09-20 14:03:50 +00:00
James M Snell
99c80e3a45 quic: update the guard to check openssl version
Since we need to be able to use the openssl adapter provided
by the ngtcp2 library, and because that adapter does not include
any compile guards to ensure that OpenSSL 3.5 is being used and
that the APIs are actually available, we need to add a compile
time check for the openssl version in order to conditionally
include the adapter to avoid build errors when using a shared
openssl library that is not OpenSSL 3.5.

Signed-off-by: James M Snell <jasnell@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/59249
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2025-08-03 13:48:31 -07:00
James M Snell
ebfc28a037 deps: update nghttp3 to 1.11.0
Signed-off-by: James M Snell <jasnell@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/59249
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2025-08-03 13:48:30 -07:00
James M Snell
dceb1fca40 deps: update ngtcp2 to 1.14.0
Signed-off-by: James M Snell <jasnell@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/59249
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2025-08-03 13:48:29 -07:00
James M Snell
0e754fa5d1 quic: start re-enabling quic with openssl 3.5
Start working on re-enabling QUIC support with the availability
of OpenSSL 3.5. This will be a multi-step process.

Signed-off-by: James M Snell <jasnell@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/59249
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2025-08-03 13:48:27 -07:00
Richard Lau
5ae1224cef deps: update gyp file for ngtcp2 1.11.0
Add source file introduced in ngtcp2 1.11.0 to `ngtcp2.gyp`.

Refs: https://github.com/nodejs/node/pull/57179
PR-URL: https://github.com/nodejs/node/pull/57225
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2025-03-01 19:10:59 +00:00
Node.js GitHub Bot
1fd48f2157
deps: update ngtcp2 to 1.9.0
PR-URL: https://github.com/nodejs/node/pull/55975
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2024-11-26 01:01:52 +00:00
James M Snell
86ca72a4f0 deps: update ngtcp2 and nghttp3
PR-URL: https://github.com/nodejs/node/pull/51291
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2023-12-29 07:33:29 -08:00
MatteoBax
61411bb323
deps: fix call to undeclared functions 'ntohl' and 'htons'
This reverts commit 2070ad27a5fc674909f4bbd34e7d862c625fc54b.

deps: fix call to undeclared functions 'ntohl' and 'htons'
PR-URL: https://github.com/nodejs/node/pull/49979
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Richard Lau <rlau@redhat.com>
2023-10-02 12:44:16 +00:00
Tobias Nießen
7621d56a1b
deps: update to ngtcp2 0.8.1 and nghttp3 0.7.0
Refs: https://github.com/nodejs/node/pull/44619
Co-authored-by: James M Snell <jasnell@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/44622
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2022-09-18 12:06:09 +00:00
James M Snell
43f599b534
deps: add ngtcp2 and nghttp3
Reintroduces the ngtcp2 and nghttp3 dependencies, building those by
default if the vendored-in openssl (with QUIC support) is used or the
shared openssl defines `OPENSSL_INFO_QUIC`.

Upates the version metadata to reflect whether ngtcp2 and nghttp3 are
present.

ngtcp2 as of
2381f7f7b6
nghttp3 as of
66ad30f0a8

Signed-off-by: James M Snell <jasnell@gmail.com>

PR-URL: https://github.com/nodejs/node/pull/37682
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2021-03-19 08:18:37 -07:00
James M Snell
c3d6d50309
quic: remove quic
PR-URL: https://github.com/nodejs/node/pull/37067
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2021-01-30 07:49:28 -08:00
James M Snell
7816e5f7b9
deps: fix indenting of sources in ngtcp2.gyp
PR-URL: https://github.com/nodejs/node/pull/34033
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
2020-06-24 12:33:33 -07:00
James M Snell
6b27d07779
deps: update ngtcp2
PR-URL: https://github.com/nodejs/node/pull/34033
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
2020-06-24 12:32:49 -07:00
Daniel Bevenius
a0cbd676e7
deps: add defines to nghttp3/ngtcp2 gyp configs
This commit adds two defines to ngtcp2, 'HAVE_ARPA_INET_H' and
'HAVE_NETINET_IN_H', and one define to nghttp3, 'HAVE_ARPA_INET_H' when
the operating system in use is linux.

The motivation for this is that currently, there are compiler warnings
generated for these libraries similar to the following:

../deps/ngtcp2/lib/ngtcp2_conv.c: In function ‘ngtcp2_put_uint16be’:
../deps/ngtcp2/lib/ngtcp2_conv.c:129:7: warning:
implicit declaration of function ‘htons’ [-Wimplicit-function-declaration]
  129 |   n = htons(n);
      |       ^~~~~

The inclusion of 'arpa/inet.h' is guarded by the 'HAVE_ARPA_INET_H'
macro (see deps/ngtcp2/lib/ngtcp2_conv.h).

These headers are checked by the ngtcp2 and nghttp3 builds using CMake's
CheckIncludeFile, and if they are available the above macros are defined.

I'm not sure if we need to have something similar to those checks or
ifit is alright to add these defines for certain operating systems.
Hopefully others will chime in and advice on how to handle this in the
best way.

PR-URL: https://github.com/nodejs/node/pull/33942
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-06-22 11:03:10 -07:00
James M Snell
834fa8f23f
deps: add ngtcp2 and nghttp3
Signed-off-by: James M Snell <jasnell@gmail.com>

PR-URL: https://github.com/nodejs/node/pull/32379
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-06-16 09:23:16 -07:00