1. 16 Aug, 2016 2 commits
  2. 15 Aug, 2016 2 commits
  3. 11 Aug, 2016 6 commits
  4. 10 Aug, 2016 2 commits
  5. 09 Aug, 2016 3 commits
  6. 07 Aug, 2016 2 commits
    • Tatsuhiro Tsujikawa's avatar
      60cae325
    • Tatsuhiro Tsujikawa's avatar
      More strict stream state handling · 16c46114
      Tatsuhiro Tsujikawa authored
      Previously, in server side, we used closed streams to detect the error
      that the misbehaving client sends a frame on the incoming stream it
      explicitly closed.  With this commit, we make a further step, and
      detect one more error case.  Since we retain closed streams as long as
      the sum of its size and the number of opened streams are equal or less
      than max concurrent streams, we can safely say that if we get a frame
      which is sent on the stream that is not found in either closed or
      opened stream, it is already closed or has not existed.  Then we can
      send GOAWAY.
      
      The previous code shrinks closed streams when we closed another
      stream, but now it is removed.  It is enough to adjust closed streams
      when new incoming stream is created.
      
      While creating this commit, we noticed that
      NGHTTP2_INITIAL_MAX_CONCURRENT_STREAMS is defined as INT32_MAX.  But
      since SETTINGS can contain value up to UINT32_MAX, it is not enough.
      However, since the stream ID space is limited to INT32_MAX, it is high
      enough.  We could keep this value, but this time we deprecate
      NGHTTP2_INITIAL_MAX_CONCURRENT_STREAMS macro.  While it is in public
      header, the effect of deprecating it is negligible because of the
      reason we wrote above, and usually application sets much smaller value
      (say, 100) as SETTINGS_MAX_CONCURRENT_STREAMS.
      16c46114
  7. 06 Aug, 2016 2 commits
  8. 05 Aug, 2016 1 commit
  9. 04 Aug, 2016 6 commits
  10. 03 Aug, 2016 1 commit
    • Tatsuhiro Tsujikawa's avatar
      Add nghttp2_on_invalid_header_callback · 271f7fbb
      Tatsuhiro Tsujikawa authored
      nghttp2_on_invalid_header_callback is similar to
      nghttp2_on_header_callback, but the former is only called when the
      invalid header field is received which is silently ignored when the
      callback is not set.  With this callback, application inspects the
      incoming invalid field, and it also can reset stream from this
      callback by returning NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE, or using
      nghttp2_submit_rst_stream() directly with the error code of choice.
      
      We also added nghttp2_on_invalid_header_callback2, which uses
      reference counted header fields.
      271f7fbb
  11. 02 Aug, 2016 3 commits
  12. 31 Jul, 2016 10 commits