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


git-svn-id: https://svn.apache.org/repos/asf/serf/trunk@1788146 13f79535-47bb-0310-9956-ffa450edef68
1 file changed