summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorVladimir Homutov <vl@nginx.com>2021-08-05 11:09:13 +0300
committerVladimir Homutov <vl@nginx.com>2021-08-05 11:09:13 +0300
commitd895a831ae76d97999de777d9289e5e6e29c5741 (patch)
tree0758aa4b3e8cab42c7d83bcc7f21d22b6adcbc6d
parentaf83b3c32c26646f2b3bf1b8f097eb175f6b5bb5 (diff)
downloadnginx-d895a831ae76d97999de777d9289e5e6e29c5741.tar.gz
nginx-d895a831ae76d97999de777d9289e5e6e29c5741.tar.bz2
HTTP/3: got rid of HTTP/2 module dependency.
The Huffman encoder/decoder now can be built separately from HTTP/2 module.
-rw-r--r--auto/modules9
-rw-r--r--src/http/ngx_http.h6
-rw-r--r--src/http/v2/ngx_http_v2.h6
3 files changed, 12 insertions, 9 deletions
diff --git a/auto/modules b/auto/modules
index d454466af..7430bfe6b 100644
--- a/auto/modules
+++ b/auto/modules
@@ -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
diff --git a/src/http/ngx_http.h b/src/http/ngx_http.h
index 70109adc2..fb4157715 100644
--- a/src/http/ngx_http.h
+++ b/src/http/ngx_http.h
@@ -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;
diff --git a/src/http/v2/ngx_http_v2.h b/src/http/v2/ngx_http_v2.h
index 349229711..65fc65812 100644
--- a/src/http/v2/ngx_http_v2.h
+++ b/src/http/v2/ngx_http_v2.h
@@ -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)