Lucas Clemente
fb5cccf799
Update expired certificate
2017-04-03 09:49:28 +02:00
Lucas Clemente
e66548688e
Merge pull request #502 from lucas-clemente/loss-recovery
...
Implement loss recovery from the current WG draft
2017-04-02 11:05:19 +02:00
Lucas Clemente
612fa16a43
Move SentPacketHandler.CheckForError into SentPacket
2017-04-02 10:29:09 +02:00
Lucas Clemente
1c5380c49b
Implement loss recovery from the current WG draft
...
Fixes #498 and will hopefully go a long way towards fixing the many
flaky tests.
2017-04-02 10:29:09 +02:00
Lucas Clemente
959a8d0e4f
Merge pull request #503 from lucas-clemente/fix-484
...
Fix flaky appveyor tests
2017-03-31 10:24:49 +02:00
Lucas Clemente
22cdbf7b49
Fix flaky appveyor tests
...
We were relying on the number of goroutines in those tests. This commit
replaces that logic with grepping through the current callstack.
The 'doesn't return after version negotiation is established if no
ConnState is defined' test is disabled, since I can't figure out a way
to make it work without leaking sessions. I filed #506 to track that
work.
Fixes #484 .
2017-03-30 21:13:24 +02:00
Marten Seemann
75ac4e6781
Merge pull request #504 from lucas-clemente/fix-499
...
enable flow control window auto-tuning for the first WindowUpdate
2017-03-30 16:43:06 +07:00
Marten Seemann
951b85d42a
enable flow control window auto-tuning for the first WindowUpdate
...
fixes #499
2017-03-30 12:45:19 +07:00
Marten Seemann
584fc021bf
add tests for incorrect nullAEAD signatures in both cryptoSetups
2017-03-22 19:32:54 +07:00
Marten Seemann
19aad731ed
improve logging and tests of cryptoSetupServer
2017-03-22 19:23:48 +07:00
Marten Seemann
0ef6527165
simplify version negotiation code in the client
2017-03-22 18:31:23 +07:00
Marten Seemann
906f80e804
Merge pull request #493 from lucas-clemente/raceconditions
...
improve the CryptoSetup interface
2017-03-22 18:12:10 +07:00
Marten Seemann
2903f9b238
return a lambda to for sealing a packet in the CryptoSetup
2017-03-22 16:52:00 +07:00
Marten Seemann
b4d22b3c75
fix race condition in the client
2017-03-22 16:50:33 +07:00
Lucas Clemente
06446b95f3
Merge pull request #491 from lucas-clemente/lucas-clemente-patch-1
...
Change client example to point to clemente.io
2017-03-21 15:04:33 +01:00
Marten Seemann
f4113b772a
remove stray Print command in tests
2017-03-20 16:10:30 +07:00
Marten Seemann
a0bb98207b
Merge pull request #489 from lucas-clemente/fix-411
...
send a Public Reset when receiving a CHLO with the FHL2 tag
2017-03-20 16:07:08 +07:00
Marten Seemann
ab12aa2f26
Merge pull request #487 from lucas-clemente/drop-34
...
drop support for QUIC 34
2017-03-20 16:04:42 +07:00
Lucas Clemente
016ae607a5
Change client example to point to clemente.io
...
This caused confusion in #486 .
2017-03-20 10:01:19 +01:00
Marten Seemann
6d5c9776e9
send a Public Reset when receiving a CHLO with the FHL2 tag
...
Fixes #411 .
Chrome sends the FHL2 when it wants to perform a head-of-line blocking
experiment, introduced in QUIC version 36 (see
https://codereview.chromium.org/2115033002 ). We don’t support this
experiment. By sending a Public Reset when receiving this tag we force
Chrome to use the TCP fallback.
2017-03-20 12:35:34 +07:00
Marten Seemann
28c115fee1
drop support for QUIC 34
...
fixes #368
2017-03-19 20:57:28 +07:00
Marten Seemann
9a1e86cf5e
Merge pull request #485 from lucas-clemente/fix-483
...
return an error when the network conn is closed in Listener.Serve()
2017-03-17 10:11:04 +07:00
Marten Seemann
021c9d5bcd
return an error when the network conn is closed in Listener.Serve()
...
fixes #483
2017-03-16 14:04:19 +07:00
Marten Seemann
6d0ac39cf7
Merge pull request #482 from lucas-clemente/fix-479
...
send a HeadersStreamDataDecompressFailure error when H2 frame parsing fails
2017-03-15 17:15:21 +07:00
Marten Seemann
79d1bd9061
Merge pull request #481 from lucas-clemente/too-large-packets
...
remove ineffective check for too large packets
2017-03-15 17:15:11 +07:00
Marten Seemann
7f416a06c4
send a HeadersStreamDataDecompressFailure error when H2 frame parsing fails
...
fixes #479
2017-03-15 11:11:38 +07:00
Marten Seemann
841421ef7a
remove ineffective check for too large packets
...
closes #468
2017-03-15 09:30:06 +07:00
Marten Seemann
4f16503ab9
save the TLS config in the h2quic client
...
fixes #476
2017-03-15 09:18:06 +07:00
Marten Seemann
0a825a397d
Merge pull request #477 from lucas-clemente/session-localaddr
...
add a Session.LocalAddr()
2017-03-10 00:38:34 +07:00
Marten Seemann
ab90b3f4d0
add tests for session.LocalAddr and session.RemoteAddr
2017-03-10 00:13:20 +07:00
Marten Seemann
34b688b3b9
add a LocalAddr to the Session
2017-03-10 00:07:27 +07:00
Marten Seemann
1b8334c344
Merge pull request #473 from lucas-clemente/fix-471
...
only send Public Reset after a timeout
2017-03-08 18:49:09 +07:00
Marten Seemann
eb7ed2624a
only send Public Reset after a timeout
...
fixes #471
2017-03-08 18:15:52 +07:00
Marten Seemann
622e856e3f
update README
2017-03-08 10:31:39 +07:00
Marten Seemann
c98a62032e
Merge pull request #469 from lucas-clemente/fix-467
...
read packets with the maximum packet size
2017-03-06 18:27:53 +07:00
Marten Seemann
f5bbe316e8
use OpenStreamSync to open the data stream in the h2quic client
2017-03-06 14:55:46 +07:00
Marten Seemann
1f01904270
read packets with the maximum packet size
...
fixes #467
2017-03-06 13:02:46 +07:00
Lucas Clemente
eff9c6f906
Merge pull request #459 from lucas-clemente/fix-458
...
Fix reading of tls.Config certificates
2017-03-02 12:40:24 +01:00
Lucas Clemente
d4a3613a5f
Merge pull request #463 from lucas-clemente/lucas-clemente-patch-1
...
Retry travis builds up to 3 times
2017-03-02 12:40:09 +01:00
Lucas Clemente
33b0a45981
Retry travis builds up to 3 times
2017-03-02 11:13:00 +01:00
Lucas Clemente
723f86c725
Don't use GetConfigForClient on go < 1.8
2017-03-02 10:40:20 +01:00
Marten Seemann
362bd3e9e0
Merge pull request #462 from lucas-clemente/fix-461
...
fix detection of duplicate stream data in streamFrameSorter
2017-03-02 14:19:39 +07:00
Marten Seemann
7b16392993
fix detection of duplicate stream data in streamFrameSorter
...
fixes #461
2017-03-02 13:48:03 +07:00
Lucas Clemente
37593993dd
Merge pull request #448 from lucas-clemente/new-api-docs
...
Improve documentation for our new API
2017-03-01 21:42:21 +01:00
Lucas Clemente
5e76245e61
improve documentation in response to code review
2017-03-01 21:40:24 +01:00
Lucas Clemente
219ce60a5e
Call GetConfigForClient in tls.Config if present
2017-03-01 21:11:52 +01:00
Lucas Clemente
1bb4a26965
Fix reading of tls.Config certificates
...
This commit mostly copies the getCertificate function from crypto/tls to
align our certificate reading with the standard library.
Should fix #458 .
2017-03-01 18:33:05 +01:00
Marten Seemann
c26e2bba4b
Merge pull request #449 from lucas-clemente/new-fix-391
...
immediately switch to forward-secure crypto after sending the SHLO
2017-03-01 15:31:34 +07:00
Marten Seemann
8c5e7818a0
retransmit the diversification nonce in the packet carrying the SHLO
...
The packet containing the SHLO is the only packet that is sent with
initial encryption. If it is lost, we need to make sure that the
diversification nonce is included in the PublicHeader, otherwise the
client will not be able to derive the keys for the forward-secure
encryption.
2017-03-01 15:11:01 +07:00
Marten Seemann
b5c8c11c0c
switch to forward-secure encryption after sending the SHLO
2017-03-01 14:11:25 +07:00