Marten Seemann
11a31cfdac
fix version dependent Public Header parsing in the proxy
2017-09-10 23:26:14 +02:00
Marten Seemann
2c4a17e406
Merge pull request #810 from lucas-clemente/tls
...
implement a very basic TLS 1.3 handshake
2017-09-08 20:47:58 +03:00
Marten Seemann
866f209834
move all mint-related methods into one interface
2017-09-08 12:04:45 +03:00
Marten Seemann
91b7404182
implement a very basic TLS 1.3 handshake
2017-09-08 12:04:45 +03:00
Marten Seemann
82db032a05
implement the TLS key derivation
2017-09-08 12:04:45 +03:00
Marten Seemann
8bcabe0ba9
correctly pack packets with sealers with different overheads
2017-09-08 12:04:45 +03:00
Marten Seemann
7cbef3cb1b
implement the Overhead method for the AEADs
2017-09-08 12:04:45 +03:00
Marten Seemann
6931edaf6b
implement the AES-GCM AEAD needed for the IETF draft
2017-09-08 12:04:38 +03:00
Marten Seemann
8df2cb3b1d
rename the current key derivation function
...
TLS will use a completely different key derivation function.
2017-09-07 20:08:24 +03:00
Marten Seemann
fd780e3eab
move the nonce generation to the AEAD implementations
...
The AES AEAD used by IETF QUIC uses a different nonce format.
2017-09-07 20:08:24 +03:00
Marten Seemann
23f3432b9d
select the right null AEAD algorithm depending on the version
2017-09-07 20:07:54 +03:00
Marten Seemann
15e9e3658a
implement the FNV64a nullAEAD
...
It is not used yet.
2017-09-07 18:16:20 +03:00
Marten Seemann
03f16814ec
Merge pull request #811 from lucas-clemente/remove-orig-file
...
remove accidentally committed merge backup file
2017-09-05 23:36:34 +02:00
Marten Seemann
ebf0b9a379
Merge pull request #794 from lucas-clemente/fix-558
...
make the integration tests race free
2017-09-05 21:18:18 +02:00
Marten Seemann
17a0541edb
use the quic.Config to set the QUIC version in the Chrome tests
2017-09-05 19:30:14 +02:00
Marten Seemann
5751b599ee
use atomics in the Chrome test HTTP handlers
...
This fixes a race condition in these tests.
2017-09-05 19:30:14 +02:00
Marten Seemann
7d446253c4
use the quic.Config to set the QUIC version in client integration tests
...
This fixes a race condition in that test.
2017-09-05 19:30:14 +02:00
Marten Seemann
682d8b1c7a
fix race condition in the handshake RTT tests
2017-09-05 19:30:14 +02:00
Marten Seemann
e513cb7ad2
fix multiple race conditions in the proxy tests
2017-09-05 19:30:14 +02:00
Marten Seemann
508586ea7e
fix a race condition in server integration test setup
2017-09-05 19:30:14 +02:00
Marten Seemann
bf64c86916
remove accidentally committed merge backup file
2017-09-05 19:27:46 +02:00
Marten Seemann
03de09b236
Merge pull request #809 from lucas-clemente/fix-808
...
fix go routine leaks in client tests
2017-08-31 18:32:22 +07:00
Marten Seemann
500eb0d50d
Merge pull request #804 from lucas-clemente/delete-empty-test-files
...
delete empty files in the integration tests folder
2017-08-31 18:16:57 +07:00
Marten Seemann
fa2ecefa31
fix go routine leaks in client tests
2017-08-31 17:55:48 +07:00
Marten Seemann
f5abd5d858
delete empty files in the integration tests folder
...
These empty files were necessary in Go 1.8, but are obsolete now.
2017-08-31 17:18:40 +07:00
Marten Seemann
e7d1d225dc
Merge pull request #807 from lucas-clemente/type-aliases
...
use type aliases to clean up the API
2017-08-31 17:06:46 +07:00
Marten Seemann
60f5c660c6
export flow control window sizes as uint64 in quic.Config
2017-08-31 16:37:03 +07:00
Marten Seemann
e05f5ce594
remove obsolete documentation for the quic.Config
2017-08-31 16:37:03 +07:00
Marten Seemann
3c4a10a5e4
use type aliases to export types declared in the protocols package
...
Type aliases were introduced with Go 1.9, so we must drop support for
older Go versions now.
2017-08-31 16:36:52 +07:00
Marten Seemann
95a971f322
make the flow control package internal
2017-08-30 00:27:44 +07:00
Marten Seemann
f1ada87dcf
make the protocol package internal
2017-08-30 00:19:44 +07:00
Marten Seemann
524ecb5827
move the Public Reset to the wire package
2017-08-29 23:58:27 +07:00
Marten Seemann
ed522ebbce
make wire an internal package
2017-08-29 23:51:56 +07:00
Marten Seemann
1794636220
more the PublicHeader to the wire package
2017-08-29 23:45:38 +07:00
Marten Seemann
88afad8722
rename package frames to wire
2017-08-29 23:27:15 +07:00
Marten Seemann
5281d5b65d
Merge pull request #792 from lucas-clemente/fix-441
...
add a quic.Config option to configure the idle timeout
2017-08-29 18:48:56 +07:00
Marten Seemann
24119d5a25
Merge pull request #801 from lucas-clemente/fix-800
...
make sure that the SHLO was sent before returning Listener.Accept
2017-08-29 18:48:23 +07:00
Marten Seemann
5152019554
don't use an idle timeout before the handshake has completed
...
This simplifies the timeout logic a bit. Before the handshake has
completed, the only timeout is the handshake timeout. After the
handshake has completed, the only timeout is the idle connection timeout.
2017-08-29 15:47:56 +07:00
Marten Seemann
293f26d292
Merge pull request #806 from lucas-clemente/listener-debug-message
...
print a debug message when the server is started
2017-08-29 15:11:46 +07:00
Marten Seemann
7ec09d2488
print a debug message when the server is started
2017-08-29 11:55:28 +07:00
Marten Seemann
bb670be93a
make sure that the SHLO was sent before returning Listener.Accept
...
This fixes a race condition: In the server crypto setup, we would send
protocol.EncryptionForwardSecure on the aeadChan as soon as the SHLO was
composed, but before it was written to the crypto stream. This lead to
Listener.Accept returning the session already. If the server was ready
to write a lot of data then, this data could be sent before the crypto
setup would write on the crypto stream, therefore sending a lot of
undecryptable packets to the client, which would eventually lead to a
connection error (too many undecryptable packets).
2017-08-29 10:48:10 +07:00
Marten Seemann
71e82677e1
add a quic.Config option to configure the idle timeout
2017-08-28 17:58:39 +07:00
Marten Seemann
e398d5409a
set the idle timeout during the handshake to half the handshake timeout
2017-08-28 17:58:39 +07:00
Marten Seemann
a6719bf417
Merge pull request #762 from lucas-clemente/improve-travis-output
...
print commands on Travis
2017-08-28 17:52:14 +07:00
Marten Seemann
3414cf8b49
Merge pull request #778 from lucas-clemente/reduce-travis-logging
...
disable verbose logging for integration tests on Travis
2017-08-28 17:50:47 +07:00
Marten Seemann
60be7e1e81
Merge pull request #798 from lucas-clemente/go1.9
...
use Go 1.9 on CIs
2017-08-28 15:32:02 +07:00
Marten Seemann
8ff8637bb8
don't print Chrome output
2017-08-28 15:28:07 +07:00
Marten Seemann
dc20c37f24
Merge pull request #799 from lucas-clemente/privatize-peek-conn-id
...
make PeekConnectionID a private method
2017-08-28 15:09:45 +07:00
Marten Seemann
f4aa2d5b0d
improve logging on CIs
...
* make the logging on Travis less verbose
* log every test on AppVeyor
2017-08-28 10:07:10 +07:00
Marten Seemann
b699a92bd5
print commands on Travis
2017-08-27 18:09:01 +07:00