Commit Graph

1962 Commits

Author SHA1 Message Date
Tatsuhiro Tsujikawa
6c66bd5c7c ALPN: Do not negotiate HTTP/2 unless TLSv1.2 or TLSv1.1 was used 2014-04-26 22:37:48 +09:00
Tatsuhiro Tsujikawa
cd69ed20c3 nghttpx: Select SPDY protocol in ALPN 2014-04-26 19:36:35 +09:00
Tatsuhiro Tsujikawa
a8a2236da9 nghttpx: Add --add-response-header option 2014-04-26 14:56:08 +09:00
Tatsuhiro Tsujikawa
293b717b04 nghttp: Fix bug that -H does not allow single letter header name 2014-04-26 14:53:03 +09:00
Tatsuhiro Tsujikawa
078b1de12e nghttp: Fix uninitialized pri_spec 2014-04-25 21:23:47 +09:00
Tatsuhiro Tsujikawa
d84d0b8c5c h2load: Check return of nghttp2_submit_request 2014-04-25 21:23:31 +09:00
Tatsuhiro Tsujikawa
cb6a3cf4e7 Update README.rst 2014-04-25 20:04:15 +09:00
Tatsuhiro Tsujikawa
59e42c1c69 Update doc 2014-04-25 01:39:40 +09:00
Tatsuhiro Tsujikawa
a5f715963e Update README.rst 2014-04-25 01:37:00 +09:00
Tatsuhiro Tsujikawa
d49733a5c9 Declare h2-12 for now 2014-04-25 01:33:29 +09:00
Tatsuhiro Tsujikawa
052be3296c Implement compressed DATA
The library interface supports compressed DATA.  The library does not
deflate nor inflate data payload.  When sending data, an application
has to compress data and set NGHTTP2_DATA_FLAG_COMPRESSED to
data_flags parameter in nghttp2_data_source_read_callback.  On
receiving, flags parameter in nghttp2_on_data_chunk_recv_callback
includes NGHTTP2_FLAG_COMPRESSED.  An application should check the
flags and inflate data as necessary.  Since compression context is per
frame, when DATA is seen in nghttp2_on_frame_recv_callback, an
application should reset compression context.
2014-04-25 01:27:18 +09:00
Tatsuhiro Tsujikawa
6bb410d603 Implement BLOCKED frame 2014-04-25 00:38:24 +09:00
Tatsuhiro Tsujikawa
2d4b92fc2b Merge branch 'priority' 2014-04-24 23:48:37 +09:00
Tatsuhiro Tsujikawa
ee26469cd9 Handle circular dependency
Handle the situation if a stream is told to depend on its descendant.
This is what
http://tools.ietf.org/html/draft-ietf-httpbis-http2-12#section-5.3.3
says.
2014-04-24 23:44:34 +09:00
Tatsuhiro Tsujikawa
853c9888d9 Distribute effective weight among only streams with marked as top
If stream with dpri value of no_data, we check any its descendant has
stream with dpri value of top.  If so, we have to distribute of its
portion of weight to its descendants.
2014-04-24 23:37:40 +09:00
Tatsuhiro Tsujikawa
85190f3677 Update README.rst 2014-04-24 00:00:54 +09:00
Tatsuhiro Tsujikawa
efd90c349d python: Output seqno in hpackmake.py, utilize it in hpackcheck.py 2014-04-23 00:55:54 +09:00
Tatsuhiro Tsujikawa
5aa0a0d099 Check protocol length so that scanner don't overrun buffer 2014-04-22 23:20:33 +09:00
Tatsuhiro Tsujikawa
80eb988511 h2load: Add -p, --no-tls-proto option to support SPDY without SSL/TLS
Previously h2load supports SPDY only for https URI.  This is because
SPDY has no mechanism to negotiate its protocol version without NPN.
With this change, user can specify the exact protocol version to use
when http URI (without SSL/TLS) is used.
2014-04-21 21:35:45 +09:00
Tatsuhiro Tsujikawa
a8525a131a Update .gitignore 2014-04-21 00:57:27 +09:00
Tatsuhiro Tsujikawa
6a598d8fb8 python: Fix parellel make distcheck and not distribute nghttp2.c
It seems that setup.py gets deleted before python executes it in
clean-local.  To prevent this situation, we just use .NOTPARALLEL.

