Marten Seemann
74d8a2bd7d
ignore 0-RTT packets
2018-12-20 15:25:04 +06:30
Marten Seemann
d6c304610d
only queue packets for decryption if the opener is not yet available
2018-12-20 15:24:56 +06:30
Marten Seemann
aaea375fb6
move parsing of the extended header to the unpacker
2018-12-14 16:46:40 +06:30
Marten Seemann
c912860a94
don't explicitely pass the header binary to the unpacker
2018-12-14 16:46:40 +06:30
Marten Seemann
ce6b9f2f1d
save the decoded packet number on the unpacked packet
2018-12-14 16:46:40 +06:30
Marten Seemann
a8e5309cd1
move packet number decoding to the unpacker
2018-12-14 16:46:40 +06:30
Marten Seemann
6d08cf336e
only set the receive time of a packet once
...
We already set the time in the packetHandlerMap.
2018-11-27 16:08:31 +07:00
Marten Seemann
c5ca6fd7e5
parse the extended header in the session
2018-11-26 15:57:54 +07:00
Marten Seemann
70ce6a5814
parse the whole Long Header, if the version is known
2018-11-26 15:57:54 +07:00
Marten Seemann
b740d57c61
embed the Header in the ExtendedHeader
2018-11-26 15:57:54 +07:00
Marten Seemann
9bcedd988d
move parsing of version negotiation packets to the wire.Header
2018-11-26 15:57:54 +07:00
Marten Seemann
bf96707f48
rename the wire.Header to ExtendedHeader
...
It's not encrypted yet.
2018-11-26 15:57:54 +07:00
Marten Seemann
a3f91d3c98
remove the lastRcvdPacketNumber from the session
...
This variable was only used to pass the packet number an ACK was
received with to the SentPacketHandler. The better way to do this is by
passing the value to handleAckFrame() directly.
2018-11-26 08:47:02 +07:00
Marten Seemann
590df11604
Merge pull request #1613 from lucas-clemente/remove-pnlen-6
...
remove 6 byte packet numbers
2018-11-19 20:45:42 +07:00
Marten Seemann
7696bf59ea
remove 6 byte packet numbers
2018-11-19 16:15:02 +07:00
Marten Seemann
6c7fbc4a79
remove special case for testing when receiving packets in the session
2018-11-19 15:08:08 +07:00
Marten Seemann
65cca7b726
immediately remove sessions that were closed remotely
...
We only need to keep sessions that were closed locally, in order to
retransmit the CONNECTION_CLOSE packet. For sessions that were closed by
the peer, we don't need to wait for any more packets, and there's also
no CONNECTION_CLOSE to retransmit. The same applies for sessions that
were destroyed when receiving a Version Negotiation or a Retry packet.
2018-11-16 21:22:32 +07:00
Marten Seemann
a3831b2134
rename removing of connection IDs to retiring
2018-11-16 21:22:32 +07:00
Marten Seemann
9d06b2cfff
retransmit the CONNECTION_CLOSE packet when late packets arrive
2018-11-15 16:52:02 +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
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
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
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
022189dfda
rename the RST_STREAM frame to RESET_STREAM frame
2018-11-04 12:26:02 +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
16848038be
remove unnecessary initial packet number parameter
2018-11-02 17:14:31 +07:00
Marten Seemann
9981026839
split the flow control transport parameters
2018-11-01 13:09:29 +07:00
Marten Seemann
a1acfc3045
rename {Stream,Connection}FlowControlWindow to InitialMax{Stream}Data
2018-10-30 12:52:42 +07:00
Marten Seemann
3266e36811
drop support for gQUIC
2018-10-30 10:20:39 +07:00
Marten Seemann
8344dc8b64
close the TLS crypto setup when session closes
2018-10-29 15:06:41 +07:00
Marten Seemann
eeab7a5fca
allow the server to retransmit Initial packets
2018-10-28 13:30:37 +07:00
Marten Seemann
82508f1562
use tls-tris instead of mint
2018-10-26 16:18:49 +07:00
Marten Seemann
5102294991
use separate chans to signal handshake events and handshake completion
2018-10-26 16:11:25 +07:00
Marten Seemann
b000c32796
use a mock sealing manager in the packet packer tests
2018-10-06 06:49:37 +02:00
Marten Seemann
c1f55ba910
use tls.Config.ServerName for the passing the hostname around
2018-10-02 14:47:18 -07:00
Marten Seemann
06db39836b
move queueing of control frames to the framer
2018-09-28 21:04:57 -06:00
Marten Seemann
9f5bfbe292
handle the transport parameters in the packet packer
2018-09-28 15:21:29 -06:00
Marten Seemann
7034481d9e
get ACK and STOP_WAITING frames in the packet packer
2018-09-28 09:51:05 -06:00
Marten Seemann
7b9d3a6217
don't try to send an ACK immediately after becoming congestion limited
2018-09-24 18:54:47 -06:00
Marten Seemann
a8c7003776
fix flaky session test
2018-08-28 10:12:33 +07:00
Marten Seemann
c0d4f00b20
implement gQUIC 44
2018-08-28 08:49:29 +07:00
Marten Seemann
04147d86da
rename the cryptoStreamI interface to cryptoStream
2018-08-11 12:45:43 +07:00
Marten Seemann
defafec71e
use retransmissions as TLP packets
2018-08-09 22:28:28 +07:00
Marten Seemann
6d3d6dc47d
pass an error code to Session.CloseWithError
2018-07-06 15:51:38 +07:00
Marten Seemann
8b2992a243
split the Session.Close(error) in Close() and CloseWithError(error)
2018-07-06 15:51:35 +07:00
Marten Seemann
f02dc92a32
make the connection ID length configurable
2018-07-03 18:34:31 +07:00