changeset 7647:716eddd74bc2

gRPC: WINDOW_UPDATE after END_STREAM handling (ticket #1797). As per https://tools.ietf.org/html/rfc7540#section-6.9, WINDOW_UPDATE received after a frame with the END_STREAM flag should be handled and not treated as an error.
author Ruslan Ermilov <ru@nginx.com>
date Thu, 23 Apr 2020 15:10:26 +0300
parents 2096b21fcd10
children 028b16e2798f
files src/http/modules/ngx_http_grpc_module.c
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/http/modules/ngx_http_grpc_module.c
+++ b/src/http/modules/ngx_http_grpc_module.c
@@ -2091,7 +2091,8 @@ ngx_http_grpc_filter(void *data, ssize_t
             }
 
             if (ctx->stream_id && ctx->done
-                && ctx->type != NGX_HTTP_V2_RST_STREAM_FRAME)
+                && ctx->type != NGX_HTTP_V2_RST_STREAM_FRAME
+                && ctx->type != NGX_HTTP_V2_WINDOW_UPDATE_FRAME)
             {
                 ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
                               "upstream sent frame for closed stream %ui",