Commit Graph

2414 Commits

Author SHA1 Message Date
Marten Seemann
8c594e1084 Merge pull request #1186 from lucas-clemente/log-vnps
log version negotiation packets
2018-02-21 18:03:57 +08:00
Marten Seemann
77b182ae85 Merge pull request #1185 from lucas-clemente/version-number-uint32
make the version number a uint32
2018-02-21 18:03:45 +08:00
Marten Seemann
a4c0f8776d Merge pull request #1184 from lucas-clemente/go-1.10
update CIs to Go 1.10 and Go 1.9.4
2018-02-21 18:03:30 +08:00
Marten Seemann
ce01e99ba1 log version negotiation packets 2018-02-21 14:55:33 +08:00
Marten Seemann
3371d6bcf9 make the version number a uint32
This will allow us to set it to the IETF draft version numbers as listed
in https://github.com/quicwg/base-drafts/wiki/QUIC-Versions. Those
numbers would overflow a int32.
2018-02-21 13:24:18 +08:00
Marten Seemann
152591ee3f update CIs to Go 1.10 and Go 1.9.4
The version numbers in the travis config are strings, not numbers.
See https://github.com/travis-ci/gimme/issues/132.
2018-02-21 10:49:52 +08:00
Marten Seemann
d19144921d Merge pull request #1176 from lucas-clemente/fix-1711
don't send an ACK frame for Retry packets
2018-02-21 09:42:29 +08:00
Marten Seemann
0f334e000c don't send an ACK frame for Retry packets 2018-02-18 14:17:51 +08:00
Marten Seemann
86b25dddce Merge pull request #1177 from lucas-clemente/transport-parameters-new-sesssion-ticket
don't accept transport parameters in the NewSessionTicket message
2018-02-18 14:03:31 +08:00
Marten Seemann
b97fd403f3 Merge pull request #1178 from lucas-clemente/fix-1173
use an unbuffered chan for the client transport parameters
2018-02-18 14:02:40 +08:00
Marten Seemann
f0eb5a60f1 don't accept transport parameters in the NewSessionTicket message
This was recently removed from the WG draft.
2018-02-08 11:09:42 +08:00
Marten Seemann
c9b95abe7e use an unbuffered chan for the client transport parameters
The client reads the transport parameters from the Encrypted Extensions
message. These transport parameters are passed to the session's run
loop's select statement via a channel.
We have to use an unbuffered channel here to make sure that the session
actually processes the transport parameters immediately.
2018-02-08 11:04:27 +08:00
Marten Seemann
d71850eb2f Merge pull request #1161 from lucas-clemente/send-stream-id-blocked
implement sending of STREAM_ID_BLOCKED frames
2018-02-07 00:32:15 +08:00
Marten Seemann
1248f0fa10 Merge pull request #1165 from lucas-clemente/fix-1164
only accept one TLS sessions for the same connection ID
2018-02-06 13:04:53 +08:00
Marten Seemann
51b6ff0af5 only accept one TLS sessions for the same connection ID 2018-02-06 12:44:06 +08:00
Marten Seemann
1ec720f2f2 implement sending of STREAM_ID_BLOCKED frames 2018-02-06 10:04:40 +08:00
Marten Seemann
4f364a7c24 Merge pull request #1159 from lucas-clemente/stream-id-limits
implement stream ID limits for IETF QUIC
2018-02-06 09:12:17 +08:00
Marten Seemann
8e332c2e13 implement sending of MAX_STREAM_ID frames
We can now impose a limit on the number of stream for IETF QUIC, and
advertise that in the transport parameters during the handshake.
2018-02-06 08:32:16 +08:00
Marten Seemann
e36b8d8e30 throw an error if the peer tries to open a too high stream 2018-02-06 08:30:58 +08:00
Marten Seemann
46e20ce8c9 implement handling of MAX_STREAM_ID frames 2018-02-06 08:30:58 +08:00
Marten Seemann
cd4bcda458 read and write the stream id limits sent in the TLS handshake 2018-02-06 08:30:57 +08:00
Marten Seemann
8b04cd2bde Merge pull request #1151 from lucas-clemente/uni-streams
implement a streams map for handling unidirectional and bidirectional streams
2018-02-06 08:27:51 +08:00
Marten Seemann
c33c4bf91e Merge pull request #1157 from lucas-clemente/stream-ietf-integration-tests
run the integration tests using many streams with IETF QUIC
2018-02-06 08:22:36 +08:00
Marten Seemann
02949853f7 use the new stream maps for the IETF QUIC streams map 2018-02-06 07:53:34 +08:00
Marten Seemann
be6493eff8 implement a map for incoming streams 2018-02-06 07:49:10 +08:00
Marten Seemann
035799a326 implement a map for outgoing streams 2018-02-06 07:49:10 +08:00
Marten Seemann
d0ffeac801 also run the integration tests using many streams with IETF QUIC 2018-02-06 07:42:31 +08:00
Marten Seemann
dadd8071f1 Merge pull request #1156 from lucas-clemente/fix-1155
correctly handle IETF STREAM frames
2018-02-06 07:40:19 +08:00
Marten Seemann
80969de93f fix splitting of STREAM frames for IETF QUIC
Move splitting of STREAM frames from the quic package to the wire
package.
2018-02-05 12:02:58 +08:00
Marten Seemann
5974c6c113 correctly determine the length of STREAM frames for IETF QUIC
The length of the data has an influence on the length of the frame (if
it contains the data length), and the length can either consume 1 or 2
bytes due to variable length encoding.
2018-02-05 12:02:49 +08:00
Marten Seemann
38c420a35b include the packet size in the error when packing a too large packet 2018-02-05 09:17:30 +08:00
Marten Seemann
30851b9a3b Merge pull request #1139 from lucas-clemente/milestone-0.7
release 0.7.0
v0.7.0
2018-02-03 17:52:57 +08:00
Marten Seemann
c76e63239f release 0.7.0 2018-02-03 17:17:55 +08:00
Marten Seemann
187747daf0 Merge pull request #1144 from lucas-clemente/streams-map-put-stream-error
return the putStream error in the streamsMap
2018-02-02 20:59:42 +08:00
Marten Seemann
9f10ecff05 Merge pull request #1146 from lucas-clemente/fix-1145
stop handling a packet after sending a Version Negotiation Packet
2018-02-02 20:59:27 +08:00
Marten Seemann
abca408e54 Merge pull request #1143 from lucas-clemente/mint-verify-peer-certificate
copy VerifyPeerCertificate from the tls.Config to the mint.Config
2018-02-02 20:42:28 +08:00
Marten Seemann
4def9c1758 Merge pull request #1148 from lucas-clemente/fix-1147
pass the version to the receiveStream constructor
2018-02-02 20:41:25 +08:00
Marten Seemann
c2c46c176b Merge pull request #1142 from lucas-clemente/fix-1141
fix flaky pacing test on CIs
2018-02-02 20:40:00 +08:00
Marten Seemann
827b3c6f5d fix flaky pacing test on CIs 2018-02-02 17:49:14 +08:00
Marten Seemann
5d45bb046b pass the version to the receiveStream constructor 2018-02-02 15:01:03 +08:00
Marten Seemann
2ca4796864 stop handling a packet after sending a Version Negotiation Packet 2018-02-02 13:57:10 +08:00
Marten Seemann
25b8052985 return the putStream error in the streamsMap 2018-02-02 12:01:04 +08:00
Marten Seemann
e16131b391 copy VerifyPeerCertificate from the tls.Config to the mint.Config 2018-02-02 11:01:34 +08:00
Marten Seemann
d0a394430f Merge pull request #1138 from lucas-clemente/internalize-ackhandler-and-congestion
internalize ackhandler and congestion
2018-02-02 09:27:12 +08:00
Marten Seemann
f3a338e3e4 Merge pull request #1131 from lucas-clemente/insecure-skip-verify
enable InsecureSkipVerify with mint
2018-02-02 09:03:24 +08:00
Marten Seemann
3b82628dbe internalize ackhandler and congestion 2018-02-02 08:40:56 +08:00
Marten Seemann
94c98861d5 Merge pull request #1123 from lucas-clemente/fix-965
ignore the delay in an ACK if it results in an RTT less than minRTT
2018-02-02 08:40:21 +08:00
Marten Seemann
706a828e16 copy InsecureSkipVerify from the tls.Config to the mint.Config
mint now supports InsecureSkipVerify.
2018-02-02 08:32:22 +08:00
Marten Seemann
97413c5281 Merge pull request #1130 from lucas-clemente/update-mint
update recent mint changes
2018-02-02 08:31:47 +08:00
Marten Seemann
def3700fd1 ignore the delay in an ACK if it results in an RTT less than minRTT 2018-02-02 08:18:50 +08:00