Commit Graph

857 Commits

Author SHA1 Message Date
Lucas Clemente
af56ff2aca cache the ephermal key for up to 1 min
fixes #136
2016-07-28 19:07:57 +02:00
Lucas Clemente
769655c43e delay server nonce generation until after the CHLO
fixes the second part of #136
2016-07-28 18:25:29 +02:00
Lucas Clemente
5c4a7a9ec1 delay diversification nonce generation until after the CHLO
fixes the first part of #136
2016-07-28 17:21:39 +02:00
Lucas Clemente
f6b6566c65 add a test that the framer does not emit empty frames
fixes #202
2016-07-28 17:02:06 +02:00
Lucas Clemente
3d0ed0d1f9 trigger sending when stream data is read
fixes #223
2016-07-28 16:52:04 +02:00
Lucas Clemente
3a88a8cffa delete flow controllers for closed streams
fixes #177
2016-07-28 16:45:55 +02:00
Lucas Clemente
5a82b35ca8 put buffers back into the pool after reading packets 2016-07-26 18:44:01 +02:00
Lucas Clemente
635da6c773 update go to 1.7rc3 for CIs 2016-07-26 18:37:39 +02:00
Lucas Clemente
15421692a1 minor packet unpacker optimization 2016-07-26 18:37:18 +02:00
Lucas Clemente
daa328460f use in-place decryption when unpacking 2016-07-26 18:33:48 +02:00
Lucas Clemente
658ceab877 Merge pull request #224 from lucas-clemente/refactor-packing
Refactor packing
2016-07-26 17:33:20 +02:00
Lucas Clemente
b6758e67e0 minor stream optimization 2016-07-26 17:12:42 +02:00
Lucas Clemente
3aa8b1bf37 remove fcm.StreamContributesToConnectionFlowControl 2016-07-26 17:09:24 +02:00
Lucas Clemente
5f774c8e03 change fcm.SendWindowSize to include conn window to simplify framer 2016-07-26 17:06:54 +02:00
Lucas Clemente
ebf41d9f26 minor stream optimizations 2016-07-26 16:30:33 +02:00
Lucas Clemente
950e59fa3d add a sync.Pool of byte buffers with maximum packet size as cap
ref #217
2016-07-26 15:36:28 +02:00
Lucas Clemente
90aa8cfa95 make packetPacker use in-place encryption
ref #217
2016-07-26 15:16:23 +02:00
Lucas Clemente
d5255a4075 update AEADs to allow in-place encryption and decryption
ref #217
2016-07-26 15:13:15 +02:00
Lucas Clemente
eb9c23096d remove outdated test 2016-07-26 13:44:09 +02:00
Lucas Clemente
804287bd5c remove streamFramer.EstimatedDataLen
ref #217
2016-07-26 13:44:09 +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
d9a3980efc remove streamFramer.HasData()
ref #217
2016-07-26 13:43:18 +02:00
Lucas Clemente
136a1c574c remove call to streamFramer.HasData in packet packer
ref #217
2016-07-26 13:42:31 +02:00
Lucas Clemente
7adf760fa4 change streamFramer to pop as many stream frames as possible at once
ref #217
2016-07-26 13:42:30 +02:00
Lucas Clemente
6f657c02e4 fix some linter warnings 2016-07-26 13:42:30 +02:00
Marten Seemann
03bad0e86b use the same interface for new and legacy AckHandlers
ref #55
2016-07-26 18:31:54 +07:00
Marten Seemann
50a7e55c72 rename AckHandlerNew to AckHandler
ref #55
2016-07-26 13:48:13 +07:00
Marten Seemann
ef194015de use wrapped legacy ACK frame
ref #55
2016-07-26 12:30:48 +07:00
Marten Seemann
516500e156 wrap legacy AckFrame in new AckFrame 2016-07-26 12:05:31 +07:00
Marten Seemann
fb172297eb rename AckFrameNew to AckFrame 2016-07-26 10:42:25 +07:00
Marten Seemann
03e25d1e85 send shorter Missing Packet Sequence Number Delta in new ACK frames
fixes #184
2016-07-25 17:43:31 +07:00
Marten Seemann
99d22b0908 open new stream when receiving a WindowUpdate for an unknown stream
fixes #203
2016-07-25 16:37:27 +07:00
Marten Seemann
f2b54869ed add tests for SentPacketHandlers for belated ACKs after RTO retransmissions
closes #191
2016-07-25 16:12:31 +07:00
Lucas Clemente
9ef936c941 switch to custom selenium chrome image with current stable chrome 2016-07-22 16:25:01 +02:00
Lucas Clemente
6ea4f4b6e3 update go version for CIs to 1.7rc2 2016-07-21 09:10:49 +02:00
Marten Seemann
c44e01a8e6 correctly write new ACK frames with more than 255 ACK ranges
fixes #193
2016-07-20 14:12:36 +08:00
Lucas Clemente
f1766f6cfd Merge pull request #221 from aead/master
Replace ChaCha20Poly1305 implementation
2016-07-18 13:01:15 +02:00
Andreas Auernhammer
c5be7d0d62 Replace ChaCha20Poly1305 implementation
Improve AEAD speed with slightly faster poly1305 implementation.
Avoid memory allocations whenever possible. (AEAD)
But currently missing AVX2 support.

BenchmarkSeal64B-8     1561 ns/op       40.97 MB/s
BenchmarkSeal1K-8      5570 ns/op      183.82 MB/s
BenchmarkSeal64K-8     161271 ns/op    406.37 MB/s
BenchmarkOpen64B-8     1747 ns/op       45.79 MB/s
BenchmarkOpen1K-8      5741 ns/op      181.14 MB/s
BenchmarkOpen64K-8     157116 ns/op    417.22 MB/s
2016-07-17 23:23:30 +02:00
Lucas Clemente
0412926b3d update crypto and caddy links in readme 2016-07-14 01:42:05 +02:00
Lucas Clemente
6449afe605 add a set of integration tests with 10ms simulated RTT 2016-07-13 22:46:07 +02:00
Marten Seemann
8413c00b48 fix handling of ACKs sent for a belated packet in new SentPacketHandler
fixes #219
2016-07-14 00:16:11 +08:00
Marten Seemann
f03f9c9a1c handle ACKs sent for a belated packet in legacy SentPacketHandler
ref #219
2016-07-14 00:09:41 +08:00
Lucas Clemente
546ba27013 add an error when attempting to write empty stream frames 2016-07-13 16:12:14 +02:00
Marten Seemann
903130da20 ignore repeated ACKs in new SentPacketHandler
fixes #218
2016-07-13 22:03:14 +08:00
Marten Seemann
21746d7e06 ignore repeated ACKs in legacy SentPacketHandler
ref #218
2016-07-13 21:57:19 +08:00
Lucas Clemente
38098954f4 reduce calls to framer.getFCAllowance 2016-07-12 15:01:14 +02:00
Lucas Clemente
58ec83c4ba remove unneeded function call to framer.HasData 2016-07-12 14:42:53 +02:00
Lucas Clemente
73db4d7a04 remove stream.contributesToConnectionFlowControl 2016-07-11 17:54:22 +02:00
Lucas Clemente
1bc8c882c9 remove session pointer from stream and use a lambda to signal new data 2016-07-11 14:57:54 +02:00
Lucas Clemente
f04d14ac3e use flow controller for window update handling, remove windowUpdateMgr 2016-07-11 14:54:32 +02:00