Tatsuhiro Tsujikawa
7bfa276e96
Fix bug that NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE causes session failure
...
Previously returning NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE from
on_header_callback moves input offset badly and it causes header
decompression error on the subsequent frames. This commit fix this
bug.
2014-08-24 00:50:55 +09:00
Tatsuhiro Tsujikawa
02c5621c61
Refactor functions to update consumed size
2014-08-23 18:56:04 +09:00
Tatsuhiro Tsujikawa
0c7e2fbec6
Use parenthesis explicitly for bit wise operation
2014-08-23 18:03:20 +09:00
Tatsuhiro Tsujikawa
cfee9cab36
Avoid possible double-free and make nghttp2_buf{s}_free(NULL) success
2014-08-23 11:16:49 +09:00
Tatsuhiro Tsujikawa
00ead22395
Don't allow frame submission for pending new frame
...
This is partial revert of bbe4f5a3d1
.
Only documentation is reverted. Since we have 2 queues to handle
maximum concurrent streams, we are not ready to allow immediate frame
submission for pending new frames.
2014-08-17 21:26:56 +09:00
Tatsuhiro Tsujikawa
bbe4f5a3d1
Allow frame submission immediately after nghttp2_submit_{request,headers,pp}
...
This commit makes handling of outgoing HEADERS and PUSH_PROMISE in the
same priority of other frames on the stream, so these frames are
processed in the order they are submitted. This allows application to
submit frames to a stream returned by nghttp2_submit_{request,
headers, push_promise} immediately. The only exception is
WINDOW_UPDATA frame, which requires nghttp2_stream object, which is
not created yet.
2014-08-17 17:31:43 +09:00
Tatsuhiro Tsujikawa
d499803221
Fix another heap-use-after-free bug
2014-08-10 12:20:36 +09:00
Tatsuhiro Tsujikawa
894783f572
Add note how to specify error code on NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE
2014-08-10 00:18:41 +09:00
Tatsuhiro Tsujikawa
4679188069
Fix crash
2014-08-09 18:41:08 +09:00
Tatsuhiro Tsujikawa
ab9b0538bc
Add doc how to issue non-final response headers
2014-08-08 23:38:20 +09:00
Tatsuhiro Tsujikawa
24edd2972d
Remove note about 0x00 concatenation rule and add note about pseudo-headers
2014-08-08 23:32:45 +09:00
Tatsuhiro Tsujikawa
6ccf06c6da
nghtp2_hd: Calculate hash values once
2014-08-06 22:00:12 +09:00
Tatsuhiro Tsujikawa
49e3fd6862
Add some header names which won't be indexed
2014-08-06 21:50:54 +09:00
Tatsuhiro Tsujikawa
86b089f957
Fix buffer overrun in raw_sbuf
2014-08-06 01:49:36 +09:00
Alexis La Goutte
ec93c9f55f
Fix some other shorten-64-to-32 casting error found by MSVC (64bits)
...
Thanks to Pascal
2014-08-04 09:04:49 +02:00
Alexis La Goutte
6c71889552
Fix some other shorten-64-to-32 casting error found by MSVC (64bits)
2014-08-03 16:09:30 +02:00
Tatsuhiro Tsujikawa
4bbb4172aa
Fix typo
2014-08-03 14:07:35 +09:00
Tatsuhiro Tsujikawa
3c603ec4ae
add_hd_table_incremental: Remove unused bufs parameter
2014-08-02 16:21:42 +09:00
Tatsuhiro Tsujikawa
d36bea8554
Add debug output for HPACK decoded integer
2014-08-02 10:40:25 +09:00
Tatsuhiro Tsujikawa
16101b8b3f
Fix compile error with --enable-debug
2014-08-02 10:16:32 +09:00
Tatsuhiro Tsujikawa
2fb750f2e3
nghttp2_check_header_value: Disallow 0x00
2014-08-02 00:30:09 +09:00
Alexis La Goutte
ac28cd7efa
Fix typo
2014-08-01 09:05:37 +02:00
Tatsuhiro Tsujikawa
7952029752
Advertise h2-14
2014-07-31 23:34:54 +09:00
Tatsuhiro Tsujikawa
48734b6d05
Update doc
2014-07-31 23:18:39 +09:00
Tatsuhiro Tsujikawa
d8d14a3fc9
Code cleanup
2014-07-31 23:08:51 +09:00
Tatsuhiro Tsujikawa
c13329b328
Treat delta 0 WINDOW_UPDATE as error
2014-07-31 23:05:53 +09:00
Tatsuhiro Tsujikawa
b8a2bf2675
Remove END_SEGMENT flag
2014-07-31 23:05:53 +09:00
Tatsuhiro Tsujikawa
98be65a1eb
Allow submission of unknown SETTINGS
2014-07-31 23:05:53 +09:00
Tatsuhiro Tsujikawa
742b28833a
Rename NGHTTP2_SETTINGS_MAX_HEADER_SET_SIZE as NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE
2014-07-31 23:05:53 +09:00
Tatsuhiro Tsujikawa
77374ac6e2
Implement SETTINGS_MAX_FRAME_SIZE and SETTINGS_MAX_HEADER_LIST_SIZE
2014-07-31 23:05:53 +09:00
Tatsuhiro Tsujikawa
c4be7d48a0
nghttp2_hd: Code cleanup
2014-07-31 23:05:53 +09:00
Tatsuhiro Tsujikawa
0752ce6701
nghttp2_hd_deflate_bound: Take into account possible 2nd context update
2014-07-31 23:05:53 +09:00
Tatsuhiro Tsujikawa
8d5422c9bb
Remove check for incoming header block size
...
The application should be responsible for the size of incoming header
block size. Framing layer just passes everything (we have size limit
for one header/field though) to application.
2014-07-31 23:05:53 +09:00
Tatsuhiro Tsujikawa
dd1850aed0
Emit minimum header table size in encoding context update
2014-07-31 23:05:53 +09:00
Tatsuhiro Tsujikawa
079db14d45
Add nghttp2_session_consume() API
...
Reworked no automatic WINDOW_UPDATE feature. We added new API
nghttp2_session_consume() which tells the library how many bytes are
consumed by the application. Instead of submitting WINDOW_UPDATE by
the application, the library is now responsible to submit
WINDOW_UPDATE based on consumed bytes. This is more reliable method,
since it enables us to properly send WINDOW_UPDATE for stream and
connection individually. The previous implementation of nghttpx had
broken connection window management.
2014-07-31 23:05:53 +09:00
Tatsuhiro Tsujikawa
e904842504
Update doc
2014-07-31 23:05:52 +09:00
Tatsuhiro Tsujikawa
78df530b90
Don't ignore aux_data for HEADERS with NGHTTP2_HCAT_HEADERS tag
2014-07-31 23:05:52 +09:00
Tatsuhiro Tsujikawa
e147c14186
Remove ent_name member and use index solely
2014-07-31 23:05:52 +09:00
Tatsuhiro Tsujikawa
06453fb15e
Remove unused role member in nghttp2_hd_context
2014-07-31 23:05:52 +09:00
Tatsuhiro Tsujikawa
744ec4dba1
Don't copy static header and put static table in front of dynamic table
2014-07-31 23:05:52 +09:00
Tatsuhiro Tsujikawa
38bfbffb1b
Remove HPACK reference set
2014-07-31 23:05:52 +09:00
Tatsuhiro Tsujikawa
63398f30dd
Extend frame length field to 24 bits
2014-07-31 23:05:52 +09:00
Tatsuhiro Tsujikawa
961dcf614a
Fix wrong detection of neverIndex bit
2014-07-26 23:27:34 +09:00
Tatsuhiro Tsujikawa
57e9b94aaa
Handle header table size up to UINT32_MAX
2014-07-22 22:38:18 +09:00
Tatsuhiro Tsujikawa
9de9b6ebd6
Remove unnecessarily code
2014-07-22 01:52:51 +09:00
Tatsuhiro Tsujikawa
44310c6de5
Fix integer decoding when it takes multiple reads
2014-07-22 01:50:29 +09:00
Tatsuhiro Tsujikawa
d99e1135c8
Search static header table linearly
2014-07-20 19:13:56 +09:00
Tatsuhiro Tsujikawa
67b13ad9ff
Remove unused nghttp2_nva_out
2014-07-18 21:14:07 +09:00
Tatsuhiro Tsujikawa
8dc47c6750
Fix resource leaks
2014-07-18 00:31:32 +09:00
Tatsuhiro Tsujikawa
5c305acb97
Remove unused nghttp2_io_flag
2014-07-17 23:44:03 +09:00