Tatsuhiro Tsujikawa
b7a72b1e5a
Merge branch 'master' of https://github.com/weliu/nghttp2 into weliu-master
2016-08-04 22:25:25 +09:00
Tatsuhiro Tsujikawa
2f106dc96b
Fix wrong tree operation to avoid cycle
...
https://tools.ietf.org/html/rfc7540#section-5.3.3 explains how to
transform dependency tree to avoid circular dependency. Previously,
we wrongly always moved the dependent stream under the root stream.
The correct destination is the parent stream of the stream to
reprioritize. This commit fixes this bug.
2016-08-04 22:20:07 +09:00
Wenfeng Liu
f619286ca3
Make get_max_index() return the max index in frame, so we don't need
...
to do extra calculation
2016-08-04 01:26:13 +00:00
Tatsuhiro Tsujikawa
318235db33
Log frame's stream ID for header debug logging
...
Previously, for PUSH_PROMISE frame, we logged its promised stream ID.
But it is saner to use just frame's ID in this context.
2016-08-03 00:17:38 +09:00
Tatsuhiro Tsujikawa
8ab079ccc2
Call error callback when invalid header field is received and ignored
...
We have a code to call error callback when invalid header is received
and it is treated as stream error. But we didn't if the incoming
header is invalid, but just ignored. This generosity is required to
handle public Internet connections especially when nghttp2 is used as
forward proxy.
2016-08-03 00:13:37 +09:00
Tatsuhiro Tsujikawa
8b50cc0ece
Update doc
2016-07-21 21:18:21 +09:00
Tatsuhiro Tsujikawa
0cb0bdabec
Update doc
2016-07-13 22:01:31 +09:00
Tatsuhiro Tsujikawa
ed8d5f04bb
Update doc
2016-07-10 19:07:03 +09:00
Tatsuhiro Tsujikawa
110ca3131a
Cancel frame transmission from before_frame_send_callback
...
We define the behaviour when NGHTTP2_ERR_CANCEL is returned from
before_frame_send_callback. That is to cancel the frame passed to the
callback.
2016-07-02 19:21:08 +09:00
Tatsuhiro Tsujikawa
fdc27c9f0e
Specify 1 for 2nd parameter of fwrite as a convention
2016-06-22 23:29:09 +09:00
Tatsuhiro Tsujikawa
3aa0ebbbd6
Revert "Robust handling for ssize_t on Win32 platform"
...
This reverts commit c42296acf1
.
2016-06-22 21:29:34 +09:00
Tatsuhiro Tsujikawa
4aa79763be
Clarify code path when appending inflight_settings
2016-06-21 22:32:08 +09:00
Tatsuhiro Tsujikawa
057db65657
Rewrite session_append_inflight_settings
2016-06-21 22:30:21 +09:00
Tatsuhiro Tsujikawa
c42296acf1
Robust handling for ssize_t on Win32 platform
...
Now we define NGHTTP2_SSIZE_T which is typedef-ed to the appropriate
type depending on the platform (x86/x86_64).
See GH-616 for details
2016-06-21 22:06:20 +09:00
Tatsuhiro Tsujikawa
57259481c8
Fix typo
2016-06-15 00:42:03 +09:00
Tatsuhiro Tsujikawa
c7b0e04498
Add nghttp2_option_set_max_send_header_block_length API function
...
This function sets the maximum length of header block (a set of header
fields per HEADERS frame) to send. The length of given set of header
fields is calculated using nghttp2_hd_deflate_bound(). Previously,
this is hard-coded, and is 64KiB.
2016-06-15 00:05:15 +09:00
Alexis La Goutte
88e635e0b9
fix warning: declaration of 'free' shadows a global declaration
...
With some old OS X release
2016-06-01 08:45:13 +02:00
Tatsuhiro Tsujikawa
204f9a3ec7
Add nghttp2_session_set_local_window_size() API function
2016-05-29 23:13:11 +09:00
Tatsuhiro Tsujikawa
863fbffda4
Fix typo
2016-05-18 01:25:37 +09:00
Tatsuhiro Tsujikawa
2a96d433ec
Add nghttp2_hd_inflate_hd2() and deprecate nghttp2_hd_inflate_hd()
...
The difference between them are former has const qualifier to the |in|
parameter, which is desirable since it is effectively read-only.
2016-05-14 18:25:20 +09:00
Tatsuhiro Tsujikawa
5ff6da11b1
Refactor map remove
2016-05-14 11:34:51 +09:00
Tatsuhiro Tsujikawa
5d4f3f36e3
Fix bug that PING flags are ignored in nghttp2_submit_ping
2016-05-05 23:11:10 +09:00
Tatsuhiro Tsujikawa
dba0f35ee1
Avoid 0-length DATA if NGHTTP2_DATA_FLAG_NO_END_STREAM is set
2016-04-27 22:57:19 +09:00
Tatsuhiro Tsujikawa
3d948fd3d7
Zero fill in nghttp2_session_mem_send
2016-04-23 00:32:23 +09:00
Mike Conlen
e04e24c1c2
in nghttp2_session_send() data is declared uninitialized and used
...
after a call to nghttp2_session_mem_send_internal() which should
set it, however in nghttp2_session_mem_send_internal() it is
possible to return before setting the pointer.
This change initializes the variable to NULL where delcared and
sets the variable in nghttp2_session_mem_send_internal() to
NULL before possibly returning rather than after.
both options are not necessary but are both ideal practice
2016-04-21 22:53:19 +00:00
Tatsuhiro Tsujikawa
4041d1eb26
Don't send ALTSVC if stream is closing
2016-04-15 00:59:05 +09:00
Tatsuhiro Tsujikawa
40f3779eb1
Pass unknown SETTINGS values to nghttp2_on_frame_recv_callback
2016-04-10 16:36:04 +09:00
Tatsuhiro Tsujikawa
d88f962565
Add test for altsvc frame
2016-04-09 22:32:48 +09:00
Tatsuhiro Tsujikawa
3086d65657
altsvc: Update doc
2016-04-09 19:27:09 +09:00
Tatsuhiro Tsujikawa
d4144a7475
altsvc: Add tests, ignore altsvc if stream does not exist
2016-04-09 19:14:15 +09:00
Tatsuhiro Tsujikawa
6638ca9333
altsvc: Reduce bitfield size
2016-04-09 18:23:15 +09:00
Tatsuhiro Tsujikawa
b924ef5fff
altsvc: Discard altsvc when it is received by server in earlier point
2016-04-08 23:25:56 +09:00
Tatsuhiro Tsujikawa
df56f55f84
Assign nghttp2_frame.ext.payload early
2016-04-08 23:25:56 +09:00
Tatsuhiro Tsujikawa
31595c2416
Embed nghttp2_ext_frame_payload into nghttp2_outbound_item
2016-04-08 23:25:56 +09:00
Tatsuhiro Tsujikawa
795ee8c20f
altsvc: Receive ALTSVC frame
2016-04-08 23:25:56 +09:00
Tatsuhiro Tsujikawa
efbd48b122
altsvc: Add tx tests
2016-04-08 23:25:56 +09:00
Tatsuhiro Tsujikawa
8b5a85ae1d
altsvc: Add error handling about origin and stream_id
2016-04-08 23:25:56 +09:00
Tatsuhiro Tsujikawa
ecabef2dc7
altsvc: Add ALTSVC frame support
2016-04-08 23:25:56 +09:00
Tatsuhiro Tsujikawa
5974abad75
Run error callback when peer does not send initial SETTINGS frame
2016-04-02 18:20:49 +09:00
Tatsuhiro Tsujikawa
8667bbb823
Don't send WINDOW_UPDATE if session is being closed
2016-03-29 23:30:55 +09:00
Peter Wu
bd253e1bdd
cmake: fix Windows build with CUnit
...
failmalloc and main tests succesfully pass the test now.
2016-03-17 23:32:07 +01:00
Peter Wu
d10f149161
cmake: fix Windows support
...
Fix Windows build by defining `ssize_t` when missing and adjusting the
install commands.
Add support for ENABLE_WERROR=1 while at it.
Tested with MSVC 2013 on Windows 7 x64.
2016-03-16 17:33:20 +01:00
Peter Wu
7c55c335cc
Merge branches 'master' and 'cmake-updated' into cmake
...
Update to latest master with appropriate cmake changes at the same time.
2016-03-14 17:26:15 +01:00
Peter Wu
2ddb83206b
cmake: sync with v1.8.0-63-g37b09f6
...
Adds missing source files and configure.ac changes since
v1.7.0-93-g093eb51.
2016-03-14 17:20:37 +01:00
Jan-E
e8b62c620d
Revert change of NGHTTP2_VERSION_NUM, keep the parentheses around VERSION_NUM, not in the sed -e
2016-03-14 14:13:19 +01:00
Jan-E
0f71fbce8d
Generate nghttp2ver.h before compiling
2016-03-13 18:57:58 +01:00
Jan-E
4e2972a5dc
Use string for NGHTTP2_VERSION_NUM, e.g 0x010800: do not add parentheses
2016-03-13 18:43:44 +01:00
Jan-E
78e5417ff2
Remove -nologo: not used in VC11/VC14, throws error in VC9
2016-03-13 18:31:14 +01:00
Jan-E
77852cf572
Use string for NGHTTP2_VERSION_NUM, e.g 0x010800
2016-03-13 18:24:32 +01:00
Jan-E
fa36537f82
Detect version for releases en dev versions
2016-03-13 18:18:22 +01:00