HTTP/3: got rid of HTTP/2 module dependency.

The Huffman encoder/decoder now can be built separately from HTTP/2 module.
This commit is contained in:
Vladimir Homutov 2021-08-05 11:09:13 +03:00
parent ecadcc5186
commit 9eae4cc19a
3 changed files with 12 additions and 9 deletions

View File

@ -421,9 +421,6 @@ if [ $HTTP = YES ]; then
have=NGX_HTTP_HEADERS . auto/have
HTTP_QUIC=YES
# XXX for Huffman
HTTP_V2=YES
ngx_module_name=ngx_http_v3_module
ngx_module_incs=src/http/v3
ngx_module_deps="src/http/v3/ngx_http_v3.h \
@ -441,6 +438,12 @@ if [ $HTTP = YES ]; then
ngx_module_libs=
ngx_module_link=$HTTP_V3
if [ $HTTP_V2 = NO ]; then
ngx_module_srcs="$ngx_module_srcs \
src/http/v2/ngx_http_v2_huff_decode.c \
src/http/v2/ngx_http_v2_huff_encode.c"
fi
. auto/module
fi

View File

@ -180,6 +180,12 @@ ngx_int_t ngx_http_set_default_types(ngx_conf_t *cf, ngx_array_t **types,
ngx_uint_t ngx_http_degraded(ngx_http_request_t *);
#endif
#if (NGX_HTTP_V2 || NGX_HTTP_V3)
ngx_int_t ngx_http_v2_huff_decode(u_char *state, u_char *src, size_t len,
u_char **dst, ngx_uint_t last, ngx_log_t *log);
size_t ngx_http_v2_huff_encode(u_char *src, size_t len, u_char *dst,
ngx_uint_t lower);
#endif
extern ngx_module_t ngx_http_module;

View File

@ -312,12 +312,6 @@ ngx_int_t ngx_http_v2_add_header(ngx_http_v2_connection_t *h2c,
ngx_int_t ngx_http_v2_table_size(ngx_http_v2_connection_t *h2c, size_t size);
ngx_int_t ngx_http_v2_huff_decode(u_char *state, u_char *src, size_t len,
u_char **dst, ngx_uint_t last, ngx_log_t *log);
size_t ngx_http_v2_huff_encode(u_char *src, size_t len, u_char *dst,
ngx_uint_t lower);
#define ngx_http_v2_prefix(bits) ((1 << (bits)) - 1)