Commit Graph

2446 Commits

Author SHA1 Message Date
Marten Seemann
6555907162 run goimports in gometalinter 2018-02-23 22:39:08 +08:00
Marten Seemann
11af98e338 run misspell in gometalinter 2018-02-23 22:39:08 +08:00
Marten Seemann
b6c41464c6 run varcheck in gometalinter 2018-02-23 22:39:08 +08:00
Marten Seemann
cda87e5db2 run deadcode in gometalinter 2018-02-23 22:39:08 +08:00
Marten Seemann
37aa577560 run ineffassign in gometalinter 2018-02-23 22:39:08 +08:00
Marten Seemann
548916e902 run gometalinter with go vet 2018-02-23 22:39:08 +08:00
Marten Seemann
2f157769c0 Merge pull request #1197 from lucas-clemente/fix-523
make the number of incoming streams configurable
2018-02-23 22:37:25 +08:00
Marten Seemann
119d5b2e8a Merge pull request #1200 from lucas-clemente/fix-1174
delete handshake packets from history when receiving a forward-secure packet
2018-02-23 22:29:10 +08:00
Marten Seemann
245af2c596 make the number of incoming streams configurable, for gQUIC 2018-02-23 22:15:31 +08:00
Marten Seemann
58b20c6009 make the number of incoming streams configurable, for IETF QUIC 2018-02-23 22:15:31 +08:00
Marten Seemann
8fd7219bfc delete handshake packets from history when receiving a forward-secure packet 2018-02-23 22:15:10 +08:00
Marten Seemann
ecad36a65b Merge pull request #1193 from lucas-clemente/fix-1129
implement the recent key schedule changes
2018-02-23 22:10:03 +08:00
Marten Seemann
b623600dfc Merge pull request #1201 from lucas-clemente/congestion-golint
make golint happy about the congestion tests
2018-02-23 21:45:40 +08:00
Marten Seemann
dcd2659925 implement the recent key schedule changes 2018-02-23 21:43:19 +08:00
Marten Seemann
6fcdcdbea1 make golint happy about the congestion tests 2018-02-23 20:56:07 +08:00
Marten Seemann
c65b1aca4e Merge pull request #1187 from lucas-clemente/buffer-pool-pointer
use pointer to byte slices in the buffer pool
2018-02-23 20:50:24 +08:00
Marten Seemann
7f3799e070 Merge pull request #1198 from lucas-clemente/fix-1168
don't retransmit Initial packets after receiving the first packet
2018-02-23 20:42:15 +08:00
Marten Seemann
4ae811e2d6 Merge pull request #1196 from lucas-clemente/fix-1195
fix IETF Version Negotiation Packet, it doesn't have a packet number
2018-02-23 20:14:06 +08:00
Marten Seemann
07b8821ef7 use pointer to byte slices in the buffer pool
https://staticcheck.io/docs/staticcheck#SA6002 suggests to use pointers
to objects in the sync.Pool.
2018-02-23 18:57:12 +08:00
Marten Seemann
26013b8d64 don't retransmit Initial packets after receiving the first packet 2018-02-23 17:57:42 +08:00
Marten Seemann
d16dea09cc Merge pull request #1166 from lucas-clemente/fix-1163
retransmit Initial packets as Initial packets
2018-02-23 17:25:22 +08:00
Marten Seemann
88da8e2e0a retransmit Initial packets as Initial packets 2018-02-23 15:58:24 +08:00
Marten Seemann
a4bc7362e0 fix IETF Version Negotiation Packet, it doesn't have a packet number 2018-02-23 14:20:47 +08:00
Marten Seemann
4e20ae142c Merge pull request #1190 from lucas-clemente/proxy-closing
properly close the UDP proxy used in the integration tests
2018-02-22 19:59:13 +08:00
Marten Seemann
ab72765a79 Merge pull request #1189 from lucas-clemente/fix-1188
fix race conditions in new streams maps
2018-02-22 19:25:53 +08:00
Marten Seemann
b1095d0661 properly close the UDP proxy used in the integration tests 2018-02-22 19:13:07 +08:00
Marten Seemann
8bf38c9b21 Merge pull request #1192 from lucas-clemente/proxy-logging
add some debug logging for the proxy
2018-02-22 19:12:25 +08:00
Marten Seemann
4fa68b0788 fix race condition in GetStream in outgoing streams map 2018-02-22 18:48:53 +08:00
Marten Seemann
e181f92917 add some debug logging for the proxy 2018-02-22 17:55:48 +08:00
Marten Seemann
77a4bf17ca fix race condition in GetOrOpenStream in incoming streams map 2018-02-22 09:21:31 +08:00
Marten Seemann
6322412eb8 Merge pull request #1153 from lucas-clemente/expose-uni-streams
expose methods for opening and accepting unidirectional streams
2018-02-21 22:46:52 +08:00
Marten Seemann
da49295b52 expose methods for opening and accepting unidirectional streams 2018-02-21 22:19:37 +08:00
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