Commit Graph

1263 Commits

Author SHA1 Message Date
Tatsuhiro Tsujikawa
618a1e0782 Update doc 2013-08-23 03:33:05 +09:00
Tatsuhiro Tsujikawa
e278efdf38 Strict handling of connection error
Following cases are now treated as connection error of type
PROTOCOL_ERROR.

* Receiving HEADERS from client in reserved (local)
* Receiving PUSH_PROMISE against peer-initiated stream
* Receiving WINDOW_UPDATE against in reserved (local, remote)
2013-08-23 03:33:05 +09:00
Tatsuhiro Tsujikawa
47ee8e3c79 src: Code cleanup 2013-08-23 03:33:05 +09:00
Tatsuhiro Tsujikawa
0c9703fa2c Remove NGHTTP2_FLAG_END_FLOW_CONTROL 2013-08-23 03:33:05 +09:00
Tatsuhiro Tsujikawa
f222403970 Update doc 2013-08-23 03:33:05 +09:00
Tatsuhiro Tsujikawa
b1ae1c30d8 Allow duplicate settings ID in SETTINGS
If multiple same ID are found, use the last one.
2013-08-23 03:33:05 +09:00
Tatsuhiro Tsujikawa
c38c6cdd09 nghttpx: Fix bug writecb is nullptr for HTTP/1 connection 2013-08-23 03:32:26 +09:00
Tatsuhiro Tsujikawa
b2a34c2e5b nghttpx: Fix bug content-length is removed 2013-08-23 02:49:21 +09:00
Tatsuhiro Tsujikawa
358d12a842 nghttpx: Fix bug CONNECT does not work 2013-08-22 21:28:27 +09:00
Tatsuhiro Tsujikawa
b8a01f5212 nghttpx: Require content-length in HTTP2 upstream if END_STREAM flag is not set 2013-08-21 01:19:16 +09:00
Tatsuhiro Tsujikawa
823bb6c35e nghttpx: Require content-length in SPDY upstream if FIN flag is not set 2013-08-21 01:05:06 +09:00
Tatsuhiro Tsujikawa
591f73e043 Return error if nghttp2_gzip_inflate is invoked after Z_STREAM_END 2013-08-21 01:03:24 +09:00
Tatsuhiro Tsujikawa
4d51def65f nghttpx: Limit read rate on upstream-end 2013-08-21 01:00:55 +09:00
Tatsuhiro Tsujikawa
aa9688b459 nghttpx: Fix possible multiple replies on HTTP2 and SPDY upstreams 2013-08-21 00:56:08 +09:00
Tatsuhiro Tsujikawa
407027452c Update doc 2013-08-17 22:34:57 +09:00
Tatsuhiro Tsujikawa
ef6ccc0d74 Update .gitignore 2013-08-15 10:41:22 +09:00
Tatsuhiro Tsujikawa
6e314955e5 Use network-path reference when importing font 2013-08-15 10:39:25 +09:00
Tatsuhiro Tsujikawa
ca9b4d45de Update README.rst 2013-08-12 22:35:44 +09:00
Tatsuhiro Tsujikawa
3e1aad60b7 nghttp: Remove --no-tls option and detect TLS requirement using URI scheme 2013-08-12 22:33:51 +09:00
Tatsuhiro Tsujikawa
4fac4eb92d nghttpx: HttpUpstream: Check required request headers strictly
If multiple required headers (e.g., :path) found, return HTTP 400
error.
Fix util::strieq(a,b,n) where boundary of b is not checked in the
loop.
2013-08-11 00:08:44 +09:00
Tatsuhiro Tsujikawa
ae13a203e8 Update README.rst 2013-08-10 19:06:33 +09:00
Tatsuhiro Tsujikawa
989d613448 nghttpx: Save pid file after daemon() call 2013-08-10 18:55:18 +09:00
Tatsuhiro Tsujikawa
3ee7ca2cdd Handle non-fatal error from nghttp2_submit_data 2013-08-10 15:26:12 +09:00
Tatsuhiro Tsujikawa
a52ca391a2 Do not RST_STREAM for DATA against nonexistent stream
This may be useful to the misbehaving implementation, but it could
result in lots of RST_STREAM, so just ignore it for now.
2013-08-10 15:13:53 +09:00
Tatsuhiro Tsujikawa
a1dd866ebc Update README.rst 2013-08-10 00:57:49 +09:00
Tatsuhiro Tsujikawa
c36fcf1794 src: Print opaque_data_len of GOAWAY 2013-08-10 00:46:00 +09:00
Tatsuhiro Tsujikawa
02a7182ebd src: Create strframetype to handle unknown frame types 2013-08-10 00:42:11 +09:00
Tatsuhiro Tsujikawa
47c1447030 src: Print SETTINGS string name 2013-08-10 00:37:57 +09:00
Tatsuhiro Tsujikawa
d194a31e4a src: Use print_frame_hd from print_data_frame 2013-08-10 00:31:59 +09:00
Tatsuhiro Tsujikawa
6ed8a8957b Early termination if stream is not found
Add this check in nghttp2_submit_{priority, window_update, data,
push_promise}.
2013-08-10 00:02:24 +09:00
Tatsuhiro Tsujikawa
80bacd0a54 Disable local flow control in nghttp2_submit_window_update() 2013-08-09 23:46:12 +09:00
Tatsuhiro Tsujikawa
1155606d5e Rewrite re-prioritization with PRIORITY 2013-08-09 23:40:41 +09:00
Tatsuhiro Tsujikawa
0dec04921d Remove priority adjustment for a DATA frame
Simply it does not work as expected.
2013-08-09 21:21:14 +09:00
Tatsuhiro Tsujikawa
f5b1974473 Update doc 2013-08-09 02:16:51 +09:00
Tatsuhiro Tsujikawa
6d8ab6ed0a Update doc 2013-08-09 01:51:45 +09:00
Tatsuhiro Tsujikawa
5dd6d86d66 Code cleanup 2013-08-09 01:46:07 +09:00
Tatsuhiro Tsujikawa
a3ff4cb50b Rename window_size member of nghttp2_session as remote_window_size 2013-08-09 01:31:15 +09:00
Tatsuhiro Tsujikawa
19377fb3cd Allow disabling auto WINDOW_UPDATE for connection and stream individually
Now NGHTTP2_OPT_NO_AUTO_WINDOW_UPDATE is split into 2 options:
NGHTTP2_OPT_NO_AUTO_STREAM_WINDOW_UPDATE and
NGHTTP2_OPT_NO_AUTO_CONNECTION_WINDOW_UPDATE.
This is preparation for the upcoming removal of END_FLOW_CONTROL
flag. For nghttpx, instead of using END_FLOW_CONTROL to disable
connection-level flow control, increase window size by large
enough value, which is friendly way to current chromium
implementation.
2013-08-09 01:23:39 +09:00
Tatsuhiro Tsujikawa
b979d2e8d2 Support increment/reduction of local window size by WINDOW_UPDATE 2013-08-09 00:58:52 +09:00
Tatsuhiro Tsujikawa
e67096fef3 Handle overflow in initial window update in stream
Rename window_size in nghttp2_stream as remote_window_size.
2013-08-08 21:12:49 +09:00
Tatsuhiro Tsujikawa
dcfa421d6f Fix connection-level flow control (local)
Fix the bug that connection-level local window is not updated
for the data is the last part of the stream. For the stream
level window may ignore this, connection-level window must
be updated. Also this change fixes the bug that connection-level
window is not updated for the ignored DATA frames.
2013-08-07 22:02:30 +09:00
Tatsuhiro Tsujikawa
fafec1fdb8 nghttpx: Accept incoming bytes at least initial window size 2013-08-07 21:27:08 +09:00
Tatsuhiro Tsujikawa
7f71e83c52 nghttpd: Use 100 for MAX_CONCURRENT_STREAMS 2013-08-07 01:23:43 +09:00
Tatsuhiro Tsujikawa
07814be5b2 src: HttpServer: Remove unused member variable sfd_ 2013-08-06 23:17:13 +09:00
Tatsuhiro Tsujikawa
55b074e96e Rename NGHTTP2_MAX_FRAME_SIZE as NGHTTP2_MAX_FRAME_LENGTH 2013-08-06 21:59:41 +09:00
Tatsuhiro Tsujikawa
73563de8d4 Specify max length for header value and header block
The max length of header block is not used right now. It will
be used when header continuation is implemented.
2013-08-06 21:57:26 +09:00
Tatsuhiro Tsujikawa
2b71598bdf src: Reorder AM_CPPFLAGS and AM_LDFLAGS 2013-08-06 21:24:34 +09:00
Tatsuhiro Tsujikawa
1b95e23bfb Add ax_cxx_compile_stdcxx_11 to check C++11 availability and flags 2013-08-06 21:20:36 +09:00
Tatsuhiro Tsujikawa
168c5ac5b3 HttpServer: Code cleanup 2013-08-06 00:07:51 +09:00
Tatsuhiro Tsujikawa
fadbdbae0b nghttp: Add -p option to specify stream priority 2013-08-04 18:55:26 +09:00