nghttp2 - HTTP/2 C Library and tools
Go to file
Tatsuhiro Tsujikawa eec8870ac1 Fix bug that client may send PROTOCOL_ERROR upon canceled push stream
Previously we treat stream in NGHTTP2_STREAM_RESERVED state specially,
that is we don't increment or decrement streams counts if stream is in
that state.  Because of this, we don't change the stream state to
NGHTTP2_STREAM_CLOSING if stream is in NGHTTP2_STREAM_RESERVED.  But
it turns out that it causes a problem.  If client canceled pushed
stream before push response HEADERS, stream is still in
NGHTTP2_STREAM_RESERVED state.  If push response HEADERS arrived in
this state, library happily accepts it and passed to application.

With this commit, this bug was corrected.  We now change stream state
to NGHTTP2_STREAM_CLOSING even if it was in NGHTTP2_STREAM_RESERVED
state.  We now use NGHTTP2_STREAM_FLAG_PUSH to determine whether we
have to increase/decrase stream count.
2015-02-09 22:23:20 +09:00
contrib Add contrib/.gitignore 2014-11-23 19:32:54 +09:00
doc Update man pages 2015-02-08 17:48:18 +09:00
examples examples/client: Send SETTINGS 2015-02-06 01:22:29 +09:00
fedora fedora: add spec file 2012-10-27 14:54:06 -07:00
integration-tests integration: Add server push test 2015-02-08 16:10:01 +09:00
lib Fix bug that client may send PROTOCOL_ERROR upon canceled push stream 2015-02-09 22:23:20 +09:00
m4 examples: Build tiny-nghttpd only when epoll is available 2014-09-27 23:45:57 +09:00
python python: Fix request header ordering 2015-01-05 17:00:07 +09:00
src nghttpx: Fix location rewrite, take 2 2015-02-08 21:26:47 +09:00
tests Fix bug that client may send PROTOCOL_ERROR upon canceled push stream 2015-02-09 22:23:20 +09:00
third-party Remove AM_EXTRA_RECURSIVE_TARGETS since travis automake is too old 2015-01-21 02:07:16 +09:00
.clang-format Add .clang-format config file and git-clang-format from clang project 2014-11-27 23:56:29 +09:00
.gitignore Add contribution guidelines 2014-11-27 23:56:29 +09:00
.travis.yml travis: Add libev-dev 2015-01-03 00:25:19 +09:00
AUTHORS Added libtool files 2012-01-18 00:53:12 +09:00
COPYING Add text dealing license around contribution to COPYING 2014-08-17 15:10:57 +09:00
ChangeLog Added libtool files 2012-01-18 00:53:12 +09:00
Dockerfile.android Update instruction and Dockerfile to build android binary 2015-01-11 17:04:50 +09:00
Makefile.am integration: Add Makefile and `make it` to run integration tests 2015-01-20 01:14:22 +09:00
NEWS Rebranding nghttp2 2013-07-13 00:43:06 +09:00
README Added libtool files 2012-01-18 00:53:12 +09:00
README.rst Update README.rst 2015-02-01 18:08:54 +09:00
android-config Use clang for android build 2015-01-11 18:50:54 +09:00
android-make Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
configure.ac Bump up version number to v0.7.4-DEV 2015-01-25 23:02:43 +09:00
gendowncasetbl.py mod a+x to auto-gen scripts 2014-10-27 21:27:41 +09:00
genheaderfunc.py nghttpx: Reworkd inherited request headers in PUSH_PROMISE 2015-02-08 16:10:01 +09:00
gennmchartbl.py mod a+x to auto-gen scripts 2014-10-27 21:27:41 +09:00
genvchartbl.py mod a+x to auto-gen scripts 2014-10-27 21:27:41 +09:00
git-clang-format Add .clang-format config file and git-clang-format from clang project 2014-11-27 23:56:29 +09:00
help2rst.py help2rst.py: Strip trailing ':' after section 2015-02-01 18:32:51 +09:00
makemanpages Produce man pages using sphinx 2015-01-10 00:37:42 +09:00
makerelease.sh Update release script 2014-02-05 23:12:53 +09:00
mkcipherlist.py mkcipherlist.py: Update doc 2014-10-27 21:24:41 +09:00
mkhufftbl.py mkhufftbl.py: Update doc 2014-10-27 21:24:41 +09:00
mkstatichdtbl.py mkstatictbl.py: Update doc 2014-10-27 21:24:41 +09:00
nghttpx.conf.sample Rename shrpx.conf.sample as nghttpx.conf.sample 2013-08-30 22:46:28 +09:00
pre-commit Add pre-commit script 2014-11-27 23:56:29 +09:00
proxy.pac.sample Add sample pac file and release script 2013-01-12 17:05:11 +09:00

README

See README.rst