Tatsuhiro Tsujikawa
abe74f869f
Ditto 7730b13e5a
2014-04-30 22:44:51 +09:00
Alexis La Goutte
7730b13e5a
Fix Address of stack memory associated with local variable 'flag' is still
...
referred to by the global variable 'long_options' upon returning to the caller.
This will be a dangling reference
Found by Clang Analyzer
2014-04-30 22:06:42 +09:00
Tatsuhiro Tsujikawa
b5d793dee6
app_helper: Remove redundant line separator after frame debug output
2014-04-30 10:01:19 +09:00
Tatsuhiro Tsujikawa
4caddec9ba
nghttp: Align NULL separated header fields
2014-04-30 09:56:33 +09:00
Tatsuhiro Tsujikawa
bc50062964
nghttp: Fix crash on PUSH_PROMISE
2014-04-29 15:08:57 +09:00
Tatsuhiro Tsujikawa
fa8b310cfd
nghttpx: Return SSL_TLSEXT_ERR_OK from servername_callback
2014-04-27 23:17:19 +09:00
Tatsuhiro Tsujikawa
6d5f402380
Add nghttp2_adjust_priority_callback
...
Callback function invoked to adjust priority value for request
HEADERS.
Since the application doesn’t know stream ID when it submits
requests, it may not be able to add correct priority value to HEADERS
frame and forced to use follwing PRIORITY frame. The purpose of this
callback is give the chance to the application to adjust priority
value with the latest information it has just before transmission so
that correct priority is included in HEADERS frame and it doesn’t
have to send additional PRIORITY frame.
2014-04-27 14:48:43 +09:00
Tatsuhiro Tsujikawa
a82b7f09c8
nghttpx: Drop HTTP/2 backend connection unless TLSv1.2 or TLSv1.1 was negotiated
2014-04-26 23:00:58 +09:00
Tatsuhiro Tsujikawa
75bfbc94dd
nghttpx: Require TLSv1.2 or TLSv1.1 for NPN as well
2014-04-26 22:51:39 +09:00
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
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
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
ac86b51e37
Implement simplified dependency based priority
2014-04-15 22:55:07 +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
d998e79549
h2load: Link with timegm
2014-04-06 17:35:00 +09:00
Tatsuhiro Tsujikawa
59c9c4511c
nghttpx: Use move to insert crumbled cookies
2014-04-05 23:45:07 +09:00
Tatsuhiro Tsujikawa
5b55874d4d
Fix static analysis error
2014-04-05 20:04:09 +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
Tatsuhiro Tsujikawa
e7ad3633c7
nghttp2_data_source_read_callback: Replace eof with uint32_t *data_flags
...
Replace int *eof with uint32_t *data_flags so that we can easily
extend functionality if we have to (but we don't do if possible).
2014-04-05 17:59:24 +09:00
Tatsuhiro Tsujikawa
d668d2448b
Hide session option from public API
...
To make adding new option easier, we decided to make the details of
option struct private and hide it from public API. We provide
functions to set individual option value.
2014-04-04 21:57:47 +09:00
Tatsuhiro Tsujikawa
2a49e164c8
nghttpx: Fix crash with HTTP/2 downstream
2014-04-03 19:14:05 +09:00
Tatsuhiro Tsujikawa
22c88af1ab
nghttpx: Resume deferred DATA after complete DATA frame arrived on backend
...
If SPDY or HTTP/2 ustream is used and HTTP/2 downstream is used, only
call {spdylay,nghttp2}_resume_data when complete DATA frame was read
in backend to avoid to transmit too small DATA frame to the upstream.
2014-04-03 18:54:15 +09:00
Tatsuhiro Tsujikawa
db6c41a219
nghttpx: Add altsvc related options
...
To advertise alternative serive, at least --altsvc-port and
--altsvc-protocol-id must be specified.
2014-04-03 13:20:50 +09:00
Tatsuhiro Tsujikawa
1d38df0a31
nghttp: Don't index authorization header field for debugging purpose
2014-04-03 11:33:15 +09:00
Tatsuhiro Tsujikawa
b1edb1f3ae
Don't index name/value pair bearing NO_INDEX flag when forwarding it
2014-04-03 11:22:11 +09:00
Tatsuhiro Tsujikawa
35a45f9d47
src: Initialize nghttp2_nv flags
2014-04-02 20:37:33 +09:00
Tatsuhiro Tsujikawa
c9f90924a9
Add flags parameter to nghttp2_on_header_callback
2014-04-02 02:10:35 +09:00
Tatsuhiro Tsujikawa
24cb90806d
Add flags to nghttp2_nv structure
...
This is preliminary change for upcoming HPACK updates. The flags are
used to determine the name/value pair is indexable or not.
2014-04-01 23:17:50 +09:00
Tatsuhiro Tsujikawa
b143039b60
src: Output debug data in GOAWAY in printable ascii
...
Non printable ascii is printed as ".".
2014-03-31 23:17:51 +09:00
Tatsuhiro Tsujikawa
f011bda377
src: Compile defaltehd and inflatehd with c++
...
This commit also fixes defaltehd always reports output length is 0.
2014-03-30 22:41:02 +09:00
Tatsuhiro Tsujikawa
34581d830d
Define NGHTTP2_CLEARTEXT_PROTO_VERSION_ID
...
This identifier string is used if HTTP/2 is used over cleartext TCP.
2014-03-30 21:30:47 +09:00
Tatsuhiro Tsujikawa
60a2c260a5
Define NGHTTP2_CLIENT_CONNECTION_PREFACE macro
...
NGHTTP2_CLIENT_CONNECTION_PREFACE has the same content with
NGHTTP2_CLIENT_CONNECTION_HEADER, which is now obsoleted by
NGHTTP2_CLIENT_CONNECTION_PREFACE.
2014-03-30 21:02:25 +09:00
Tatsuhiro Tsujikawa
ab2dc5967d
Replace HTTP/2.0 with HTTP/2
2014-03-30 19:26:37 +09:00
Tatsuhiro Tsujikawa
bd7d335d9a
src: Print padlen first
2014-03-30 01:24:17 +09:00
Tatsuhiro Tsujikawa
f7162ab702
Implement dependency based priority
2014-03-30 01:24:16 +09:00
Tatsuhiro Tsujikawa
8ccb6e463d
nghttpx: Use raw-string iteral to output help
2014-03-22 22:03:13 +09:00
Tatsuhiro Tsujikawa
e4dacb2f6f
nghttpd: Use raw-string literal to output help
2014-03-22 21:35:00 +09:00
Tatsuhiro Tsujikawa
0a80b0c1aa
nghttpd: Set write timeout for stream blocked by flow controll only
...
This change also reset read timeout when we have sent HEADERS,
PUSH_PROMISE or DATA.
2014-03-22 00:41:01 +09:00
Tatsuhiro Tsujikawa
fac42788bc
nghttpd: Rename Request as Stream
2014-03-21 23:26:53 +09:00
Tatsuhiro Tsujikawa
464fef7c6e
nghttpd: Add HTTP/2 stream read/write timeout
2014-03-21 23:07:20 +09:00