Browse Source

intermediate changes
ref:0239813337ecf6f7be4c37c4dceb077700c7696d

arcadia-devtools 3 years ago
parent
commit
b4eaeb4192

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

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

+ 6 - 0
contrib/libs/nghttp2/AUTHORS

@@ -41,6 +41,7 @@ Daniel Stenberg
 Dave Reisner
 David Beitey
 David Weekly
+Dimitris Apostolou
 Dmitri Tikhonov
 Dmitriy Vetutnev
 Don
@@ -80,6 +81,7 @@ Lorenz Nickel
 Lucas Pardue
 MATSUMOTO Ryosuke
 Marc Bachmann
+Marcelo Trylesinski
 Matt Rudary
 Matt Way
 Michael Kaufmann
@@ -94,12 +96,15 @@ Peter Wu
 Piotr Sikora
 Raul Gutierrez Segales
 Remo E
+Renaud
 Reza Tavakoli
 Richard Wolfert
 Rick Lei
 Ross Smith II
+Ryo Ota
 Scott Mitchell
 Sebastiaan Deckers
+Shelley Vohr
 Simon Frankenberger
 Simone Basso
 Soham Sinha
@@ -139,5 +144,6 @@ lstefani
 makovich
 mod-h2-dev
 moparisthebest
+robaho
 snnn
 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:
 
 * `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
-  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
 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
 required:
 
-* libbpf-dev >= 0.4.0
+* libbpf-dev >= 0.7.0
 
 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/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
 its executable.
 
@@ -355,7 +355,7 @@ Build custom OpenSSL:
 
 .. 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
    $ ./config --prefix=$PWD/build --openssldir=/etc/ssl
    $ make -j$(nproc)
@@ -366,7 +366,7 @@ Build nghttp3:
 
 .. 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
    $ autoreconf -i
    $ ./configure --prefix=$PWD/build --enable-lib-only
@@ -378,7 +378,7 @@ Build ngtcp2:
 
 .. 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
    $ autoreconf -i
    $ ./configure --prefix=$PWD/build --enable-lib-only \
@@ -387,12 +387,12 @@ Build ngtcp2:
    $ make install
    $ 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:
 
 .. 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
    $ PREFIX=$PWD/build make -C src install
    $ cd ..

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

@@ -259,7 +259,7 @@
 #define PACKAGE_NAME "nghttp2"
 
 /* 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 PACKAGE_TARNAME "nghttp2"
@@ -268,7 +268,7 @@
 #define PACKAGE_URL ""
 
 /* 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. */
 #define SIZEOF_INT_P 8
@@ -373,7 +373,7 @@
 
 
 /* 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
    significant byte first (like Motorola and SPARC, unlike Intel). */

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

@@ -29,7 +29,7 @@
  * @macro
  * Version number of the nghttp2 library release
  */
-#define NGHTTP2_VERSION "1.46.0"
+#define NGHTTP2_VERSION "1.47.0"
 
 /**
  * @macro
@@ -37,6 +37,6 @@
  * 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.
  */
-#define NGHTTP2_VERSION_NUM 0x012e00
+#define NGHTTP2_VERSION_NUM 0x012f00
 
 #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
  * 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:
  *
  * 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;
   }
 
-  payloadlen -= var_gift_payloadlen;
-
   if (!var_gift_payloadlen) {
     var_gift_payload = NULL;
   } 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_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
    allocate extra 1 byte, which saves extra large memcopying. */
 #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;
   }
 
+  inflater->settings_hd_table_bufsize_max = settings_max_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
      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
        value less than or equal to this. */
     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;
 }
 

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

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

Some files were not shown because too many files changed in this diff