Tatsuhiro Tsujikawa
1f3b96e233
nghttpx: Rewrite header handling
2013-08-28 00:09:46 +09:00
Tatsuhiro Tsujikawa
89cd2ff479
nghttpx: Stream error if disallowed header field in HTTP2 is received
2013-08-26 01:25:31 +09:00
Tatsuhiro Tsujikawa
33743ab832
nghttpx: Remove banned header fields in HTTP2 request and response
2013-08-26 01:09:15 +09:00
Tatsuhiro Tsujikawa
4744e90054
nghttpd: Include status code only in :status header field
2013-08-26 00:58:06 +09:00
Tatsuhiro Tsujikawa
4fb1811d18
nghttpx: Include status code only in :status header field in HTTP2 response
2013-08-25 23:28:34 +09:00
Tatsuhiro Tsujikawa
5d7b7a1691
nghttpx: Stream error if mandatory HTTP/2 request header field is missing
2013-08-25 23:21:07 +09:00
Tatsuhiro Tsujikawa
39611f6f7f
Update README.rst
2013-08-25 22:04:54 +09:00
Tatsuhiro Tsujikawa
82b9f78fc7
Check incoming header field name strictly
...
The validation rule is described in
http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-02#section-4.1.2
2013-08-25 17:39:29 +09:00
Tatsuhiro Tsujikawa
556212a602
nghttpx: Replace \r\n in the header field to SPC in http downstream
2013-08-24 23:27:45 +09:00
Tatsuhiro Tsujikawa
091f38a99d
Revise common header processing
...
Instead of emitting common headers on decoder side, encoder
now keeps track of removed common headers and encode it
as necessary.
2013-08-24 22:58:26 +09:00
Tatsuhiro Tsujikawa
2d41c99289
Connection error if header continuation is employed by peer for now
2013-08-24 19:28:57 +09:00
Tatsuhiro Tsujikawa
e55abcd634
nghttpx: Fix stream hang when http2 downstream CONNECT failed
2013-08-24 01:43:05 +09:00
Tatsuhiro Tsujikawa
005e60a5ed
Rework header compression
2013-08-23 23:38:28 +09:00
Tatsuhiro Tsujikawa
c4f6e069ac
Update README.rst
2013-08-23 03:45:55 +09:00
Tatsuhiro Tsujikawa
93e5b9e562
Fix bug common header disappear if it is evicted
2013-08-23 03:45:26 +09:00
Tatsuhiro Tsujikawa
346fafde3f
Implement draft-ietf-httpbis-header-compression-02
2013-08-23 03:33:05 +09:00
Tatsuhiro Tsujikawa
0b005e3f22
Change the value of END_PUSH_PROMISE flag as per the spec
2013-08-23 03:33:05 +09:00
Tatsuhiro Tsujikawa
d154faa9ab
Set protocol version draft-06
2013-08-23 03:33:05 +09:00
Tatsuhiro Tsujikawa
2764c55678
src: Code cleanup
2013-08-23 03:33:05 +09:00
Tatsuhiro Tsujikawa
30d3ea7c93
Use old C style comment
2013-08-23 03:33:05 +09:00
Tatsuhiro Tsujikawa
35229b250f
Treat reception of DATA in reserved stream as connection error
2013-08-23 03:33:05 +09:00
Tatsuhiro Tsujikawa
5ae8605883
src: Use std::thread
2013-08-23 03:33:05 +09:00
Tatsuhiro Tsujikawa
da384988cd
Add test for WINDOW_UPDATE against reserved
2013-08-23 03:33:05 +09:00
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