Commit Graph

1322 Commits

Author SHA1 Message Date
Marten Seemann
bd452b35ca support unset GOPATH in Go 1.8 in integrationtests
fixes #415
2017-02-18 13:40:28 +07:00
Marten Seemann
0d6647ed8c fix auto-tuning of connection-level flow control window
fixes #424
2017-02-17 19:47:09 +07:00
Marten Seemann
a5774dcfd9 update CIs to Go 1.8 2017-02-17 11:14:32 +07:00
Marten Seemann
c7b4ad6e80 return plain nil value for Session.GetOrOpenStream for closed streams
fixes #418
2017-02-15 22:29:08 +07:00
Marten Seemann
08191fc5d9 check if the data stream is already closed after parsing an HTTP request
fixes #414
2017-02-10 18:35:44 +07:00
Marten Seemann
142db0bae4 Merge pull request #413 from lucas-clemente/flowcontrol
improve flow controller
2017-02-08 18:52:38 +07:00
Marten Seemann
f0975d4a7e store connection flow controller separately in flow control manager 2017-02-08 14:28:45 +07:00
Marten Seemann
1ed5f30817 fix race condition in flow control manager 2017-02-08 14:23:04 +07:00
Marten Seemann
00ef1249ce fix flaky server test 2017-02-08 12:21:20 +07:00
Marten Seemann
291e6c1344 store in flow controller if a stream contributes to connection flow control 2017-02-08 11:48:13 +07:00
Marten Seemann
db11b25790 ensure minimum size of connection-level flow control window
fixes #409
2017-02-08 11:39:33 +07:00
Marten Seemann
84bda1a9f4 improve tests and test coverage of flow control manager 2017-02-08 11:35:30 +07:00
Marten Seemann
1aaf049a11 remove unused GetBytesSent function from flow controller 2017-02-08 10:39:16 +07:00
Marten Seemann
7ce7203f16 simplify variable and function names in flow controller 2017-02-08 09:01:45 +07:00
Lucas Clemente
bef36f7429 fix integer signing bug in cubic
Fixes #402, see https://codereview.chromium.org/2550453002/
2017-02-07 21:20:48 +01:00
Marten Seemann
35242394e1 generate new connection ID after version negotiation
fixes #404
2017-02-06 15:42:37 +07:00
Marten Seemann
268841f0cc add a TLSClientConfig to the QUIC RoundTripper
fixes #407
2017-02-04 10:28:00 +07:00
Marten Seemann
e9666c6313 add a test for the Root CA specified in the TLS client config
ref #407
2017-02-04 10:27:50 +07:00
Marten Seemann
713df41c8b verify certificates using a client TLS config, if given
ref #407
2017-02-03 15:46:38 +07:00
Marten Seemann
b455f3ee6a fix flaky h2quic server test 2017-02-02 15:34:46 +07:00
Marten Seemann
90983470e8 fix logging of REJs and SHLOs 2017-02-02 14:16:46 +07:00
Marten Seemann
1800e47607 update CIs to Go 1.7.5 2017-01-28 23:15:03 +09:00
Marten Seemann
7e0cb8072b don’t panic if a request handler replaces the request.Body
fixes #405
2017-01-28 23:00:34 +09:00
Marten Seemann
dfa0137bd6 close the connection when encountering an error on the header stream
fixes #403
2017-01-26 14:12:50 +09:00
Marten Seemann
86e02c4d2c use cryptographic random to generate new connection IDs
fixes #348
2017-01-18 14:19:53 +07:00
Marten Seemann
d5ec70fc7d Merge pull request #399 from lucas-clemente/wip-client
implement a QUIC client
2017-01-18 14:04:36 +07:00
Marten Seemann
68c8bb27b9 update README 2017-01-18 13:07:21 +07:00
Marten Seemann
f286ba3d36 fix error code when there are no common version in version negotiation 2017-01-18 10:22:04 +07:00
Marten Seemann
16448cb2db run client integration tests with every QUIC version 2017-01-16 16:34:50 +07:00
Marten Seemann
7284a74332 fix another flaky h2quic client test 2017-01-16 16:23:34 +07:00
Marten Seemann
99bc18efd8 explicitly fail tests if name resolution fails 2017-01-16 15:28:59 +07:00
Marten Seemann
06aa2489ba add an integration test for uploading data with the client 2017-01-16 15:23:23 +07:00
Marten Seemann
f08e00630d fix flaky h2quic client test 2017-01-16 12:22:03 +07:00
Marten Seemann
1eeb249876 add more integration tests for downloading data with the client 2017-01-16 10:38:58 +07:00
Marten Seemann
cdcb4163c0 add a simple integration test for the client 2017-01-16 10:35:59 +07:00
Marten Seemann
c71e8cfb25 log sent CHLOs 2017-01-14 19:00:24 +07:00
Marten Seemann
82f2298658 fix race condition in client crypto setup 2017-01-14 19:00:23 +07:00
Marten Seemann
e3b34f2120 implement sending of the request body 2017-01-14 19:00:22 +07:00
Marten Seemann
cc97a2fba4 print request body in example client 2017-01-14 18:58:47 +07:00
Marten Seemann
6dd297379b set EndStream header in HeadersFrame 2017-01-14 18:58:47 +07:00
Marten Seemann
db09de621c detect version downgrade attacks in the client crypto setup 2017-01-14 18:58:47 +07:00
Marten Seemann
b52204322f don’t modify version slice when finding the highest supported version
will be needed for detecting version downgrade attacks
2017-01-14 18:58:47 +07:00
Marten Seemann
1854279bb5 reject requests with an invalid request method 2017-01-14 18:58:46 +07:00
Marten Seemann
feec325083 validate HTTP headers and request scheme in RoundTripper 2017-01-14 18:58:46 +07:00
Marten Seemann
1061bd4492 reject requests with missing URL or Header in the RoundTripper 2017-01-14 18:58:46 +07:00
Marten Seemann
53706049c7 read connection parameters when receiving a SHLO 2017-01-14 18:58:46 +07:00
Marten Seemann
a587af079d improve the connection parameters manager for the client 2017-01-14 18:58:46 +07:00
Marten Seemann
64c4bede3e remove unnecessary loop from connection parameters manager 2017-01-14 18:58:45 +07:00
Marten Seemann
128bad04e5 add option to disable compresson to QuicRoundTripper 2017-01-14 18:58:45 +07:00
Marten Seemann
d028624f77 implement compressed requests and responses 2017-01-14 18:58:45 +07:00