Tatsuhiro Tsujikawa
1e95c8b313
Allow always max 1024 padding for HEADERS
...
We need paddings regardless of payload and frame boundary to mitigate
certain attacks.
Since we handles CONTINUATION internally, we don't show FLAG_PAD_HIGH
and PAD_LOW flags of HEADERS in nghttp/nghttpd. We just show the
total paddings in HEADERS + CONTINUATION.
2014-02-15 01:34:04 +09:00
Tatsuhiro Tsujikawa
622f783675
Disallow PUSH_PROMISE from client side
2014-02-14 16:12:04 +09:00
Tatsuhiro Tsujikawa
7ab4206269
Tear down connection if SETTINGS makes window size overflow
2014-02-14 16:08:39 +09:00
Tatsuhiro Tsujikawa
e74fbdf6b4
Merge branch 'master' into draft-10
2014-02-13 23:45:41 +09:00
Tatsuhiro Tsujikawa
be5f04f130
Update .gitignore
2014-02-13 23:44:54 +09:00
Tatsuhiro Tsujikawa
01ca4373a1
Out-of-tree build for sphinx documents
...
The only drawback is that page source only contains include
directive. We disabled page source for now.
2014-02-13 23:44:54 +09:00
Tatsuhiro Tsujikawa
2d8c203195
Fix inflater memory leak
2014-02-13 23:26:09 +09:00
Tatsuhiro Tsujikawa
fd88c6160d
HPACK post -05 updates
...
* Use 1 Huffman code table for both request and response
* Remove complicated deflater side table size management
* Add encoding context update
* Fix memory leak in inflater
2014-02-13 23:22:52 +09:00
Tatsuhiro Tsujikawa
082876d92d
Contribute flow control window for each byte PAD_HIGH and _LOW in DATA
...
This may help the pathological situation where window is too small.
2014-02-12 21:35:40 +09:00
Tatsuhiro Tsujikawa
39aaad5ad8
Fix out-of-tree build for python
2014-02-11 23:41:25 +09:00
Tatsuhiro Tsujikawa
c7a17093cb
Fix compile errors with --enable-maintainer-mode
2014-02-11 21:39:35 +09:00
Tatsuhiro Tsujikawa
bac31e844a
Add more debug output
2014-02-11 21:35:41 +09:00
Tatsuhiro Tsujikawa
067a4d05c3
Merge branch 'master' into draft-10
2014-02-11 21:33:49 +09:00
Tatsuhiro Tsujikawa
d3fb352c0e
Fix invalid memory use
2014-02-11 21:33:22 +09:00
Tatsuhiro Tsujikawa
7822bbd7e8
Fix PAD_HIGH and PAD_LOW are not counted in flow control
2014-02-11 21:30:44 +09:00
Tatsuhiro Tsujikawa
cd3eae3dd2
src: Fix select_padding_callback which returns value greater than max_payload
2014-02-11 19:19:00 +09:00
Tatsuhiro Tsujikawa
dbb131d13d
Simplify framebufmark calculation for DATA frame
2014-02-11 18:55:22 +09:00
Tatsuhiro Tsujikawa
6364ae1a98
Fix nghttp2_active_outbound_item is not reset on DATA deferred
2014-02-11 18:43:45 +09:00
Tatsuhiro Tsujikawa
16b5e99e88
Bitwise-OR last CONTINUATION flags to first HEADERS flags
2014-02-11 17:30:38 +09:00
Tatsuhiro Tsujikawa
c280cc7c4d
nghttpx: Add --padding option for debugging purpose
2014-02-11 17:23:22 +09:00
Tatsuhiro Tsujikawa
788072af9b
Fix HEADERS padding is not added
2014-02-11 17:23:08 +09:00
Tatsuhiro Tsujikawa
cf0b880b15
Error if undefined SETTINGS ID is detected in nghttp2_iv_check
2014-02-11 16:53:08 +09:00
Tatsuhiro Tsujikawa
39fe7a5cfa
Don't set select_padding_callback if padding_boundary is 0 or not set
2014-02-11 16:48:27 +09:00
Tatsuhiro Tsujikawa
3144bcbe20
Remove unused iframe->error_code
2014-02-11 16:34:42 +09:00
Tatsuhiro Tsujikawa
eb2856f3df
Add inbound_frame_reset_left() not to forget to reset iframe->buflen
2014-02-11 16:33:07 +09:00
Tatsuhiro Tsujikawa
9865b46905
Don't change state in inbound_frame_handle_pad
2014-02-11 16:24:21 +09:00
Tatsuhiro Tsujikawa
6c40928fed
Merge branch 'master' into draft-10
...
Conflicts:
lib/nghttp2_session.c
2014-02-11 16:18:22 +09:00
Tatsuhiro Tsujikawa
40f04fbe03
Fix incoming CONTINUATION payload length is not considered in callback
2014-02-11 16:16:39 +09:00
Tatsuhiro Tsujikawa
109b8cedde
Fix compile error and test failures
2014-02-11 16:12:26 +09:00
Tatsuhiro Tsujikawa
e78a2100ec
Merge branch 'master' into draft-10
2014-02-11 16:03:42 +09:00
Tatsuhiro Tsujikawa
cacf4ecf26
Fix premature header block is not treated as connection error
2014-02-11 16:00:59 +09:00
Tatsuhiro Tsujikawa
cbbecfeb41
Fix broken session_detect_idle_stream()
2014-02-11 15:35:44 +09:00
Tatsuhiro Tsujikawa
78d202ac30
Callback based padding from application
...
Now previous padding options are removed and instead we added
select_padding_callback to select padding length for each frame
by application. If this callback is not implemented by application,
no padding is added.
This change also fixes the broken session_detect_idle_stream()
if stream_id is our side.
2014-02-11 15:28:44 +09:00
Tatsuhiro Tsujikawa
118ed09da5
Allow disabling padding
2014-02-09 23:53:53 +09:00
Tatsuhiro Tsujikawa
5b58b4ace5
Add padding if payload length is zero
2014-02-09 22:01:07 +09:00
Tatsuhiro Tsujikawa
68b5ffc1dc
Rename padding related names
2014-02-09 21:46:15 +09:00
Tatsuhiro Tsujikawa
ce53d7bd9e
src: Don't output priority if NGHTTP2_FLAG_PRIORITY is not set
2014-02-09 21:34:28 +09:00
Tatsuhiro Tsujikawa
c7c283f3a9
nghttpx: Add --frontend-frame-debug option to debug HTTP/2 frame in upstream
...
The output format is the same one with nghttp/nghttpd. The output
is made into stderr to make it sync with logging.
2014-02-09 18:47:26 +09:00
Tatsuhiro Tsujikawa
909b79e69b
Fix test
2014-02-09 18:33:27 +09:00
Tatsuhiro Tsujikawa
256c97d89b
Change default padding size to 16
2014-02-09 18:27:34 +09:00
Tatsuhiro Tsujikawa
ba95cd936d
Fix flow control error because padding is excluded
2014-02-09 18:26:46 +09:00
Tatsuhiro Tsujikawa
72e2e145c5
Revert 748f6e65bd
2014-02-09 17:42:20 +09:00
Tatsuhiro Tsujikawa
2c4dc08aee
Merge branch 'master' into draft-10
2014-02-09 17:40:53 +09:00
Tatsuhiro Tsujikawa
cdcea8045f
Include doc theme without recursive Makefiles
2014-02-09 17:40:06 +09:00
Tatsuhiro Tsujikawa
5884794a7f
Merge branch 'master' into draft-10
2014-02-09 17:14:07 +09:00
Tatsuhiro Tsujikawa
a4070be518
Fix on_frame_recv_callback called multiple times if CONTINUATION is involved
2014-02-09 17:00:29 +09:00
Tatsuhiro Tsujikawa
dffa078c11
Update doc
2014-02-09 16:49:24 +09:00
Tatsuhiro Tsujikawa
945c57c335
Add test for nghttp2_frame_pack_headers with padding
2014-02-09 15:17:26 +09:00
Tatsuhiro Tsujikawa
1db2195389
Implement padding for HEADERS and CONTINUATION
2014-02-09 15:17:26 +09:00
Tatsuhiro Tsujikawa
10feab02e8
Fix bufoff_ptr if no padding is made
2014-02-09 12:39:43 +09:00