comparison src/http/modules/ngx_http_grpc_module.c @ 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 39501ce97e29
comparison
equal deleted inserted replaced
7646:2096b21fcd10 7647:716eddd74bc2
2089 ctx->stream_id); 2089 ctx->stream_id);
2090 return NGX_ERROR; 2090 return NGX_ERROR;
2091 } 2091 }
2092 2092
2093 if (ctx->stream_id && ctx->done 2093 if (ctx->stream_id && ctx->done
2094 && ctx->type != NGX_HTTP_V2_RST_STREAM_FRAME) 2094 && ctx->type != NGX_HTTP_V2_RST_STREAM_FRAME
2095 && ctx->type != NGX_HTTP_V2_WINDOW_UPDATE_FRAME)
2095 { 2096 {
2096 ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, 2097 ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
2097 "upstream sent frame for closed stream %ui", 2098 "upstream sent frame for closed stream %ui",
2098 ctx->stream_id); 2099 ctx->stream_id);
2099 return NGX_ERROR; 2100 return NGX_ERROR;