[PATCH 2 of 3] HTTP/3: trigger 400 (Bad Request) on stream error while blocked
    Roman Arutyunyan 
    arut at nginx.com
       
    Thu Jan  5 15:31:35 UTC 2023
    
    
  
 src/http/v3/ngx_http_v3_request.c |  2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
# HG changeset patch
# User Roman Arutyunyan <arut at nginx.com>
# Date 1672928146 -14400
#      Thu Jan 05 18:15:46 2023 +0400
# Branch quic
# Node ID c44c0a06c4c23e599b164a768d6999880411c2e0
# Parent  480300240a4ea0e03e656039b9498c78b5adc21e
HTTP/3: trigger 400 (Bad Request) on stream error while blocked.
Previously, stream was closed with NGX_HTTP_CLOSE.  However, in a similar case
when recv() returns eof or error, status 400 is triggered.
diff --git a/src/http/v3/ngx_http_v3_request.c b/src/http/v3/ngx_http_v3_request.c
--- a/src/http/v3/ngx_http_v3_request.c
+++ b/src/http/v3/ngx_http_v3_request.c
@@ -554,7 +554,7 @@ ngx_http_v3_process_request(ngx_event_t 
 
         if (rc == NGX_BUSY) {
             if (rev->error) {
-                ngx_http_close_request(r, NGX_HTTP_CLOSE);
+                ngx_http_finalize_request(r, NGX_HTTP_BAD_REQUEST);
                 break;
             }
 
    
    
More information about the nginx-devel
mailing list