diff options
author | Ruslan Ermilov <ru@nginx.com> | 2020-04-23 15:10:26 +0300 |
---|---|---|
committer | Ruslan Ermilov <ru@nginx.com> | 2020-04-23 15:10:26 +0300 |
commit | ee9c61b89bcb891575c809e388affd2bb04e9e60 (patch) | |
tree | 2716a32d1c80ae8b16a1310650aff72e1ffb7c13 /src | |
parent | 4c8abb84e399f964d6b70f24c6324f261fd4565a (diff) | |
download | nginx-ee9c61b89bcb891575c809e388affd2bb04e9e60.tar.gz nginx-ee9c61b89bcb891575c809e388affd2bb04e9e60.zip |
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.
Diffstat (limited to 'src')
-rw-r--r-- | src/http/modules/ngx_http_grpc_module.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/http/modules/ngx_http_grpc_module.c b/src/http/modules/ngx_http_grpc_module.c index 9e62d8e2a..992211e73 100644 --- 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 bytes) } 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", |