Commit Graph

72 Commits

Author SHA1 Message Date
Lucas Clemente
1712a7388f drop support for v30
fixes #213
2016-07-29 15:22:56 +02:00
Marten Seemann
8aad920aa9 enable support for QUIC 34
fixes #55
2016-07-29 19:00:20 +07:00
Lucas Clemente
af56ff2aca cache the ephermal key for up to 1 min
fixes #136
2016-07-28 19:07:57 +02:00
Lucas Clemente
44acb8ca82 remove session.maybeSendPacket, restrict small frame detection to ACKs
ref #217
2016-07-26 13:44:07 +02:00
Lucas Clemente
f04d14ac3e use flow controller for window update handling, remove windowUpdateMgr 2016-07-11 14:54:32 +02:00
Lucas Clemente
81ae6d44ec introduce protocol.VersionWhatever for when the version doesn't matter
ref #83
2016-07-08 18:21:45 +02: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
c095261749 limit number of tracked packets in ReceivedPacketHandler
fixes #132
2016-06-11 13:57:54 +07:00
Marten Seemann
3ba8ec73d8 don't read private header for QUIC Version >= 34
ref #55
2016-06-11 10:44:09 +07:00
Marten Seemann
3963e7eb03 change tests such that they are covered by coverage reports 2016-06-06 23:52:12 +07:00
Lucas Clemente
240946dfde replace version number literals with constants to make grepping easier 2016-06-03 11:09:48 +02:00
Lucas Clemente
682c18eac3 increase max crypto param size, the client sends a longer PAD tag 2016-06-02 11:51:19 +02:00
Marten Seemann
4df007dc99 reduce MaxPacketSize to the value used by Chromium
ref #94, #117
2016-06-01 17:19:32 +07:00
Marten Seemann
d10766906c limit number of gaps in received StreamFrame data
fixes #159
2016-06-01 15:41:29 +07:00
Marten Seemann
9476ae499c implement a buffer for received StreamFrames
fixes #116, ref #115
2016-06-01 14:33:12 +07:00
Lucas Clemente
a7afffe700 add a SetQuicHeaders function to h2quic.Server
fixes #156
2016-05-31 16:02:39 +02:00
Lucas Clemente
a4773eb5ff validate length of crypto message
refs #123
2016-05-27 23:25:51 +02:00
Lucas Clemente
c546f5c9dc enforce max streams per connection limit
fixes #13
2016-05-27 22:39:37 +02:00
Lucas Clemente
4af8ab3e9c fix a typo 2016-05-27 21:44:57 +02:00
Marten Seemann
e2254f1bbd limit number of packets stored in SentPacketHandler
fixes #140
2016-05-24 16:06:48 +07:00
Lucas Clemente
9539169fa4 implement source address token generation and validation
ref #121
2016-05-23 18:13:39 +02:00
Marten Seemann
f33058c504 move the RetransmissionThreshold to the server parameters 2016-05-22 23:45:09 +07:00
Lucas Clemente
6f3d7f5987 enable version 33
fixes #51
2016-05-21 00:05:08 +02:00
Lucas Clemente
f86875f746 reject small CHLOs to prevent amplification attacks
fixes #1
2016-05-19 16:20:22 +02:00
Lucas Clemente
753f219638 implement RTO computation in sentPacketHandler
ref #56
2016-05-18 20:50:22 +02:00
Marten Seemann
ceb5ef48c4 improve WindowUpdate thresholds
fixes #111
2016-05-18 18:19:18 +07:00
Marten Seemann
f147ebc9bb implement basic connection level flow control
fixes #39
2016-05-18 17:30:08 +07:00
Lucas Clemente
15e7fe6c73 don't block the server when too many packets are queued in a session
fixes #35
2016-05-17 16:52:55 +02:00
Lucas Clemente
fdfc7f5502 speed up packet number tests by reducing iterations 2016-05-17 11:57:45 +02:00
Lucas Clemente
bfaa4200df move all error things to new qerr package, replacing errorcodes 2016-05-17 10:38:34 +02:00
Lucas Clemente
dc2a14a5f7 add error code string representation to QuicError.Error 2016-05-17 00:31:18 +02:00
Lucas Clemente
69e302812d move ErrorCode type to errorcodes package 2016-05-17 00:25:51 +02:00
Lucas Clemente
fec9786939 error cosmetics 2016-05-17 00:12:04 +02:00
Lucas Clemente
dd13836aa9 rename NewQuicError to Error 2016-05-17 00:11:48 +02:00
Lucas Clemente
9cc4bb3ccf privatize publicHeader
ref #60
2016-05-15 15:44:14 +02:00
Marten Seemann
089582dd9f improve sending of WindowUpdate frames
fixes #96
2016-05-15 18:05:15 +07:00
Marten Seemann
a3ff4dd891 send WindowUpdate frames
fixes #19
2016-05-15 16:48:42 +07:00
Lucas Clemente
967a5c401c merge protocol.MinMax into utils.MinMax 2016-05-14 13:28:18 +02:00
Lucas Clemente
40acb8e9b5 minor protocol test fixes 2016-05-14 13:24:38 +02:00
Marten Seemann
878d6a7140 negotiate maximum number of streams per connection
fixes #20
2016-05-14 17:10:49 +07:00
Marten Seemann
16bd559d9a negotiate idle connection state lifetime
work towards #20
2016-05-14 16:48:19 +07:00
Marten Seemann
43621c9c25 keep separate flow control windows for sending and receiving in ConnectionParametersManager
work towards #19, #20, #39
2016-05-14 15:29:15 +07:00
Marten Seemann
ea22fa6346 split protocol constants into protocol and server parameters 2016-05-14 15:15:52 +07:00
Marten Seemann
ba799cef01 delay transmission of small packets to wait for new data
fixes #9, fixes #61
2016-05-13 17:06:30 +07:00
Lucas Clemente
c7126137d1 queue undecryptable packets for later decryption & possibly send PRST
fixes #38, fixes #69, fixes #73
2016-05-12 16:46:18 +02:00
Marten Seemann
0df44e46e5 shorten LargestObserved in ACK frames
fixes #82
2016-05-12 20:01:23 +07:00
Marten Seemann
076349554f move packet number calculations to protocol package 2016-05-12 18:18:15 +07:00
Marten Seemann
33c0f3a5df set LeastUnackedDelta length in StopWaitingFrame
fixes #79
2016-05-12 13:05:42 +07:00
Marten Seemann
e345270e84 use ByteCount type for Frame, Packet and PublicHeader lengths 2016-05-10 23:40:22 +07:00
Marten Seemann
174095d5aa make use of shorter PublicHeaders when packing a packet
fixes #67
2016-05-10 23:17:04 +07:00