diff options
author | robot-contrib <robot-contrib@yandex-team.com> | 2022-12-02 12:06:10 +0300 |
---|---|---|
committer | robot-contrib <robot-contrib@yandex-team.com> | 2022-12-02 12:06:10 +0300 |
commit | 3ff4bfbbd57992ba4c227aea23c74a2cd11847ad (patch) | |
tree | f23aab4d0b8b2d84158ad57da4853453c88da2bd /contrib/libs/nghttp2/README.rst | |
parent | 7c06d7160fb27755c764763cb9fd1bf917d1c166 (diff) | |
download | ydb-3ff4bfbbd57992ba4c227aea23c74a2cd11847ad.tar.gz |
Update contrib/libs/nghttp2 to 1.51.0
Diffstat (limited to 'contrib/libs/nghttp2/README.rst')
-rw-r--r-- | contrib/libs/nghttp2/README.rst | 46 |
1 files changed, 25 insertions, 21 deletions
diff --git a/contrib/libs/nghttp2/README.rst b/contrib/libs/nghttp2/README.rst index 22d54810d2..5387db58e3 100644 --- a/contrib/libs/nghttp2/README.rst +++ b/contrib/libs/nghttp2/README.rst @@ -14,9 +14,11 @@ An HPACK encoder and decoder are available as a public API. Development Status ------------------ -We have implemented `RFC 7540 <https://tools.ietf.org/html/rfc7540>`_ -HTTP/2 and `RFC 7541 <https://tools.ietf.org/html/rfc7541>`_ HPACK - -Header Compression for HTTP/2 +nghttp2 was originally developed based on `RFC 7540 +<https://tools.ietf.org/html/rfc7540>`_ HTTP/2 and `RFC 7541 +<https://tools.ietf.org/html/rfc7541>`_ HPACK - Header Compression for +HTTP/2. Now we are updating our code to implement `RFC 9113 +<https://datatracker.ietf.org/doc/html/rfc9113>`_. The nghttp2 code base was forked from the spdylay (https://github.com/tatsuhiro-t/spdylay) project. @@ -114,16 +116,6 @@ The Python bindings (deprecated) require the following packages: * python >= 3.8 * python-setuptools -If you are using Ubuntu 16.04 LTS (Xenial Xerus) or Debian 8 (jessie) -and above, run the following to install the required packages: - -.. code-block:: text - - sudo apt-get install g++ make binutils autoconf automake autotools-dev libtool pkg-config \ - zlib1g-dev libcunit1-dev libssl-dev libxml2-dev libev-dev libevent-dev libjansson-dev \ - libc-ares-dev libjemalloc-dev libsystemd-dev \ - cython python3-dev python-setuptools - To enable mruby support for nghttpx, `mruby <https://github.com/mruby/mruby>`_ is required. We need to build mruby with C++ ABI explicitly turned on, and probably need other @@ -148,10 +140,10 @@ To enable the experimental HTTP/3 support for h2load and nghttpx, the following libraries are required: * `OpenSSL with QUIC support - <https://github.com/quictls/openssl/tree/OpenSSL_1_1_1q+quic>`_; or + <https://github.com/quictls/openssl/tree/OpenSSL_1_1_1s+quic>`_; or `BoringSSL <https://boringssl.googlesource.com/boringssl/>`_ (commit - 04989786e9ab16cef5261bbd05a2b1a8cb312dbf) -* `ngtcp2 <https://github.com/ngtcp2/ngtcp2>`_ >= 0.9.0 + b2536a2c6234496ef609e7c909936bbf828dac6d) +* `ngtcp2 <https://github.com/ngtcp2/ngtcp2>`_ >= 0.10.0 * `nghttp3 <https://github.com/ngtcp2/nghttp3>`_ >= 0.7.0 Use ``--enable-http3`` configure option to enable HTTP/3 feature for @@ -167,7 +159,7 @@ Use ``--with-libbpf`` configure option to build eBPF program. libelf-dev is needed to build libbpf. For Ubuntu 20.04, you can build libbpf from `the source code -<https://github.com/libbpf/libbpf/releases/tag/v1.0.0>`_. nghttpx +<https://github.com/libbpf/libbpf/releases/tag/v1.0.1>`_. nghttpx requires eBPF program for reloading its configuration and hot swapping its executable. @@ -221,6 +213,18 @@ language features. responsible to specify the correct values to these variables. For complete list of these variables, run ``./configure -h``. +If you are using Ubuntu 22.04 LTS, run the following to install the +required packages: + +.. code-block:: text + + sudo apt-get install g++ clang make binutils autoconf automake \ + autotools-dev libtool pkg-config \ + zlib1g-dev libcunit1-dev libssl-dev libxml2-dev libev-dev \ + libevent-dev libjansson-dev \ + libc-ares-dev libjemalloc-dev libsystemd-dev \ + ruby-dev bison libelf-dev + Building nghttp2 from release tar archive ----------------------------------------- @@ -352,7 +356,7 @@ Build custom OpenSSL: .. code-block:: text - $ git clone --depth 1 -b OpenSSL_1_1_1q+quic https://github.com/quictls/openssl + $ git clone --depth 1 -b OpenSSL_1_1_1s+quic https://github.com/quictls/openssl $ cd openssl $ ./config --prefix=$PWD/build --openssldir=/etc/ssl $ make -j$(nproc) @@ -375,7 +379,7 @@ Build ngtcp2: .. code-block:: text - $ git clone --depth 1 -b v0.9.0 https://github.com/ngtcp2/ngtcp2 + $ git clone --depth 1 -b v0.11.0 https://github.com/ngtcp2/ngtcp2 $ cd ngtcp2 $ autoreconf -i $ ./configure --prefix=$PWD/build --enable-lib-only \ @@ -389,7 +393,7 @@ from source: .. code-block:: text - $ git clone --depth 1 -b v1.0.0 https://github.com/libbpf/libbpf + $ git clone --depth 1 -b v1.0.1 https://github.com/libbpf/libbpf $ cd libbpf $ PREFIX=$PWD/build make -C src install $ cd .. @@ -404,7 +408,7 @@ Build nghttp2: $ autoreconf -i $ ./configure --with-mruby --with-neverbleed --enable-http3 --with-libbpf \ --disable-python-bindings \ - CC=clang-12 CXX=clang++-12 \ + CC=clang-14 CXX=clang++-14 \ PKG_CONFIG_PATH="$PWD/../openssl/build/lib/pkgconfig:$PWD/../nghttp3/build/lib/pkgconfig:$PWD/../ngtcp2/build/lib/pkgconfig:$PWD/../libbpf/build/lib64/pkgconfig" \ LDFLAGS="$LDFLAGS -Wl,-rpath,$PWD/../openssl/build/lib -Wl,-rpath,$PWD/../libbpf/build/lib64" $ make -j$(nproc) |