Просмотр исходного кода

intermediate changes
ref:0239813337ecf6f7be4c37c4dceb077700c7696d

arcadia-devtools 3 лет назад
Родитель
Сommit
b4eaeb4192

+ 6 - 0
contrib/libs/nghttp2/.yandex_meta/licenses.list.txt

@@ -92,6 +92,7 @@ Daniel Stenberg
 Dave Reisner
 Dave Reisner
 David Beitey
 David Beitey
 David Weekly
 David Weekly
+Dimitris Apostolou
 Dmitri Tikhonov
 Dmitri Tikhonov
 Dmitriy Vetutnev
 Dmitriy Vetutnev
 Don
 Don
@@ -131,6 +132,7 @@ Lorenz Nickel
 Lucas Pardue
 Lucas Pardue
 MATSUMOTO Ryosuke
 MATSUMOTO Ryosuke
 Marc Bachmann
 Marc Bachmann
+Marcelo Trylesinski
 Matt Rudary
 Matt Rudary
 Matt Way
 Matt Way
 Michael Kaufmann
 Michael Kaufmann
@@ -145,12 +147,15 @@ Peter Wu
 Piotr Sikora
 Piotr Sikora
 Raul Gutierrez Segales
 Raul Gutierrez Segales
 Remo E
 Remo E
+Renaud
 Reza Tavakoli
 Reza Tavakoli
 Richard Wolfert
 Richard Wolfert
 Rick Lei
 Rick Lei
 Ross Smith II
 Ross Smith II
+Ryo Ota
 Scott Mitchell
 Scott Mitchell
 Sebastiaan Deckers
 Sebastiaan Deckers
+Shelley Vohr
 Simon Frankenberger
 Simon Frankenberger
 Simone Basso
 Simone Basso
 Soham Sinha
 Soham Sinha
@@ -190,6 +195,7 @@ lstefani
 makovich
 makovich
 mod-h2-dev
 mod-h2-dev
 moparisthebest
 moparisthebest
+robaho
 snnn
 snnn
 yuuki-kodama
 yuuki-kodama
 
 

+ 6 - 0
contrib/libs/nghttp2/AUTHORS

@@ -41,6 +41,7 @@ Daniel Stenberg
 Dave Reisner
 Dave Reisner
 David Beitey
 David Beitey
 David Weekly
 David Weekly
+Dimitris Apostolou
 Dmitri Tikhonov
 Dmitri Tikhonov
 Dmitriy Vetutnev
 Dmitriy Vetutnev
 Don
 Don
@@ -80,6 +81,7 @@ Lorenz Nickel
 Lucas Pardue
 Lucas Pardue
 MATSUMOTO Ryosuke
 MATSUMOTO Ryosuke
 Marc Bachmann
 Marc Bachmann
+Marcelo Trylesinski
 Matt Rudary
 Matt Rudary
 Matt Way
 Matt Way
 Michael Kaufmann
 Michael Kaufmann
@@ -94,12 +96,15 @@ Peter Wu
 Piotr Sikora
 Piotr Sikora
 Raul Gutierrez Segales
 Raul Gutierrez Segales
 Remo E
 Remo E
+Renaud
 Reza Tavakoli
 Reza Tavakoli
 Richard Wolfert
 Richard Wolfert
 Rick Lei
 Rick Lei
 Ross Smith II
 Ross Smith II
+Ryo Ota
 Scott Mitchell
 Scott Mitchell
 Sebastiaan Deckers
 Sebastiaan Deckers
+Shelley Vohr
 Simon Frankenberger
 Simon Frankenberger
 Simone Basso
 Simone Basso
 Soham Sinha
 Soham Sinha
@@ -139,5 +144,6 @@ lstefani
 makovich
 makovich
 mod-h2-dev
 mod-h2-dev
 moparisthebest
 moparisthebest
+robaho
 snnn
 snnn
 yuuki-kodama
 yuuki-kodama

+ 11 - 11
contrib/libs/nghttp2/README.rst

