Commit Graph

1149 Commits

Author SHA1 Message Date
Marten Seemann
d6a0a145a4 correclty detected the closed state of a stream
fixes #380
2017-01-09 09:49:45 +07:00
Marten Seemann
7a91794292 send RST_STREAM frames
ref #380
2017-01-09 09:49:44 +07:00
Marten Seemann
c705a19f11 fix race condition in stream 2017-01-09 09:49:44 +07:00
Marten Seemann
57e6749955 stream code cleanup 2017-01-09 09:49:44 +07:00
Marten Seemann
a86f31d789 implement a stream.Reset() method
ref #380
2017-01-09 09:49:44 +07:00
Marten Seemann
b741724069 move utils.Stream interface to separate file 2017-01-09 09:49:43 +07:00
Marten Seemann
4e0ef58bab allow stream.Read for streams that a RST was received for
and a lot of code improvements

fixes #385
2017-01-09 09:49:43 +07:00
Marten Seemann
72e9994c9c allow reuse of connection IDs
fixes #347
2017-01-07 19:21:18 +07:00
Marten Seemann
bf615659d6 ignore public reset packets, and log them
ref #34
2017-01-07 14:56:24 +07:00
Marten Seemann
f71e54534a fix parsing of the PublicHeader of public reset packets
ref #34
2017-01-07 14:49:39 +07:00
Marten Seemann
6c1e24964a implement parsing of public reset packets
ref #34
2017-01-07 14:07:59 +07:00
Marten Seemann
53d2290a59 only allow writing a response body for status codes that allow bodies
fixes #386
2017-01-07 09:49:22 +07:00
Marten Seemann
563c56fa74 remove unused newStreamImpl from Session 2017-01-06 13:15:07 +07:00
Marten Seemann
d0198c698a log REJs and SHLOs 2017-01-05 10:15:11 +07:00
Lucas Clemente
1b57a9f317 Merge pull request #381 from lucas-clemente/wip-resetstreams
properly implement handling of RST_STREAM frames
2017-01-04 19:30:01 +01:00
Marten Seemann
fd5d5d35dd add tests for frame logging 2017-01-04 14:47:01 +07:00
Marten Seemann
bc2a610912 improve logging of AckFrames 2017-01-04 13:00:59 +07:00
Marten Seemann
863467f344 validate XLCT tag in client hello
fixes #363
2017-01-04 11:41:43 +07:00
Marten Seemann
98ff7ccb50 use FNV1a hash for cached certificates
fixes #383
2017-01-04 10:56:36 +07:00
Marten Seemann
8ce763682a send a RstStreamFrame when receiving a RstStreamFrame on an open stream
fixes #378
2017-01-03 17:51:56 +07:00
Marten Seemann
544a58a038 return total bytes sent when resetting a stream in the flow controller 2017-01-03 16:09:18 +07:00
Marten Seemann
9e09198df6 don’t return data for writing from a stream if it was closed with an error 2017-01-03 16:07:18 +07:00
Marten Seemann
bf0caf3c03 pass the byte offset of a RstStreamFrame to the flow controller
fixes #377
2017-01-03 12:37:45 +07:00
Marten Seemann
74edf9caad improve errors returned for flow control violations 2017-01-03 12:01:27 +07:00
Marten Seemann
fb3f753c94 add method to reset a stream at a byte offset to flow controller
ref #377
2017-01-03 11:32:42 +07:00
Marten Seemann
fe9da30cb2 update certificate for tests 2017-01-03 10:07:36 +07:00
Lucas Clemente
aa79516395 Merge pull request #376 from lucas-clemente/fix-360
prevent version downgrade attacks
2016-12-27 18:08:09 +01:00
Marten Seemann
d39c2a3027 validate version tag in CHLO to prevent version downgrade attacks
fixes #360
2016-12-23 15:31:52 +01:00
Marten Seemann
f72154e30b require version tag in CHLOs
ref #360
2016-12-23 15:31:52 +01:00
Marten Seemann
0fc42896e0 remove stray println in test 2016-12-22 14:37:55 +07:00
Lucas Clemente
294cef3354 Merge pull request #373 from lucas-clemente/fix-371
wait until the run loop has stopped before returning Session.Close()
2016-12-20 09:39:50 +01:00
Marten Seemann
0de6368bbb fix detection if the Session was already closed before 2016-12-20 10:23:44 +07:00
Marten Seemann
156c23f2b7 wait until the run loop has stopped before returning Session.Close()
fixes #371
2016-12-19 20:35:21 +07:00
Lucas Clemente
facaab7ff7 properly handle non-header h2 frames on stream 3
fixes #370
2016-12-14 11:54:26 +01:00
Lucas Clemente
bd3c7a96f9 add Google to license file 2016-12-14 11:54:01 +01:00
Marten Seemann
3b4feedb2c add support for server-side opened streams
fixes #296
2016-12-09 23:14:15 +07:00
Marten Seemann
10f8156951 remove unused function from streamsMap 2016-12-09 17:56:04 +07:00
Marten Seemann
c12508c3c9 use a mock ConnectionParametersManager in quic tests 2016-12-08 21:50:10 +07:00
Marten Seemann
ba85908fd7 use a mock ConnectionParameterManager in flow controller tests 2016-12-08 18:52:46 +07:00
Marten Seemann
ebc053dbe0 create interface for the ConnectionParametersManager 2016-12-08 18:39:14 +07:00
Marten Seemann
5af50c8fd0 correctly read MIDS and MSPC parameter
fixes #367
2016-12-08 16:15:31 +07:00
Marten Seemann
11d786fe28 log timestamp when packets are sent and received 2016-12-06 22:52:20 +07:00
Marten Seemann
f59544401b simplify truncated connection IDs in ConnectionParametersManager 2016-12-06 22:04:42 +07:00
Lucas Clemente
dfa18f8a5b Merge pull request #353 from carlosmn/no-gopath-certs
Don't rely on GOPATH to load the certificates or error codes
2016-12-03 16:44:50 +01:00
Marten Seemann
93cde5faa7 add Go 1.8beta1 for Travis 2016-12-03 14:31:19 +07:00
Marten Seemann
2213e567a2 update Go versions for CIs 2016-12-03 14:26:22 +07:00
Marten Seemann
4e8a2ee2b1 validate KEXS in client hellos
fixes #364
2016-12-03 14:24:55 +07:00
Marten Seemann
62a38f24d7 validate AEAD tag in client hellos
fixes #365
2016-12-03 14:16:54 +07:00
Marten Seemann
c6ea0e0b7a use VersionWhatever in AckFrame tests 2016-12-02 22:37:31 +07:00
Marten Seemann
295f6c78d9 correctly parse ACK frames with LargestAcked 0
fixes #362
2016-12-02 22:32:10 +07:00