Error occurs when both padding and continuation are enabled

Shengtuo Hu h1994st at gmail.com
Tue Jan 26 08:00:08 UTC 2016


Hi,

Another error I met recently. It occurred when both padding and
continuation are enabled.

A normal HEADERS frame was divided as follows:
HEADERS ===> HEADERS(PADDED_FLAG) + CONTINUATION + CONTINUATION

After sending these frames, I got an error. In the debug log file, I found
"client sent inappropriate frame while CONTINUATION was expected while
processing HTTP/2 connection". Then I read the source code (v 1.9.9), and
located the function "ngx_http_v2_handle_continuation" (ngx_http_v2.c, line
1749). It seems NGINX does not skip the "padding part", but tries to read
"type" field in the next CONTINUATION frame directly.

However, when testing padding and continuation frame separately, NGINX can
handle both cases well. I don't know whether I did something wrong or this
is a bug in NGINX. I also sent the same frames to other servers (nghttp,
h2o, GWS), and got the responses successfully.

Thanks!

Shengtuo Hu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20160126/fbf7ec35/attachment.html>


More information about the nginx mailing list