Commit Graph

2556 Commits

Author SHA1 Message Date
Marten Seemann
948eef3e42 create a logger interface and use it everywhere 2018-04-04 13:03:28 +07:00
Marten Seemann
1e9b3f0bb2 simplify writing of the gQUIC Version Negotiation Packet 2018-04-04 13:03:22 +07:00
Marten Seemann
5e82335005 Merge pull request #1264 from lucas-clemente/ietf-quic-no-trial-decrypt
don't do trial decryption for IETF QUIC
2018-04-03 17:17:31 +07:00
Marten Seemann
d4b67d9d6c Merge pull request #1248 from lucas-clemente/fix-1247
allow empty STREAM frames at offset 0
2018-04-03 16:40:13 +07:00
Marten Seemann
efce19de55 Merge pull request #1270 from lucas-clemente/fix-1269
implement draft-10 changes for QHKDF-Expand
2018-04-03 16:19:40 +07:00
Marten Seemann
ae8d0808cf Merge pull request #1274 from lucas-clemente/remove-unused-packet-method
remove unused method from the ackhandler.Packet
2018-04-03 16:19:02 +07:00
Marten Seemann
294df18d5f Merge pull request #1272 from lucas-clemente/genny-linkedlist
use Genny to generate typed lists, based on Go standard library code
2018-04-03 16:18:37 +07:00
Marten Seemann
36dbb3477f Merge pull request #1266 from lucas-clemente/fnv128a
use the FNV 128a from the standard library
2018-04-03 16:18:04 +07:00
Marten Seemann
302d2a1715 don't use trial decryption for IETF QUIC 2018-03-31 14:29:44 +07:00
Marten Seemann
a298bd01c9 use a gomock packet unpacker 2018-03-31 14:29:44 +07:00
Marten Seemann
6c1eba5848 generate the diversification nonce when creating the server crypto setup 2018-03-31 14:29:44 +07:00
Marten Seemann
69f6427d3c refactor session to use a much smaller crypto setup 2018-03-31 14:29:44 +07:00
Marten Seemann
c6526ad927 replace the SetDiversificationNonce crypto setup method by a chan 2018-03-31 14:29:44 +07:00
Marten Seemann
2fbc994d29 move the unencrypted STREAM frame check from the unpacker to the session 2018-03-31 14:29:44 +07:00
Marten Seemann
538cd2c40b remove unused method from the ackhandler.Packet 2018-03-30 19:17:07 +07:00
Marten Seemann
6f12844094 Merge pull request #1259 from lucas-clemente/sph-send-time
don't set the send time of a packet in the sent packet handler
2018-03-30 17:23:31 +07:00
Marten Seemann
7346d12d6c use Genny to generate typed lists, based on Go standard library code 2018-03-30 15:12:09 +07:00
Marten Seemann
1c2e104a86 don't set the send time of a packet in the sent packet handler 2018-03-30 13:28:22 +07:00
Marten Seemann
469bad6350 implement draft-10 changes for QHKDF-Expand 2018-03-29 14:21:53 +07:00
Marten Seemann
30c948a2fd allow empty STREAM frames at offset 0 2018-03-29 12:43:59 +07:00
Marten Seemann
b8b840bedf use the FNV 128a from the standard library 2018-03-29 12:43:05 +07:00
Marten Seemann
51b9820084 Merge pull request #1265 from lucas-clemente/kex-error
correctly handle errors when creating a new gQUIC key exchange
2018-03-29 07:46:12 +07:00
Marten Seemann
48731221c0 correctly handle errors when creating a new gQUIC key exchange 2018-03-28 05:33:26 +07:00
Marten Seemann
1f9ab3b65f remove unused key exchange function from client crypto setup 2018-03-28 05:31:56 +07:00
Marten Seemann
00833c0840 Merge pull request #1263 from lucas-clemente/frame-parsing
move frame parsing to the wire package
2018-03-26 13:16:28 +02:00
Marten Seemann
be066e825c privatize the frame parsing functions 2018-03-25 18:07:49 +02:00
Marten Seemann
21b608daac move frame parsing to the wire package 2018-03-25 18:07:44 +02:00
Marten Seemann
9fa739409e Merge pull request #1260 from lucas-clemente/probe-packet-bytes-in-flight
don't reduce the bytes in flight for RTO probe packets
2018-03-21 16:58:10 +00:00
Marten Seemann
8772acab0a don't reduce the bytes in flight for RTO probe packets 2018-03-20 14:08:03 +00:00
Marten Seemann
a5688f954f Merge pull request #1251 from lucas-clemente/transport-parameters-max-stream-id
max stream values in the transport parameters are stream counts
2018-03-20 13:58:08 +00:00
Marten Seemann
e7d4339fc9 Merge pull request #1255 from lucas-clemente/fix-1253
calculate loss alarm based on send time of last retransmittable packet
2018-03-19 10:19:34 +00:00
Marten Seemann
46f8930fef calculate loss alarm based on send time of last retransmittable packet 2018-03-17 11:13:55 +00:00
Marten Seemann
b40942d39e send stream counts, not stream IDs, in the transport parameters 2018-03-16 17:41:21 +00:00
Marten Seemann
1fffb88553 fix typo in function name 2018-03-16 17:41:21 +00:00
Marten Seemann
076e03a094 Merge pull request #1246 from lucas-clemente/sph-refactoring
keep track of retransmissions
2018-03-16 18:39:33 +01:00
Marten Seemann
94282df1a1 Merge pull request #1252 from lucas-clemente/fix-server-test
fix incorrect server test
2018-03-16 18:16:37 +01:00
Marten Seemann
fed3bf503e keep track of which packets were sent as retransmissions
When an ACK for a packet that was retransmitted arrives, we don't need
to retransmit the retransmission, even if it was lost.
2018-03-16 16:54:39 +01:00
Marten Seemann
a8c71f5d69 fix incorrect server test
When a Read from the connection fails, we need to close all sessions,
but it's not necessary to remove them from the sessions map in the
server.
2018-03-16 13:26:10 +01:00
Marten Seemann
56720edc34 report retransmissions separately to the sent packet handler 2018-03-14 11:15:52 +01:00
Marten Seemann
dc4a9b1d86 refactor sent packet handler tests 2018-03-14 11:15:26 +01:00
Lucas Clemente
0e86ee87f3 Merge pull request #1244 from lucas-clemente/certs
Update certs
2018-03-13 20:43:55 +01:00
Lucas Clemente
182faeec47 Update certs 2018-03-13 19:04:32 +01:00
Marten Seemann
6a80d50fb9 optimize updating the RTT when receiving an ACK 2018-03-13 17:44:12 +01:00
Marten Seemann
9ffeba5445 refactor the sent packet history into a separate object 2018-03-13 17:44:12 +01:00
Marten Seemann
555fa8ec8e Merge pull request #1232 from lucas-clemente/packet-sending-modes
implement packet send modes to determine what kind of packets are sent
2018-03-13 17:39:20 +01:00
Marten Seemann
b5977236ff implement packet send modes to determine what kind of packets are sent 2018-03-13 14:49:48 +01:00
Marten Seemann
b679f5170c Merge pull request #1237 from lucas-clemente/fix-1233
use the max_packet_size transport parameter
2018-03-12 21:16:49 +07:00
Marten Seemann
b75dc8e0fd Merge pull request #1239 from lucas-clemente/h2quic-client-dont-log-normal-error
don't log the PeerGoingAway error in the h2quic client
2018-03-12 21:01:39 +07:00
Marten Seemann
6712a8d023 don't log the PeerGoingAway error in the h2quic client 2018-03-11 15:42:20 +07:00
Marten Seemann
9d18d30931 use the peer's max_packet_size when packing packets 2018-03-10 14:27:07 +07:00