]> git.feebdaed.xyz Git - 0xmirror/nginx.git/commitdiff
HTTP/3: fixed NGX_HTTP_V3_VARLEN_INT_LEN value.
authorRoman Arutyunyan <arut@nginx.com>
Fri, 18 Apr 2025 07:16:57 +0000 (11:16 +0400)
committerRoman Arutyunyan <arutyunyan.roman@gmail.com>
Fri, 18 Apr 2025 11:28:00 +0000 (15:28 +0400)
After fixing ngx_http_v3_encode_varlen_int() in 400eb1b628,
NGX_HTTP_V3_VARLEN_INT_LEN retained the old value of 4, which is
insufficient for the values over 1073741823 (1G - 1).

The NGX_HTTP_V3_VARLEN_INT_LEN macro is used in ngx_http_v3_uni.c to
format stream and frame types.  Old buffer size is enough for formatting
this data.  Also, the macro is used in ngx_http_v3_filter_module.c to
format output chunks and trailers.  Considering output_buffers and
proxy_buffer_size are below 1G in all realistic scenarios, the old buffer
size is enough here as well.

src/http/v3/ngx_http_v3.h

index 9dcb5e6a7dd384684aca5b4f563e380552596f9b..8fd212c1f085d469e58ad0a9f1f3962b010b4d3f 100644 (file)
@@ -23,7 +23,7 @@
 #define NGX_HTTP_V3_HQ_ALPN_PROTO                  "\x0Ahq-interop"
 #define NGX_HTTP_V3_HQ_PROTO                       "hq-interop"
 
-#define NGX_HTTP_V3_VARLEN_INT_LEN                 4
+#define NGX_HTTP_V3_VARLEN_INT_LEN                 8
 #define NGX_HTTP_V3_PREFIX_INT_LEN                 11
 
 #define NGX_HTTP_V3_STREAM_CONTROL                 0x00