aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/nghttp2/README.rst
diff options
context:
space:
mode:
authorrobot-contrib <robot-contrib@yandex-team.com>2022-12-02 12:06:10 +0300
committerrobot-contrib <robot-contrib@yandex-team.com>2022-12-02 12:06:10 +0300
commit3ff4bfbbd57992ba4c227aea23c74a2cd11847ad (patch)
treef23aab4d0b8b2d84158ad57da4853453c88da2bd /contrib/libs/nghttp2/README.rst
parent7c06d7160fb27755c764763cb9fd1bf917d1c166 (diff)
downloadydb-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.rst46
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)