node/deps/ngtcp2
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
..
nghttp3/lib deps: add ngtcp2 and nghttp3 2021-03-19 08:18:37 -07:00
ngtcp2 deps: add ngtcp2 and nghttp3 2021-03-19 08:18:37 -07:00
.gitignore deps: add ngtcp2 and nghttp3 2021-03-19 08:18:37 -07:00
LICENSE_nghttp3 deps: add ngtcp2 and nghttp3 2021-03-19 08:18:37 -07:00
LICENSE_ngtcp2 deps: add ngtcp2 and nghttp3 2021-03-19 08:18:37 -07:00
README.md deps: add ngtcp2 and nghttp3 2021-03-19 08:18:37 -07:00
config.h deps: add ngtcp2 and nghttp3 2021-03-19 08:18:37 -07:00
ngtcp2.gyp deps: add ngtcp2 and nghttp3 2021-03-19 08:18:37 -07:00

README.md

ngtcp2 and nghttp3

The ngtcp2 and nghttp3 dependencies provide the core functionality for QUIC and HTTP/3.

The sources are pulled from:

In both the ngtcp2 and nghttp3 git repos, the active development occurs in the default branch (currently named master in each).

We only use a subset of the sources for each.

Updating

The nghttp3 library depends on ngtcp2. Both should always be updated together. From ngtcp2 we only want the contents of the lib and crypto directories; from nghttp3 we only want the contents o the lib.

Updating ngtcp2

To update ngtcp2:

$ git clone https://github.com/ngtcp2/ngtcp2
$ cd ngtcp2
$ autoreconf -i
$ ./configure --prefix=$PWD/build --enable-lib-only
$ cp -R lib/* ../node/deps/ngtcp2/ngtcp2/lib/
$ cp -R crypto/* ../node/deps/ngtcp2/ngtcp2/crypto/

Updating nghttp3

To update ngtcp2:

$ git clone https://github.com/ngtcp2/nghttp3
$ cd nghttp3
$ autoreconf -i
$ ./configure --prefix=$PWD/build --enable-lib-only
$ cp -R lib/* ../node/deps/ngtcp2/nghttp3/lib/