Error occurs when both padding and continuation are enabled

Valentin V. Bartenev vbart at nginx.com
Tue Feb 2 14:02:27 UTC 2016


On Tuesday 26 January 2016 14:54:56 Valentin V. Bartenev wrote:
> On Tuesday 26 January 2016 16:00:08 Shengtuo Hu wrote:
> > 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.
> > 
> [..]
> 
> Yes, you're right.  It isn't able to skip padding between HEADERS and
> CONTINUATION frames.
> 

That has been fixed: http://hg.nginx.org/nginx/rev/0e0e2e522fa2

Thanks for the report.

  wbr, Valentin V. Bartenev



More information about the nginx mailing list