Marten Seemann
|
cc97a2fba4
|
print request body in example client
|
2017-01-14 18:58:47 +07:00 |
|
Marten Seemann
|
6dd297379b
|
set EndStream header in HeadersFrame
|
2017-01-14 18:58:47 +07:00 |
|
Marten Seemann
|
db09de621c
|
detect version downgrade attacks in the client crypto setup
|
2017-01-14 18:58:47 +07:00 |
|
Marten Seemann
|
b52204322f
|
don’t modify version slice when finding the highest supported version
will be needed for detecting version downgrade attacks
|
2017-01-14 18:58:47 +07:00 |
|
Marten Seemann
|
1854279bb5
|
reject requests with an invalid request method
|
2017-01-14 18:58:46 +07:00 |
|
Marten Seemann
|
feec325083
|
validate HTTP headers and request scheme in RoundTripper
|
2017-01-14 18:58:46 +07:00 |
|
Marten Seemann
|
1061bd4492
|
reject requests with missing URL or Header in the RoundTripper
|
2017-01-14 18:58:46 +07:00 |
|
Marten Seemann
|
53706049c7
|
read connection parameters when receiving a SHLO
|
2017-01-14 18:58:46 +07:00 |
|
Marten Seemann
|
a587af079d
|
improve the connection parameters manager for the client
|
2017-01-14 18:58:46 +07:00 |
|
Marten Seemann
|
64c4bede3e
|
remove unnecessary loop from connection parameters manager
|
2017-01-14 18:58:45 +07:00 |
|
Marten Seemann
|
128bad04e5
|
add option to disable compresson to QuicRoundTripper
|
2017-01-14 18:58:45 +07:00 |
|
Marten Seemann
|
d028624f77
|
implement compressed requests and responses
|
2017-01-14 18:58:45 +07:00 |
|
Marten Seemann
|
edb34b1765
|
close the quic client on protocol errors in h2quic client
|
2017-01-14 18:58:45 +07:00 |
|
Marten Seemann
|
44271a8ec8
|
fix mutexes for writing requests in h2quic client
|
2017-01-14 18:58:45 +07:00 |
|
Marten Seemann
|
9790418eb7
|
only close the client once
|
2017-01-14 18:58:44 +07:00 |
|
Marten Seemann
|
ad7de3c99d
|
fix flaky client test
|
2017-01-14 18:58:44 +07:00 |
|
Marten Seemann
|
6ece13f9ab
|
add a better example client
|
2017-01-14 18:58:44 +07:00 |
|
Marten Seemann
|
40a6577dc3
|
implement a basic QUIC RoundTripper
|
2017-01-14 18:58:44 +07:00 |
|
Marten Seemann
|
c547ced3ce
|
correctly read the hostname from a http.Request
|
2017-01-14 18:58:44 +07:00 |
|
Marten Seemann
|
14135798c0
|
compose a http.Response in h2quic client
|
2017-01-14 18:58:44 +07:00 |
|
Marten Seemann
|
0401b12f8a
|
handle the header stream in the h2quic client
|
2017-01-14 18:58:43 +07:00 |
|
Marten Seemann
|
08c267431b
|
implement closing the quic client with an error
|
2017-01-14 18:58:43 +07:00 |
|
Marten Seemann
|
c42262c2b3
|
implement a h2quic client that can send H2 requests
|
2017-01-14 18:58:43 +07:00 |
|
Marten Seemann
|
b9f9c2e429
|
save correct hostname in quic Client
|
2017-01-14 18:58:43 +07:00 |
|
Marten Seemann
|
3458514744
|
add a method to open new Streams to the client
|
2017-01-14 18:58:43 +07:00 |
|
Marten Seemann
|
a8bbe66d5c
|
use a better mockStream in h2quic tests
|
2017-01-14 18:58:40 +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
|
4130c3de32
|
send priority in H2 request headers
is required by Google’s QUIC implementation
|
2017-01-14 18:54:18 +07:00 |
|
Marten Seemann
|
dc05de3312
|
add a callback to client that is called after the version is negotiated
|
2017-01-14 18:54:18 +07:00 |
|
Marten Seemann
|
2377b3a111
|
fix detection when the QUIC version is negotiated
|
2017-01-14 18:54:18 +07:00 |
|
Marten Seemann
|
099e01f410
|
implement a basic request writer
|
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
|
6cb48aad71
|
send correct version number in PublicHeader
|
2017-01-14 18:52:25 +07:00 |
|
Marten Seemann
|
a0bdf79b5b
|
create an aeadChanged channel in the client crypto setup
|
2017-01-14 18:52:25 +07:00 |
|
Marten Seemann
|
9fc9522539
|
implement a HandshakeComplete method in the client crypto setup
|
2017-01-14 18:52:24 +07:00 |
|
Marten Seemann
|
f72fbc57a9
|
send connection parameters in CHLO
|
2017-01-14 18:52:24 +07:00 |
|
Marten Seemann
|
1ad3a85f5c
|
fix flaky client tests
|
2017-01-14 18:52:24 +07:00 |
|
Marten Seemann
|
05c870ff6f
|
ignore delayed version negotiation packets
|
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
|
4b112c325a
|
add tests for the Client
|
2017-01-14 18:52:23 +07:00 |
|
Marten Seemann
|
dde5ce465c
|
enforce presence of version list in SHLO
|
2017-01-14 18:52:23 +07:00 |
|
Marten Seemann
|
2589a6eff9
|
reject unencrypted SHLOs
|
2017-01-14 18:52:23 +07:00 |
|
Marten Seemann
|
e19416a43b
|
use server nonce in key derivation for initial encryption, if available
|
2017-01-14 18:52:23 +07:00 |
|
Marten Seemann
|
b8e11d6e67
|
improve tests for key derivation
|
2017-01-14 18:52:23 +07:00 |
|
Marten Seemann
|
fdd0fdf90d
|
send KEXS and AEAD value in full client hello
|
2017-01-14 18:52:22 +07:00 |
|
Marten Seemann
|
63f2faec85
|
send common certificate sets in the client hello
|
2017-01-14 18:52:22 +07:00 |
|
Marten Seemann
|
44303fcd4b
|
don’t panic if the certificate chain contains cached entries
|
2017-01-14 18:52:22 +07:00 |
|
Marten Seemann
|
a3dcac8239
|
implement certificate decompressing using common certificate sets
|
2017-01-14 18:52:22 +07:00 |
|
Marten Seemann
|
86da7dce81
|
send leaf certificate hash (XLCT) in client hello
|
2017-01-14 18:52:22 +07:00 |
|
Marten Seemann
|
11cb69d2ce
|
optimize reading of diversification nonces from the PublicHeader
|
2017-01-14 18:52:22 +07:00 |
|