nginx/src
Pavel Pautov 671cbc1840 gRPC: RST_STREAM(NO_ERROR) handling after "trailer only" responses.
Similarly to the problem fixed in 2096b21fcd10 (ticket #1792),
when a "trailer only" gRPC response (that is, a response with the
END_STREAM flag in the HEADERS frame) was immediately followed by
RST_STREAM(NO_ERROR) in the data preread along with the response
header, RST_STREAM wasn't properly skipped and caused "upstream
rejected request with error 0" errors.
Observed with "unknown service" gRPC errors returned by grpc-go.

Fix is to set ctx->done if we are going to parse additional data,
so the RST_STREAM(NO_ERROR) is properly skipped.  Additionally, now
ngx_http_grpc_filter() will complain about frames sent for closed
stream if there are any.
2020-11-18 18:41:16 -08:00
..
core Core: "-e" command line option. 2020-11-19 16:59:00 +00:00
event Core: added format specifiers to output binary data as hex. 2020-10-28 10:56:11 +03:00
http gRPC: RST_STREAM(NO_ERROR) handling after "trailer only" responses. 2020-11-18 18:41:16 -08:00
mail SSL: ssl_conf_command directive. 2020-10-22 18:00:22 +03:00
misc Cpp test: added stream. 2020-10-13 07:44:09 +03:00
os Cache: introduced min_free cache clearing. 2020-06-22 18:03:00 +03:00
stream Stream: proxy_ssl_conf_command directive. 2020-10-22 18:00:27 +03:00