Commit Graph

724 Commits

Author SHA1 Message Date
Lucas Clemente
d0efb894ef update certificate for tests 2016-07-05 12:24:54 +02:00
Lucas Clemente
3d4ca214f7 remove DER certificates and use PEMs instead 2016-07-05 12:23:51 +02:00
Lucas Clemente
705da8fd00 switch to AES-GCM as symmetric cipher
fixes #200
2016-07-05 12:13:41 +02:00
Marten Seemann
1fc83757a0 fix panic in QUIC 34 ACK frame parser for incorrect typeBytes
fixes #198
2016-07-05 15:10:22 +08:00
Marten Seemann
da2b2f3a2d parse QUIC 34 ACK Frames with an incomplete range
fixes #194
2016-07-03 23:59:11 +08:00
Marten Seemann
1d358a031f ignore packets smaller than LeastUnacked of a StopWaiting
ref #196
2016-07-03 23:32:08 +08:00
Marten Seemann
8071fda5ee ignore duplicate packets
fixes #197
2016-07-03 23:22:12 +08:00
Marten Seemann
3e604a274d add tests for receiving packets in Session
ref #197
2016-07-03 23:19:07 +08:00
Marten Seemann
d2c89cbf22 detect packets smaller than LeastUnacked in ReceivedPacketHandler
ref #196
2016-07-03 22:46:21 +08:00
Marten Seemann
0ebab92ae1 rename highestInOrderObserved to largestInOrderObserved in new ReceivedPacketHanlder 2016-07-03 21:55:57 +08:00
Marten Seemann
1186af3f99 reject QUIC 34 ACK frames that have an empty first ACK range 2016-06-28 22:14:43 +07:00
Marten Seemann
d14f85d4ec fix race condition in ReceivedPacketHistory 2016-06-27 17:47:27 +07:00
Marten Seemann
497c57d54a use ReceivedPacketHistory to get ACK ranges in new ReceivedPacketHandler
fixes #190
2016-06-27 17:18:44 +07:00
Marten Seemann
ffcdeebeb6 add method to delete old ACK ranges from packet history
ref #190
2016-06-27 16:58:45 +07:00
Marten Seemann
be51851ef6 rename packetHistory to receivedTimes in new ReceivedPacketHandler 2016-06-27 15:31:44 +07:00
Marten Seemann
7da4e3e5fb add method to get ACK ranges from packet history
ref #190
2016-06-27 15:20:03 +07:00
Marten Seemann
30449870e4 implement packet history to efficiently calculate ACK ranges
ref #190
2016-06-27 15:10:41 +07:00
Marten Seemann
5e8c6e59f6 remove NackRanges from new AckFrame 2016-06-27 11:22:35 +07:00
Marten Seemann
f958aa9e21 simplify packetHistory in new ReceivedPacketHandler 2016-06-26 17:44:38 +07:00
Marten Seemann
1786c952c5 fix duplicate and out-of-order ACK detection in SentPacketHandler
fixes #192
2016-06-26 16:15:34 +07:00
Marten Seemann
dbf76815f4 rename highestInOrderAckedPacketNumber in new SentPacketHandler 2016-06-25 20:04:42 +07:00
Marten Seemann
fe1fb7a5f4 delete retransmitted packets from QUIC 34 SentPacketHandler packetHistory
fixes #188
2016-06-24 16:42:47 +07:00
Marten Seemann
38c0c3d0aa rename LargestObserved to LargestAcked in QUIC 34 SentPacketHandler 2016-06-24 14:36:32 +07:00
Marten Seemann
d86d981319 rename LargestObserved to LargestAcked in QUIC 34 ACK frame 2016-06-24 14:30:39 +07:00
Marten Seemann
ab1db83134 pack QUIC 34 packets with the correct maximum size
fixes #187
2016-06-23 18:23:34 +07:00
Marten Seemann
5e890a8f61 remove EntropyAccumulator from QUIC 34 AckHandler
ref #55
2016-06-23 11:11:52 +07:00
Marten Seemann
4952333ae7 remove entropy from QUIC 34 AckHandler Packet
ref #55
2016-06-23 11:05:12 +07:00
Marten Seemann
9bb8a56b94 remove Entropy from QUIC 34 StopWaitingManager
ref #55
2016-06-23 11:03:31 +07:00
Marten Seemann
b9091ad26c use new AckFrame in ReceivedPacketHandler
ref #55
2016-06-23 10:57:08 +07:00
Marten Seemann
ec75fa2edb use new AckFrame in SentPacketHandler
ref #55
2016-06-23 10:15:39 +07:00
Marten Seemann
9dee97d2f9 copy AckHandler package 2016-06-22 16:33:39 +07:00
Marten Seemann
e6ecb1f40c remove unused GetHighestInOrderPacketNumber method from QUIC 34 ACK frame
ref #182
2016-06-22 16:32:56 +07:00
Marten Seemann
1d412f2af6 check for consistent ACK ranges when writing QUIC 34 ACK frames
ref #182
2016-06-22 15:35:14 +07:00
Marten Seemann
9d3dd34017 correctly parse and write QUIC 34 ACK frames if packet 1 was lost
ref #182
2016-06-22 15:16:53 +07:00
Marten Seemann
eb03ed5334 rename AckHandler package to AckHandlerLegacy 2016-06-21 19:51:26 +07:00
Marten Seemann
288cb9e143 rename AckFrame to AckFrameLegacy 2016-06-21 19:51:26 +07:00
Marten Seemann
c01e16da71 validate parsed ACK ranges from a QUIC 34 ACK frame
ref #182
2016-06-21 19:49:24 +07:00
Marten Seemann
a92bd2bf55 don't write any timestamps in QUIC 34 ACK frames
ref #182
2016-06-21 18:14:30 +07:00
Marten Seemann
193f0dd793 correctly parse QUIC 34 ACK frames without timestamps
ref #182
2016-06-21 18:11:32 +07:00
Marten Seemann
4e183194c1 fix number of ACK blocks for gaps of 254 packets in QUIC 34 ACKs
ref #182
2016-06-21 14:20:21 +07:00
Marten Seemann
74ac98e7a5 calculate MinLength for QUIC 34 ACKs with long ranges of missing packets
ref #182
2016-06-21 14:11:19 +07:00
Marten Seemann
a2aed133b5 implement writing of ACK blocks with large gaps for QUIC 34 ACK frames
ref #182
2016-06-21 14:02:45 +07:00
Marten Seemann
5b0442f7e6 calculate correct MinLength for QUIC 34 ACK frames with ACK ranges
ref #182
2016-06-21 10:13:32 +07:00
Marten Seemann
cc5fe06db9 implement basic writing of ACK blocks for QUIC 34 ACK frames
ref #182
2016-06-21 00:24:44 +07:00
Marten Seemann
c681fd1469 don't panic if an ACK frame has too many NACK ranges 2016-06-20 14:48:21 +07:00
Marten Seemann
433920fc15 calculate correct MinLength of an ACK frame with a contiguous NACK range
fixes #183
2016-06-20 14:43:00 +07:00
Marten Seemann
29029978a0 determine if a QUIC 34 ACK frame reports any missing packets
ref #182
2016-06-20 14:05:20 +07:00
Marten Seemann
b2198505b1 use Go 1.7beta2 for Travis and Appveyor 2016-06-20 13:55:49 +07:00
Marten Seemann
eb2414b085 parse QUIC 34 ACK frames with > 256 packets lost in a row
ref #182
2016-06-20 13:43:40 +07:00
Marten Seemann
963517e7be implement basic ACK block parsing for QUIC 34 ACK frames
ref #182
2016-06-20 11:31:23 +07:00