Marten Seemann
|
9e147714ac
|
pack smaller packets as long as the encryption is not forward secure
|
2017-03-01 14:01:52 +07:00 |
|
Marten Seemann
|
6cb19e42a5
|
explicitly pass encryption level in the aeadChanges channel
|
2017-02-25 21:38:08 +07:00 |
|
Marten Seemann
|
b84e945868
|
log the encryption level of sent and received packets
|
2017-02-25 08:27:15 +07:00 |
|
Marten Seemann
|
820eb2e6ee
|
call the ConnStateCallback in the server for encryption level changes
ref #439
|
2017-02-24 08:42:49 +07:00 |
|
Marten Seemann
|
8bfeb2ea8d
|
return from Dial after conn is forward-secure, unless ConnState is given
|
2017-02-22 23:03:10 +07:00 |
|
Marten Seemann
|
cd465ae0b5
|
move utils.Stream to quic.Stream
|
2017-02-22 23:03:09 +07:00 |
|
Marten Seemann
|
592ef45fdf
|
add OpenStreamSync() method to Session interface
|
2017-02-22 23:03:09 +07:00 |
|
Marten Seemann
|
af4b36b002
|
use a connection in the Client
|
2017-02-22 23:03:08 +07:00 |
|
Marten Seemann
|
d61c0eb85d
|
add a Write and a Close method to the connection interface
|
2017-02-22 23:03:08 +07:00 |
|
Marten Seemann
|
824f122a79
|
remove unused StreamCallback
|
2017-02-22 23:03:08 +07:00 |
|
Marten Seemann
|
6dd163020a
|
never return stream 1 from Session.AcceptStream()
|
2017-02-22 23:03:07 +07:00 |
|
Marten Seemann
|
a96211f724
|
create Session interface
|
2017-02-22 23:03:07 +07:00 |
|
Marten Seemann
|
5b42675da2
|
use a net.PacketConn instead of a net.UDPConn in Server and Session
|
2017-02-22 23:03:07 +07:00 |
|
Marten Seemann
|
c533a9adb8
|
implement an AcceptStream method in the Session
|
2017-02-22 23:03:06 +07:00 |
|
Marten Seemann
|
f47142eaac
|
remove stream ID from OpenStream() method
|
2017-02-22 23:03:05 +07:00 |
|
Marten Seemann
|
c7b4ad6e80
|
return plain nil value for Session.GetOrOpenStream for closed streams
fixes #418
|
2017-02-15 22:29:08 +07:00 |
|
Marten Seemann
|
268841f0cc
|
add a TLSClientConfig to the QUIC RoundTripper
fixes #407
|
2017-02-04 10:28:00 +07:00 |
|
Marten Seemann
|
db09de621c
|
detect version downgrade attacks in the client crypto setup
|
2017-01-14 18:58:47 +07:00 |
|
Marten Seemann
|
a7afd72795
|
add a callback that is called when the crypto level changes
|
2017-01-14 18:54:18 +07:00 |
|
Marten Seemann
|
16da08a440
|
add client functionality to the streamsMap
|
2017-01-14 18:54:15 +07:00 |
|
Marten Seemann
|
a0bdf79b5b
|
create an aeadChanged channel in the client crypto setup
|
2017-01-14 18:52:25 +07:00 |
|
Marten Seemann
|
f72fbc57a9
|
send connection parameters in CHLO
|
2017-01-14 18:52:24 +07:00 |
|
Marten Seemann
|
1a830dbdb7
|
implement basic version negotiation
|
2017-01-14 18:52:24 +07:00 |
|
Marten Seemann
|
014315d3c7
|
parse hostname from address and pass it to the client cryptoSetup
|
2017-01-14 18:52:19 +07:00 |
|
Marten Seemann
|
f44612cc2f
|
pass received diversification nonces to the CryptoSetup
|
2017-01-14 18:51:16 +07:00 |
|
Marten Seemann
|
5e0ded9850
|
don’t reset remoteAddr for every packet as a client
|
2017-01-14 18:47:42 +07:00 |
|
Marten Seemann
|
6c0a885a0e
|
pass perspective to packetPacker
|
2017-01-14 18:45:16 +07:00 |
|
Marten Seemann
|
23435253db
|
create CryptoSetup for the client, use it in the Session
|
2017-01-14 18:45:15 +07:00 |
|
Marten Seemann
|
2b7c67d297
|
create handshake.CryptoSetup interface
|
2017-01-14 18:45:14 +07:00 |
|
Marten Seemann
|
67657a37bf
|
only change remote address after authenticating a packet
fixes #395
|
2017-01-14 18:15:50 +07:00 |
|
Marten Seemann
|
1e78104f83
|
trigger window updates before queueing frames for retransmission
ref #394
|
2017-01-14 15:22:53 +07:00 |
|
Marten Seemann
|
71227437ee
|
only retransmit WindowUpdates if no higher WindowUpdate has been sent
fixes #394
|
2017-01-14 15:16:12 +07:00 |
|
Marten Seemann
|
db22dae089
|
simplify the selection of frames for retransmission
ref #394
|
2017-01-14 13:59:57 +07:00 |
|
Marten Seemann
|
edf6ee3dfc
|
implement a sophisticated ack algorithm
fixes #354
|
2017-01-09 15:01:44 +07:00 |
|
Marten Seemann
|
7a91794292
|
send RST_STREAM frames
ref #380
|
2017-01-09 09:49:44 +07:00 |
|
Marten Seemann
|
4e0ef58bab
|
allow stream.Read for streams that a RST was received for
and a lot of code improvements
fixes #385
|
2017-01-09 09:49:43 +07:00 |
|
Marten Seemann
|
563c56fa74
|
remove unused newStreamImpl from Session
|
2017-01-06 13:15:07 +07:00 |
|
Marten Seemann
|
8ce763682a
|
send a RstStreamFrame when receiving a RstStreamFrame on an open stream
fixes #378
|
2017-01-03 17:51:56 +07:00 |
|
Marten Seemann
|
544a58a038
|
return total bytes sent when resetting a stream in the flow controller
|
2017-01-03 16:09:18 +07:00 |
|
Marten Seemann
|
bf0caf3c03
|
pass the byte offset of a RstStreamFrame to the flow controller
fixes #377
|
2017-01-03 12:37:45 +07:00 |
|
Marten Seemann
|
0de6368bbb
|
fix detection if the Session was already closed before
|
2016-12-20 10:23:44 +07:00 |
|
Marten Seemann
|
156c23f2b7
|
wait until the run loop has stopped before returning Session.Close()
fixes #371
|
2016-12-19 20:35:21 +07:00 |
|
Marten Seemann
|
ebc053dbe0
|
create interface for the ConnectionParametersManager
|
2016-12-08 18:39:14 +07:00 |
|
Marten Seemann
|
5af50c8fd0
|
correctly read MIDS and MSPC parameter
fixes #367
|
2016-12-08 16:15:31 +07:00 |
|
Marten Seemann
|
11d786fe28
|
log timestamp when packets are sent and received
|
2016-12-06 22:52:20 +07:00 |
|
Marten Seemann
|
32d89eee02
|
pass RTTStats to the FlowControllers
ref #106
|
2016-10-30 17:36:36 +07:00 |
|
Marten Seemann
|
c8b7246159
|
create congestion RTTstats in Session
ref #106
|
2016-10-30 17:27:21 +07:00 |
|
Lucas Clemente
|
2592b9a97c
|
optimize window update generation, reducing profiler footprint by 8%
|
2016-09-15 09:12:44 +02:00 |
|
Lucas Clemente
|
d6e40cc3da
|
use a different network timeout before the crypto handshake completes
ref #320
|
2016-09-08 13:48:26 +02:00 |
|
Lucas Clemente
|
3b66d2f35d
|
add a timeout before crypto handshake completes
|
2016-09-08 13:37:44 +02:00 |
|