Log Message: |
HTTP/2: Fix improper handling of SETTINGS_INITIAL_WINDOW_SIZE that
could result in the "HTTP2 flow control limits exceeded" error when
talking to nginx servers:
> serf_get --http2 https://www.cloudflare.com
Error running context: (120153) HTTP2 flow control limits exceeded
Serf used the incoming value to update the size of the connection
flow-control window. Doing so violates RFC 7540, 6.9.2 [1], which
states that the SETTINGS_INITIAL_WINDOW_SIZE value in the SETTINGS
frame *cannot* alter the connection flow-control window size, and
that it only affects the initial window size for new streams.
[1] https://tools.ietf.org/html/rfc7540#section-6.9.2
* protocols/http2_protocol.c
(http2_handle_settings): Don't change the connection flow-control
window size. Include the relevant part of RFC 7540 in the comment.
Approved by: rhuijben
|