@@ -151,11 +151,11 @@ To enable the experimental HTTP/3 support for h2load and nghttpx, the
 following libraries are required:
 following libraries are required:
 
 
 * `OpenSSL with QUIC support
 * `OpenSSL with QUIC support
-  <https://github.com/quictls/openssl/tree/OpenSSL_1_1_1k+quic>`_; or
+  <https://github.com/quictls/openssl/tree/OpenSSL_1_1_1m+quic>`_; or
   `BoringSSL <https://boringssl.googlesource.com/boringssl/>`_ (commit
   `BoringSSL <https://boringssl.googlesource.com/boringssl/>`_ (commit
-  f6ef1c560ae5af51e2df5d8d2175bed207b28b8f)
-* `ngtcp2 <https://github.com/ngtcp2/ngtcp2>`_
-* `nghttp3 <https://github.com/ngtcp2/nghttp3>`_
+  36a41bf0bf2dd3176f8780e09c03585351f29963)
+* `ngtcp2 <https://github.com/ngtcp2/ngtcp2>`_ >= 0.2.0
+* `nghttp3 <https://github.com/ngtcp2/nghttp3>`_ >= 0.2.0
 
 
 Use ``--enable-http3`` configure option to enable HTTP/3 feature for
 Use ``--enable-http3`` configure option to enable HTTP/3 feature for
 h2load and nghttpx.
 h2load and nghttpx.
@@ -164,13 +164,13 @@ In order to build optional eBPF program to direct an incoming QUIC UDP
 datagram to a correct socket for nghttpx, the following libraries are
 datagram to a correct socket for nghttpx, the following libraries are
 required:
 required:
 
 
-* libbpf-dev >= 0.4.0
+* libbpf-dev >= 0.7.0
 
 
 Use ``--with-libbpf`` configure option to build eBPF program.
 Use ``--with-libbpf`` configure option to build eBPF program.
 libelf-dev is needed to build libbpf.
 libelf-dev is needed to build libbpf.
 
 
 For Ubuntu 20.04, you can build libbpf from `the source code
 For Ubuntu 20.04, you can build libbpf from `the source code
-<https://github.com/libbpf/libbpf/releases/tag/v0.4.0>`_.  nghttpx
+<https://github.com/libbpf/libbpf/releases/tag/v0.7.0>`_.  nghttpx
 requires eBPF program for reloading its configuration and hot swapping
 requires eBPF program for reloading its configuration and hot swapping
 its executable.
 its executable.
 
 
@@ -355,7 +355,7 @@ Build custom OpenSSL:
 
 
 .. code-block:: text
 .. code-block:: text
 
 
-   $ git clone --depth 1 -b OpenSSL_1_1_1l+quic https://github.com/quictls/openssl
+   $ git clone --depth 1 -b OpenSSL_1_1_1m+quic https://github.com/quictls/openssl
    $ cd openssl
    $ cd openssl
    $ ./config --prefix=$PWD/build --openssldir=/etc/ssl
    $ ./config --prefix=$PWD/build --openssldir=/etc/ssl
    $ make -j$(nproc)
    $ make -j$(nproc)
@@ -366,7 +366,7 @@ Build nghttp3:
 
 
 .. code-block:: text
 .. code-block:: text
 
 
-   $ git clone --depth 1 https://github.com/ngtcp2/nghttp3
+   $ git clone --depth 1 -b v0.2.0 https://github.com/ngtcp2/nghttp3
    $ cd nghttp3
    $ cd nghttp3
    $ autoreconf -i
    $ autoreconf -i
    $ ./configure --prefix=$PWD/build --enable-lib-only
    $ ./configure --prefix=$PWD/build --enable-lib-only
@@ -378,7 +378,7 @@ Build ngtcp2:
 
 
 .. code-block:: text
 .. code-block:: text
 
 
