Marten Seemann
42edcf6258
implement the RETIRE_CONNECTION_ID frame
2018-11-13 17:21:19 +07:00
Marten Seemann
2021a21916
implement the NEW_CONNECTION_ID frame
2018-11-13 17:21:14 +07:00
Marten Seemann
b422876a73
Merge pull request #1593 from lucas-clemente/flow-control-params
...
use more reasonable flow control parameters
2018-11-13 10:36:35 +07:00
Marten Seemann
df7c6a221b
use higher initial flow control windows
2018-11-12 23:38:07 +07:00
Marten Seemann
4b37ecb2b5
use the same default max flow control window sizes for client and server
2018-11-12 23:38:07 +07:00
Marten Seemann
cf104db629
implement parsing and writing of the NEW_TOKEN frame
2018-11-12 23:37:44 +07:00
Marten Seemann
c89c1f4cee
Merge pull request #1590 from lucas-clemente/renumber-frames
...
renumber frames
2018-11-12 23:36:41 +07:00
Marten Seemann
190d1dcc59
Merge pull request #1595 from lucas-clemente/fix-1529
...
authenticate retries
2018-11-12 18:00:22 +07:00
Marten Seemann
59ab139720
renumber frame types
2018-11-12 17:26:42 +07:00
Marten Seemann
9065ec3410
use a single error for frame parsing errors
2018-11-12 17:25:46 +07:00
Marten Seemann
c37b698f68
Merge pull request #1596 from lucas-clemente/internalize-errors
...
internalize the qerr package
2018-11-12 15:54:39 +07:00
Marten Seemann
3ffea5d8c4
internalize the qerr package
2018-11-11 12:44:16 +07:00
Marten Seemann
70cb67bd2a
check that the server sends the correct original_connection_id
2018-11-11 11:00:40 +07:00
Marten Seemann
73ca6a06eb
encode the original connection ID into the cookie
2018-11-10 17:12:50 +07:00
Marten Seemann
8c103be876
simplify the crypto setup constructors
2018-11-10 17:01:13 +07:00
Marten Seemann
c2aac727b9
implement the original_connection_id transport parameter
2018-11-10 16:41:11 +07:00
Marten Seemann
dd9ce2e668
replace the STREAM_ID_BLOCKED with the STREAMS_BLOCKED frame
2018-11-10 09:38:57 +07:00
Marten Seemann
9518c90c0a
implement and use the MAX_STREAMS frame
2018-11-10 09:38:50 +07:00
Marten Seemann
0f931ca54e
use a uint64 for stream counts
2018-11-10 09:05:33 +07:00
Marten Seemann
e8de94485c
move more stream ID logic to the protocol package
2018-11-10 09:05:33 +07:00
Marten Seemann
05ecf9bc02
rename the STREAM_BLOCKED frame to STREAM_DATA_BLOCKED
2018-11-10 09:05:27 +07:00
Marten Seemann
387613aa20
rename the BLOCKED from to DATA_BLOCKED
2018-11-10 09:05:06 +07:00
Marten Seemann
6da4ef356f
rename the initial stream limit transport parameters
2018-11-08 16:21:26 +07:00
Marten Seemann
f8612cda2c
renumber the transport parameters
2018-11-08 16:19:45 +07:00
Marten Seemann
c302d8ff81
check the validity of transport parameters when unmarshalling
2018-11-05 15:37:22 +07:00
Marten Seemann
8cdb903a1c
Merge pull request #1584 from lucas-clemente/varint-transport-parameters
...
use varints for numeric transport parameters
2018-11-05 15:30:14 +07:00
Marten Seemann
66a72a1199
use varints for numeric transport parameters
2018-11-05 12:33:32 +07:00
Marten Seemann
022189dfda
rename the RST_STREAM frame to RESET_STREAM frame
2018-11-04 12:26:02 +07:00
Marten Seemann
2eed03c747
remove the header parameter for parsing frames
...
It was only needed for parsing STOP_WAITING frames.
2018-11-03 09:23:22 +07:00
Marten Seemann
dbbbfd955e
move tracking of skipped packets to the packet number generator
2018-11-02 17:14:31 +07:00
Marten Seemann
c81cd92daf
return the packet number length when peek a new packet number
2018-11-02 17:14:31 +07:00
Marten Seemann
ebbf839fa4
move the packet number generator to the ackhandler package
2018-11-02 17:14:31 +07:00
Marten Seemann
0fac716274
fix go routine leak in crypto setup test
2018-11-02 16:46:57 +07:00
Marten Seemann
257c4732c3
Merge pull request #1566 from lucas-clemente/better-stream-helpers
...
simplify the streamsMap by using the stream helper functions
2018-11-01 16:22:20 +07:00
Marten Seemann
2bfe8d0b77
Merge pull request #1568 from lucas-clemente/close-frames
...
implement changes to the CONNECTION_CLOSE frame
2018-11-01 15:51:14 +07:00
Marten Seemann
5768b492d7
introduce a type for unidirctional and bidirectional streams
2018-11-01 15:50:47 +07:00
Marten Seemann
4e87fb4456
Merge pull request #1565 from lucas-clemente/fix-1449
...
split the flow control transport parameters
2018-11-01 15:50:13 +07:00
Marten Seemann
716e8f2d0a
remove the error return value from wire.Header.GetLength
...
Using an invalid packet number length would error on Header.Write(), so
it's not necessary to check this on GetLength().
2018-11-01 13:49:36 +07:00
Marten Seemann
9981026839
split the flow control transport parameters
2018-11-01 13:09:29 +07:00
Marten Seemann
73ac6b14bf
implement changes to the CONNECTION_CLOSE frame
2018-10-31 11:21:51 +07:00
Marten Seemann
14a4464266
implement some stream ID helper functions
2018-10-30 12:52:48 +07:00
Marten Seemann
a1acfc3045
rename {Stream,Connection}FlowControlWindow to InitialMax{Stream}Data
2018-10-30 12:52:42 +07:00
Marten Seemann
74c5e9a26c
move the definition of transport parameter IDs
2018-10-30 10:37:33 +07:00
Marten Seemann
3266e36811
drop support for gQUIC
2018-10-30 10:20:39 +07:00
Marten Seemann
1227dc8a24
remove the handshakeCompleteChan from the TLS crypto setup
...
In TLS, we know that the handshake completed when RunHandshake() returns.
2018-10-29 17:33:06 +07:00
Marten Seemann
06f96f4b6e
wait until the Handshake() go routine returned before returning Close()
2018-10-29 15:05:58 +07:00
Marten Seemann
4a326ad00a
implement closing of the TLS crypto setup
...
When the crypto setup is closed, the go rounine running the
qtls.Handshake() needs to return.
2018-10-29 15:05:58 +07:00
Marten Seemann
b63c81f0bf
try decrypting undecryptable packets when the encryption level changes
...
There's no need to do this asynchronously any more when using TLS.
2018-10-26 17:10:00 +07: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