Marten Seemann
0c014c0aff
fix deadlock when receiving two packets with diversification nonces
2018-04-24 21:14:58 +09:00
Marten Seemann
1a035a265c
change the type of Connection ID to byte slice
2018-04-18 22:41:24 +09:00
Marten Seemann
948eef3e42
create a logger interface and use it everywhere
2018-04-04 13:03:28 +07:00
Marten Seemann
c6526ad927
replace the SetDiversificationNonce crypto setup method by a chan
2018-03-31 14:29:44 +07:00
Marten Seemann
1f9ab3b65f
remove unused key exchange function from client crypto setup
2018-03-28 05:31:56 +07:00
Marten Seemann
86e57706df
run gofmt -s
2018-02-23 23:38:08 +08:00
Marten Seemann
11af98e338
run misspell in gometalinter
2018-02-23 22:39:08 +08:00
Marten Seemann
66fd3b5195
expose the ConnectionState in the Session
...
The ConnectionState contains basic details about the QUIC connection.
2018-01-11 16:27:42 +07:00
Marten Seemann
99a2853e7d
remove non forward-secure dialing
...
This was broken for a long time, and won't be available when using the
TLS 1.3 handshake.
2018-01-02 23:26:55 +07:00
Marten Seemann
a02a6197c2
fix race condition in the client crypto setup tests
2017-12-26 15:35:00 +07:00
Marten Seemann
23ce5a8554
drop packets for new gQUIC connections that are too small
2017-12-08 12:34:59 +07:00
Marten Seemann
095c29dc2c
drop support for QUIC 37 and 38
2017-11-07 00:23:53 +07:00
Marten Seemann
a1a4f35096
send initial version in the CHLO, not the current version
...
This commit fixes two bugs:
1. In the CHLO, we need to send the initial QUIC version. It will differ
from the current version if version negotiation was performed.
2. The session setup was using the wrong version (current version, and
not the initial version), such that we would have sent the wrong version
in the TLS handshake as well.
2017-11-02 21:51:51 +07:00
Marten Seemann
43c23ff5fa
fix client handshake failure when the server supports unknown versions
2017-11-02 17:41:06 +07:00
Marten Seemann
fcc380187a
Merge pull request #899 from lucas-clemente/fix-898
...
encrypt unprotected packets with a connection-dependent key
2017-10-27 22:52:04 +07:00
Marten Seemann
ddea1d83ab
use gomock to mock crypto.AEAD in the crypto setup tests
2017-10-27 17:35:08 +07:00
Marten Seemann
d98a11bb35
save version numbers such that can be written in big endian
...
This makes the version number representation consistent with the IETF
draft.
2017-10-27 17:24:24 +07:00
Marten Seemann
282b423f7d
pass the crypto stream to the crypto setup constructor
...
The crypto stream is opened during the session setup. Passing it to the
crypto setup directly helps simplify the constructor.
2017-10-25 09:13:47 +07:00
Marten Seemann
f3e9bf4332
remove the params negotiator
2017-10-20 18:08:21 +07:00
Marten Seemann
0e1a8a5f8c
move the max flow control increments out of the params negotiator
...
The params negotiator was just keeping track of the value set in the
quic.Config. The max flow control increments are not subject to
negotiation, but an independent implementation decision of every peer.
2017-10-04 07:16:16 -07:00
Marten Seemann
4eec7433d9
enforce a minimum value of the remote idle timeout
...
This prevents a DoS where a peer could send us a really small remote
idle timeout, and we would continuously send it PING frames.
2017-10-03 11:06:31 -07:00
Marten Seemann
0ffb64b5d7
rename the IdleConnectionStateLifetime to RemoteIdleTimeout
2017-10-03 10:48:08 -07:00
Marten Seemann
9cb7480050
rename connection ID truncation to connection ID omission
2017-09-29 22:52:54 +07:00
Marten Seemann
c95f2054a8
rename the ConnectionParametersManager to ParamsNegotiator
2017-09-28 18:15:33 +07:00
Marten Seemann
95901cdee4
initialize the connection parameters manager in the crypto setup
2017-09-28 18:15:32 +07:00
Marten Seemann
e729701a94
drop support for version 36
2017-09-25 20:07:34 +07:00
Marten Seemann
2e9bc93b0c
use the mockAEAD as nullAEAD in the crypto setup tests
2017-09-25 20:06:29 +07:00
Marten Seemann
8dbd60a095
drop support for QUIC 35
2017-09-25 19:55:25 +07:00
Marten Seemann
e603715949
make handshake and crypto internal packages
2017-09-21 11:52:21 +07:00