-   $ git clone --depth 1 https://github.com/ngtcp2/ngtcp2
+   $ git clone --depth 1 -b v0.2.0 https://github.com/ngtcp2/ngtcp2
    $ cd ngtcp2
    $ cd ngtcp2
    $ autoreconf -i
    $ autoreconf -i
    $ ./configure --prefix=$PWD/build --enable-lib-only \
    $ ./configure --prefix=$PWD/build --enable-lib-only \
@@ -387,12 +387,12 @@ Build ngtcp2:
    $ make install
    $ make install
    $ cd ..
    $ cd ..
 
 
-If your Linux distribution does not have libbpf-dev >= 0.4.0, build
+If your Linux distribution does not have libbpf-dev >= 0.7.0, build
 from source:
 from source:
 
 
 .. code-block:: text
 .. code-block:: text
 
 
-   $ git clone --depth 1 -b v0.4.0 https://github.com/libbpf/libbpf
+   $ git clone --depth 1 -b v0.7.0 https://github.com/libbpf/libbpf
    $ cd libbpf
    $ cd libbpf
    $ PREFIX=$PWD/build make -C src install
    $ PREFIX=$PWD/build make -C src install
    $ cd ..
    $ cd ..

+ 3 - 3
contrib/libs/nghttp2/config.h

@@ -259,7 +259,7 @@
 #define PACKAGE_NAME "nghttp2"
 #define PACKAGE_NAME "nghttp2"
 
 
 /* Define to the full name and version of this package. */
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "nghttp2 1.46.0"
+#define PACKAGE_STRING "nghttp2 1.47.0"
 
 
 /* Define to the one symbol short name of this package. */
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "nghttp2"
 #define PACKAGE_TARNAME "nghttp2"
@@ -268,7 +268,7 @@
 #define PACKAGE_URL ""
 #define PACKAGE_URL ""
 
 
 /* Define to the version of this package. */
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.46.0"
+#define PACKAGE_VERSION "1.47.0"
 
 
 /* The size of `int *', as computed by sizeof. */
 /* The size of `int *', as computed by sizeof. */
 #define SIZEOF_INT_P 8
 #define SIZEOF_INT_P 8
@@ -373,7 +373,7 @@
 
 
 
 
 /* Version number of package */
 /* Version number of package */
-#define VERSION "1.46.0"
+#define VERSION "1.47.0"
 
 
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
    significant byte first (like Motorola and SPARC, unlike Intel). */

+ 2 - 2
contrib/libs/nghttp2/lib/includes/nghttp2/nghttp2ver.h

@@ -29,7 +29,7 @@
  * @macro
  * @macro
  * Version number of the nghttp2 library release
  * Version number of the nghttp2 library release
  */
  */
-#define NGHTTP2_VERSION "1.46.0"
+#define NGHTTP2_VERSION "1.47.0"
 
 
 /**
 /**
  * @macro
  * @macro
@@ -37,6 +37,6 @@
  * release. This is a 24 bit number with 8 bits for major number, 8 bits
  * release. This is a 24 bit number with 8 bits for major number, 8 bits
  * for minor and 8 bits for patch. Version 1.2.3 becomes 0x010203.
  * for minor and 8 bits for patch. Version 1.2.3 becomes 0x010203.
  */
  */
-#define NGHTTP2_VERSION_NUM 0x012e00
+#define NGHTTP2_VERSION_NUM 0x012f00
 
 
 #endif /* NGHTTP2VER_H */
 #endif /* NGHTTP2VER_H */

+ 1 - 1
contrib/libs/nghttp2/lib/nghttp2_buf.h

@@ -99,7 +99,7 @@ void nghttp2_buf_free(nghttp2_buf *buf, nghttp2_mem *mem);
  * |new_cap|. If extensions took place, buffer pointers in |buf| will
  * |new_cap|. If extensions took place, buffer pointers in |buf| will
  * change.
  * change.
  *
  *
- * This function returns 0 if it succeeds, or one of the followings
+ * This function returns 0 if it succeeds, or one of the following
  * negative error codes:
  * negative error codes:
  *
  *
  * NGHTTP2_ERR_NOMEM
  * NGHTTP2_ERR_NOMEM

