aboutsummaryrefslogtreecommitdiff
path: root/src/http/v3/ngx_http_v3_uni.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/http/v3/ngx_http_v3_uni.c')
-rw-r--r--src/http/v3/ngx_http_v3_uni.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/http/v3/ngx_http_v3_uni.c b/src/http/v3/ngx_http_v3_uni.c
index d6a6e97e6..d0e392de4 100644
--- a/src/http/v3/ngx_http_v3_uni.c
+++ b/src/http/v3/ngx_http_v3_uni.c
@@ -37,8 +37,23 @@ void
ngx_http_v3_init_uni_stream(ngx_connection_t *c)
{
uint64_t n;
+#if (NGX_HTTP_V3_HQ)
+ ngx_http_v3_session_t *h3c;
+#endif
ngx_http_v3_uni_stream_t *us;
+#if (NGX_HTTP_V3_HQ)
+ h3c = ngx_http_v3_get_session(c);
+ if (h3c->hq) {
+ ngx_http_v3_finalize_connection(c,
+ NGX_HTTP_V3_ERR_STREAM_CREATION_ERROR,
+ "uni stream in hq mode");
+ c->data = NULL;
+ ngx_http_v3_close_uni_stream(c);
+ return;
+ }
+#endif
+
ngx_log_debug0(NGX_LOG_DEBUG_HTTP, c->log, 0, "http3 init uni stream");
n = c->quic->id >> 2;