Skip to content

Conversation

@i110
Copy link
Contributor

@i110 i110 commented Dec 20, 2017

This PR fixes the issue that, even after h2o received GOAWAY frame it possibly opens new push streams and send push responses on that.

RFC 7540 6.8 states:

Receivers of a GOAWAY frame MUST NOT open additional streams on the connection,
although a new connection can be established for new streams.


/* nothing to do, since we do not open new streams by ourselves */
/* stop opening new push streams hereafter */
conn->push_stream_ids.max_open = INT32_MAX;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we use 0x7ffffffe instead, since INT32_MAX is an ID of a pull stream?

Other than that the PR seems ready for merge. Thank you for working on the fix.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the comment. Fixed at 0bbc062

@kazuho
Copy link
Member

kazuho commented Dec 22, 2017

Thank you for the fix and the test!

@kazuho kazuho merged commit b27fc13 into master Dec 22, 2017
@kazuho kazuho changed the title stop opening new push streams after received GOAWAY frame stop opening new push streams after receiving GOAWAY Jan 16, 2018
kazuho added a commit that referenced this pull request Apr 25, 2018
…after-goaway

stop opening new push streams after received GOAWAY frame
joemfb added a commit to joemfb/h2o that referenced this pull request Jul 18, 2018
* tag 'v2.2.5': (37 commits)
  releng for 2.2.5
  update Changes
  extract https://github.com/h2o/neverbleed @ 1e9b518 () at deps/neverbleed
  Update line_end when reallocating a buffer for logging
  Merge pull request h2o#1718 from h2o/kazuho/tls13-26
  Merge pull request h2o#1485 from h2o/kazuho/update-picotls-2
  Merge pull request h2o#1707 from fetus-hina/libressl_2.7
  Merge pull request h2o#1545 from h2o/i110/fix-sock-bytes-written
  Merge pull request h2o#1716 with tweaks
  Merge pull request h2o#1662 from h2o/i110/mruby-fix-preload-require-path
  Merge pull request h2o#1310 from deweerdt/deweerdt/x-http2-push-only-support-for-mruby
  Merge pull request h2o#1587 from h2o/kazuho/amend-1582
  Merge pull request h2o#1582 from h2o/kazuho/h2-negative-window
  Merge pull request h2o#1579 from h2o/kazuho/http2/ignore-reserved-bit-of-frame-header
  Merge pull request h2o#1555 from h2o/i110/stop-opening-new-push-streams-after-goaway
  Merge pull request h2o#1389 from jbenoist/master
  Merge pull request h2o#1650 from h2o/i110/append-index-file-name-to-script-name
  releng for 2.2.4
  update Changes
  regen doc
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants