Commit graph

33 commits

Author SHA1 Message Date
Gaukas Wang
7c77243b04
upstream: sync to 0.39.1 2023-10-26 22:47:22 -06:00
Marten Seemann
dc0369cad4
remove TLS post-handshake message reassembly logic (#4073)
Go 1.21.1 was released, which fixed the bug that made this workaround
necessary.
2023-09-06 21:27:03 -07:00
Gaukas Wang
856bc02b8f
Merge branch 'upstream' into sync-upstream 2023-08-28 14:12:03 -06:00
Marten Seemann
5c5db8cc59
reassemble post-handshake TLS messages before passing them to crypto/tls (#4038) 2023-08-18 17:16:57 -07:00
Gaukas Wang
95575f5fe7
break: update repo url [ci skip]
uTLS is not yet bumped to the new version, so this commit breaks the dependencies relationship by getting rid of the local replace.
2023-08-03 18:58:52 -06:00
Marten Seemann
3d89e545d3
use the new crypto/tls QUIC Transport (#3860) 2023-07-01 11:15:00 -07:00
Marten Seemann
f36690ae9c
protocol: remove VersionWhatever, previously used for testing (#3763) 2023-04-19 06:19:27 -07:00
Marten Seemann
58cedf7a4f
rename module, adjust import paths to quic-go/quic-go (#3680) 2023-01-21 19:53:57 -08:00
Marten Seemann
870fbe7ab0 migrate to Ginkgo v2 2022-10-11 16:38:44 +04:00
Marten Seemann
592fb9cad9 introduce a dedicated qerr.TransportError and qerr.ApplicationError 2021-05-01 09:38:48 +07:00
Marten Seemann
8752576f26 run gofumpt, enable the gofumpt linter 2020-10-26 09:33:35 +07:00
Marten Seemann
df06ee5e37 use the correct error code for crypto stream errors 2020-05-14 17:12:07 +07:00
Marten Seemann
8cde4ab638 refactor how session tickets are sent
Previously, RunHandshake() would send the session tickets. Now, the
session initiates the sending of the session ticket. This simplifies the
setup a bit, and it will make it possible to include the RTT estimate in
the session ticket without accessing the RTTStats concurrently.
2020-02-10 17:42:09 +07:00
Marten Seemann
949a65d490
Merge pull request #2235 from lucas-clemente/crypto-buffer-exceeded
use the CRYPTO_BUFFER_EXCEEDED error for crypto stream overflows
2019-11-24 21:06:21 +07:00
Marten Seemann
aefd4f83ea use the correct error code when checking for encryption level boundaries 2019-11-23 12:05:18 +07:00
Marten Seemann
50e7d69865 use the CRYPTO_BUFFER_EXCEEDED error for crypto stream overflows 2019-11-23 11:48:11 +07:00
Marten Seemann
e622207822 assemble ackhandler.Frames, not wire.Frames, when packing a packet 2019-08-31 17:34:54 +07:00
Marten Seemann
e7ed5e3c92 implement the crypto stream for post-handshake crypto messages 2019-02-06 22:51:44 +08:00
Marten Seemann
387c28d707 when the encryption level changes, reject data on that crypto stream
There are two checks that need to be performed:
1. the crypto stream must not have any more data queued for reading
2. when receiving CRYPTO frames for that crypto stream afterwards, they
must not exceed the highest offset received on that stream
2018-10-26 17:09:52 +07:00
Marten Seemann
19e5feef57 move TLS message header parsing logic to the crypto stream 2018-10-26 16:40:29 +07:00
Marten Seemann
82508f1562 use tls-tris instead of mint 2018-10-26 16:18:49 +07:00
Marten Seemann
dbada7ad02 store stream data, not STREAM frames, in the streamFrameSorter 2018-08-26 08:59:48 +07:00
Marten Seemann
04147d86da rename the cryptoStreamI interface to cryptoStream 2018-08-11 12:45:43 +07:00
Marten Seemann
d330fda94c also use the onHasStreamData callback for the crypto stream 2018-01-09 17:17:16 +07:00
Marten Seemann
a5d3eaea61 rename the scheduleSending callback to onHasStreamData in the stream
This callback also takes the stream ID, which will later be used to
create a queue of streams that have data for writing available.
2018-01-02 23:24:44 +07:00
Marten Seemann
fc8fafd15e pass a callback containing the callbacks to the stream 2017-12-20 11:49:05 +07:00
Marten Seemann
d2e31c04ab generate the streamI mock in the quic package
By doing so, we can mock private methods of the stream, so they cannot
be type-asserted by users of quic-go.
2017-12-20 10:42:07 +07:00
Marten Seemann
e926b0805a split the stream into a receive and a send stream 2017-12-20 10:05:02 +07:00
Marten Seemann
73ab97aa95 simplify the stream by directly popping STREAM frames from it 2017-12-12 18:48:08 +07:00
Marten Seemann
cd5e7ae177 remove unneeded function from the crypto stream interface 2017-12-12 18:30:08 +07:00
Lucas Clemente
0febba87ba move crypto handshake stuff to its own package 2016-04-14 19:50:04 +02:00
Lucas Clemente
120d255f38 implement writing of crypto messages 2016-04-10 16:33:55 +02:00
Lucas Clemente
4df279dd81 implement parsing of sample CHLO crypto stream 2016-04-08 19:28:46 +02:00