+ 0 - 2
contrib/libs/nghttp2/lib/nghttp2_frame.c

@@ -654,8 +654,6 @@ int nghttp2_frame_unpack_goaway_payload2(nghttp2_goaway *frame,
     var_gift_payloadlen = 0;
     var_gift_payloadlen = 0;
   }
   }
 
 
-  payloadlen -= var_gift_payloadlen;
-
   if (!var_gift_payloadlen) {
   if (!var_gift_payloadlen) {
     var_gift_payload = NULL;
     var_gift_payload = NULL;
   } else {
   } else {

+ 1 - 1
contrib/libs/nghttp2/lib/nghttp2_frame.h

@@ -46,7 +46,7 @@
 #define NGHTTP2_MAX_FRAME_SIZE_MIN (1 << 14)
 #define NGHTTP2_MAX_FRAME_SIZE_MIN (1 << 14)
 
 
 #define NGHTTP2_MAX_PAYLOADLEN 16384
 #define NGHTTP2_MAX_PAYLOADLEN 16384
-/* The one frame buffer length for tranmission.  We may use several of
+/* The one frame buffer length for transmission.  We may use several of
    them to support CONTINUATION.  To account for Pad Length field, we
    them to support CONTINUATION.  To account for Pad Length field, we
    allocate extra 1 byte, which saves extra large memcopying. */
    allocate extra 1 byte, which saves extra large memcopying. */
 #define NGHTTP2_FRAMEBUF_CHUNKLEN                                              \
 #define NGHTTP2_FRAMEBUF_CHUNKLEN                                              \

+ 5 - 4
contrib/libs/nghttp2/lib/nghttp2_hd.c

@@ -1263,6 +1263,8 @@ int nghttp2_hd_inflate_change_table_size(
     return NGHTTP2_ERR_INVALID_STATE;
     return NGHTTP2_ERR_INVALID_STATE;
   }
   }
 
 
+  inflater->settings_hd_table_bufsize_max = settings_max_dynamic_table_size;
+
   /* It seems that encoder is not required to send dynamic table size
   /* It seems that encoder is not required to send dynamic table size
      update if the table size is not changed after applying
      update if the table size is not changed after applying
      SETTINGS_HEADER_TABLE_SIZE.  RFC 7541 is ambiguous here, but this
      SETTINGS_HEADER_TABLE_SIZE.  RFC 7541 is ambiguous here, but this
@@ -1275,13 +1277,12 @@ int nghttp2_hd_inflate_change_table_size(
     /* Remember minimum value, and validate that encoder sends the
     /* Remember minimum value, and validate that encoder sends the
        value less than or equal to this. */
        value less than or equal to this. */
     inflater->min_hd_table_bufsize_max = settings_max_dynamic_table_size;
     inflater->min_hd_table_bufsize_max = settings_max_dynamic_table_size;
-  }
 
 
-  inflater->settings_hd_table_bufsize_max = settings_max_dynamic_table_size;
+    inflater->ctx.hd_table_bufsize_max = settings_max_dynamic_table_size;
 
 
-  inflater->ctx.hd_table_bufsize_max = settings_max_dynamic_table_size;
+    hd_context_shrink_table_size(&inflater->ctx, NULL);
+  }
 
 
-  hd_context_shrink_table_size(&inflater->ctx, NULL);
   return 0;
   return 0;
 }
 }
 
 

+ 1 - 1
contrib/libs/nghttp2/lib/nghttp2_net.h

@@ -42,7 +42,7 @@
 #if defined(WIN32)
 #if defined(WIN32)
 /* Windows requires ws2_32 library for ntonl family functions.  We
 /* Windows requires ws2_32 library for ntonl family functions.  We
    define inline functions for those function so that we don't have
    define inline functions for those function so that we don't have
-   dependeny on that lib. */
+   dependency on that lib. */
 
 
 #  ifdef _MSC_VER
 #  ifdef _MSC_VER
 #    define STIN static __inline
 #    define STIN static __inline

Некоторые файлы не были показаны из-за большого количества измененных файлов