nghttp2/tests
Tatsuhiro Tsujikawa 16c46114dc More strict stream state handling
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.
2016-08-07 19:31:00 +09:00
..
testdata Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
.gitignore Refactor .gitignore files 2015-03-29 18:40:37 +09:00
CMakeLists.txt cmake: fix compatibility with cmake before 3.3 2016-03-13 12:30:41 +01:00
Makefile.am Add CMake-related files to EXTRA_DIST 2016-03-12 01:38:12 +01:00
end_to_end.py Move spdycat, spdyd and shrpx from examples to src 2012-09-10 21:39:51 +09:00
failmalloc.c altsvc: Add tx tests 2016-04-08 23:25:56 +09:00
failmalloc_test.c clang-format 2016-04-24 13:49:57 +09:00
failmalloc_test.h altsvc: Add tx tests 2016-04-08 23:25:56 +09:00
main.c More strict stream state handling 2016-08-07 19:31:00 +09:00
malloc_wrapper.c failmalloc: Use nghttp2_mem instead of using dlsym 2014-12-20 23:56:33 +09:00
malloc_wrapper.h Include config.h from tests/*.h 2016-03-19 11:46:49 +09:00
nghttp2_buf_test.c More warning flags for --enable-werror 2015-09-23 16:49:45 +09:00
nghttp2_buf_test.h Include config.h from tests/*.h 2016-03-19 11:46:49 +09:00
nghttp2_frame_test.c clang-format 2016-04-24 13:49:57 +09:00
nghttp2_frame_test.h Add test for altsvc frame 2016-04-09 22:32:48 +09:00
nghttp2_hd_test.c Reference counted HPACK name/value pair 2016-03-12 21:12:27 +09:00
nghttp2_hd_test.h Include config.h from tests/*.h 2016-03-19 11:46:49 +09:00
nghttp2_helper_test.c Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_helper_test.h Include config.h from tests/*.h 2016-03-19 11:46:49 +09:00
nghttp2_map_test.c More warning flags for --enable-werror 2015-09-23 16:49:45 +09:00
nghttp2_map_test.h Include config.h from tests/*.h 2016-03-19 11:46:49 +09:00
nghttp2_npn_test.c Include config.h from tests/*.h 2016-03-19 11:46:49 +09:00
nghttp2_npn_test.h Include config.h from tests/*.h 2016-03-19 11:46:49 +09:00
nghttp2_pq_test.c Switch to clang-format-3.6 2015-11-13 00:53:29 +09:00
nghttp2_pq_test.h Include config.h from tests/*.h 2016-03-19 11:46:49 +09:00
nghttp2_queue_test.c Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_queue_test.h Include config.h from tests/*.h 2016-03-19 11:46:49 +09:00
nghttp2_session_test.c More strict stream state handling 2016-08-07 19:31:00 +09:00
nghttp2_session_test.h More strict stream state handling 2016-08-07 19:31:00 +09:00
nghttp2_stream_test.c Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
nghttp2_stream_test.h Include config.h from tests/*.h 2016-03-19 11:46:49 +09:00
nghttp2_test_helper.c Add nghttp2_hd_inflate_hd2() and deprecate nghttp2_hd_inflate_hd() 2016-05-14 18:25:20 +09:00
nghttp2_test_helper.h Rename nghttp2_session.sent_stream_id as last_sent_stream_id 2016-01-23 14:47:39 +09:00