Previously we distribute nghttp2.c in python, which is cythonized C
source code from nghttp2.pyx.  Since it is distributed in archive it
exists in source directory.  But we use python distutils which
operates in build directory and does not support C source files in out
of tree directory (i.e., not under the build directory).  Copying C
source file to build directory is a bit dirty, so we just decided not
to ship nghttp2.c.
2014-04-21 00:51:12 +09:00
Tatsuhiro Tsujikawa
1d5a1b895b doc: Use autoconf template nghttpx-howto.rst.in properly 2014-04-20 23:42:15 +09:00
Tatsuhiro Tsujikawa
e6fdb3418d doc: Add nghttpx-howto.rst 2014-04-20 23:35:07 +09:00
Tatsuhiro Tsujikawa
5240f8ad7e python: Update to draft version to 7 in hpackmake.py 2014-04-20 23:02:56 +09:00
Tatsuhiro Tsujikawa
91b616dd6f Update doc 2014-04-18 22:55:21 +09:00
Tatsuhiro Tsujikawa
1c1843297c priority: Add tests 2014-04-17 21:34:44 +09:00
Tatsuhiro Tsujikawa
aa4d43f31e Allow exclusive dependency to stream 0 2014-04-17 21:18:18 +09:00
Tatsuhiro Tsujikawa
ac86b51e37 Implement simplified dependency based priority 2014-04-15 22:55:07 +09:00
Tatsuhiro Tsujikawa
27a91fc30e Allow NGHTTP2_PRIORITY_TYPE_NONE in nghttp2_submit_{request,headers} 2014-04-10 23:29:56 +09:00
Tatsuhiro Tsujikawa
ece6521d26 Check stream availability when sending ALTSVC with stream_id != 0 2014-04-10 23:27:10 +09:00
Tatsuhiro Tsujikawa
792938d410 Update doc 2014-04-09 00:16:04 +09:00
Tatsuhiro Tsujikawa
9b3d5a8be5 Harden check for submit functions
nghttp2_submit_{headers,request}: Return NGHTTP2_ERR_INVAILD_ARGUMENT
if pri_spec->type is invalid.

nghttp2_submit_push_promise: Return NGHTTP2_ERR_PROTO if issued by
client.

nghttp2_submit_altsvc: Return NGHTTP2_ERR_PROTO instead of
NGHTTP2_ERR_INVALID_STATE if issued by client.
2014-04-09 00:13:11 +09:00
Tatsuhiro Tsujikawa
8658163aac Update doc 2014-04-08 23:18:59 +09:00
Tatsuhiro Tsujikawa
6326aec089 nghttpx: Return std::unique_ptr from parse_config_str_list 2014-04-08 22:44:30 +09:00
Tatsuhiro Tsujikawa
f9f6cdc93d nghttpx: Specify altsvc info in one option and allow multiple occurrences 2014-04-08 22:28:50 +09:00
Tatsuhiro Tsujikawa
5b3deec186 Fix python build on windows
Patch from Gisle Vanem

"""
I tried to build this extension on Windows, but failed since
ws2_32.lib is needed in libraries
"""
2014-04-07 22:15:15 +09:00
Tatsuhiro Tsujikawa
f3f031f94c Merge branch 'wsgi' of https://github.com/alekstorm/nghttp2 into alekstorm-wsgi 2014-04-07 21:16:24 +09:00
Alek Storm
be7aa8f53a Add experimental WSGI server implementation 2014-04-06 21:33:32 -07:00
Tatsuhiro Tsujikawa
7563839756 Update doc 2014-04-06 21:13:44 +09:00
Tatsuhiro Tsujikawa
ffcbffc28b Revert f763d76110 2014-04-06 17:56:48 +09:00
Tatsuhiro Tsujikawa
d998e79549 h2load: Link with timegm 2014-04-06 17:35:00 +09:00
Tatsuhiro Tsujikawa
1aa69e334d Fix compile error on 32-bit systems 2014-04-06 17:34:44 +09:00
Tatsuhiro Tsujikawa
1c00e715a3 Update doc 2014-04-06 17:23:42 +09:00
Tatsuhiro Tsujikawa
59c9c4511c nghttpx: Use move to insert crumbled cookies 2014-04-05 23:45:07 +09:00
Tatsuhiro Tsujikawa
f763d76110 Revert NGHTTP2_DATA_PAYLOADLEN to 4086 2014-04-05 23:42:37 +09:00
Tatsuhiro Tsujikawa
5b55874d4d Fix static analysis error 2014-04-05 20:04:09 +09:00
Tatsuhiro Tsujikawa
c9f3de5f6b python: Fix compile error 2014-04-05 19:16:40 +09:00
Tatsuhiro Tsujikawa
c2bb9c01a6 nghttp: Update doc for -p option and improve error handling for it 2014-04-05 19:15:45 +09:00
Tatsuhiro Tsujikawa
0a527f16f5 nghttpx: Log when connection was upgraded to HTTP/2 2014-04-05 18:59:22 +09:00
Tatsuhiro Tsujikawa
8f23c0c38b Name unnamed union in nghttp2_priority_spec so that we can be C90 compatible 2014-04-05 18:40:44 +09:00