Commit graph

181 commits

Author SHA1 Message Date
Marten Seemann
6cb19e42a5
explicitly pass encryption level in the aeadChanges channel 2017-02-25 21:38:08 +07:00
Marten Seemann
20b2069d78 Merge pull request #447 from lucas-clemente/fix-446
prevent sending of unencrypted stream data on data streams
2017-02-25 17:01:24 +07:00
Lucas Clemente
5a3823a5db Merge pull request #445 from lucas-clemente/close-remote
Remove stream.CloseRemote from public API
2017-02-25 10:42:58 +01:00
Marten Seemann
88561ff8c7
prevent sending of unencrypted stream data on data streams
fixes #446
2017-02-25 10:13:34 +07:00
Marten Seemann
a972c7a21e
return the encryption level of a packet when decrypting it 2017-02-25 08:27:08 +07:00
Lucas Clemente
b2177c92d8 remove stream.CloseRemote from public API 2017-02-24 18:44:40 +01: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
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
6d3e94bf21
open implicitly opened streams in streamsMap 2017-02-22 23:03:06 +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
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
6913f5ae75
add tests for certChain, simplify constructor 2017-01-14 18:52:18 +07:00
Marten Seemann
0535491f30
rename crypto.Signer to crypto.CertChain 2017-01-14 18:52:18 +07:00
Marten Seemann
f44612cc2f
pass received diversification nonces to the CryptoSetup 2017-01-14 18:51:16 +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
71227437ee
only retransmit WindowUpdates if no higher WindowUpdate has been sent
fixes #394
2017-01-14 15:16:12 +07:00
Marten Seemann
edf6ee3dfc
implement a sophisticated ack algorithm
fixes #354
2017-01-09 15:01:44 +07:00
Marten Seemann
d6a0a145a4
correclty detected the closed state of a stream
fixes #380
2017-01-09 09:49:45 +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
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
10f8156951
remove unused function from streamsMap 2016-12-09 17:56:04 +07:00
Marten Seemann
c12508c3c9
use a mock ConnectionParametersManager in quic tests 2016-12-08 21:50:10 +07:00
Marten Seemann
ebc053dbe0
create interface for the ConnectionParametersManager 2016-12-08 18:39:14 +07: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
Lucas Clemente
a0fb14381e don't send more packets when there are too many unacked
fixes #249, fixes #322
2016-09-08 11:21:03 +02:00
Lucas Clemente
6f4955d2d0 use new packet receive timestamp in sentPacketHandler
fixes #150
2016-09-07 15:51:04 +02:00
Lucas Clemente
099545521f use *receivedPacket thoughout the session 2016-09-07 15:51:04 +02:00
Lucas Clemente
8c6eb61850 set max tracked packets to max cwnd * 2 2016-09-05 13:35:10 +02:00
Lucas Clemente
a4d4506f31 remove entropy from packet unpacker and session 2016-09-01 20:26:31 +02:00
Lucas Clemente
10d0190be1 remove some v33 mentions 2016-09-01 20:26:31 +02:00
Lucas Clemente
3c2148981f remove entropy from StopWaitingFrame 2016-09-01 20:26:31 +02:00