Commit Graph

668 Commits

Author SHA1 Message Date
Marten Seemann
5d4a47a3f3 return a crypto error when receiving unexpected handshake messages 2019-05-31 17:57:07 +08:00
Marten Seemann
06da72ae4e Merge pull request #1929 from lucas-clemente/drop-handshake-keys
drop Initial and Handshake keys when receiving the first 1-RTT ACK
2019-05-30 20:52:39 +08:00
Marten Seemann
8eda9306a6 Merge pull request #1934 from lucas-clemente/application-error-logging
fix logging of application errors
2019-05-30 18:08:51 +08:00
Marten Seemann
7a2ffb3ada Merge pull request #1930 from lucas-clemente/invalid-stream-id
introduce invalid stream ID to simplify the outgoing streams map
2019-05-30 18:07:39 +08:00
Marten Seemann
cd6047b58e fix logging of application errors 2019-05-30 17:15:19 +08:00
Marten Seemann
a4989c3d9c drop Initial and Handshake keys when receiving the first 1-RTT ACK 2019-05-30 14:19:26 +08:00
Marten Seemann
4834962cbd add a function to drop received packets of a certain encryption level 2019-05-30 14:19:11 +08:00
Marten Seemann
4d5b4fd790 add a function to drop sent packets of a certain encryption level 2019-05-30 13:47:16 +08:00
Marten Seemann
195bdc9944 remove unused handshakeComplete member variable from sent packet handler 2019-05-30 13:47:16 +08:00
Marten Seemann
82acc7f2b7 introduce invalid stream ID to simplify the outgoing streams map 2019-05-30 03:16:45 +08:00
Marten Seemann
ea33339d26 correct the bytes in flight when dropping crypto packets 2019-05-30 01:47:03 +08:00
Marten Seemann
8c40c3f768 improve logging of STREAMS_BLOCKED frames 2019-05-28 15:56:02 +02:00
Marten Seemann
c8aa4f4d4a improve logging of MAX_STREAMS frames 2019-05-28 15:54:25 +02:00
Marten Seemann
fd33eb319f add a flag to turn off PRR 2019-05-21 10:57:55 +01:00
Marten Seemann
8afed81c49 Merge pull request #1907 from lucas-clemente/can-send
use PRR when deciding if we're congestion limited
2019-05-20 08:44:33 +01:00
Marten Seemann
3e67c12d76 use PRR when deciding if we're congestion limited 2019-05-19 16:49:55 +02:00
Marten Seemann
fccdb1c558 use Reno instead of Cubic 2019-05-19 15:57:20 +02:00
Marten Seemann
e06961266c introduce an invalid packet number to simplify ackhandler and congestion 2019-05-14 06:41:13 +03:00
Marten Seemann
dca57baef6 Merge pull request #1901 from lucas-clemente/cleanup-send-algorithm
clean up the congestion interface
2019-05-13 16:10:17 +02:00
Marten Seemann
c869d51e52 remove unused SendAlgorithmWithDebugInfo from congestion package 2019-05-13 12:43:08 +02:00
Marten Seemann
448c49851b remove unused methods from the congestion interface 2019-05-13 12:11:29 +02:00
Marten Seemann
0a86224858 pass a string, not an error, to Session.CloseWithError 2019-05-13 08:04:24 +02:00
Marten Seemann
4e6df9041d use the max_ack_delay when computing the PTO duration 2019-05-08 14:47:46 +09:00
Marten Seemann
537737935c limit the ACK delay by max_ack_delay 2019-05-08 14:34:56 +09:00
Marten Seemann
0e33f3c0da don't send an ACK delay time for Initial and Handshake ACKs 2019-05-08 14:30:17 +09:00
Marten Seemann
f981339bc0 ignore the delay field for ACKs sent in Initial and Handshake packets 2019-05-08 14:15:42 +09:00
Marten Seemann
6c27967c8a include the timer granularity in the advertised max_ack_delay 2019-05-08 13:26:08 +09:00
Marten Seemann
af8c03ebaf advertize the max_ack_delay in the transport parameters 2019-05-08 13:22:37 +09:00
Marten Seemann
4042a8258c simplify writing of varint transport parameters 2019-05-08 12:53:19 +09:00
Marten Seemann
f847c5422d implement parsing and writing of the max_ack_delay transport parameter 2019-05-08 12:43:29 +09:00
Marten Seemann
5d999f3927 handle ACKs separately in the sent packet handler packet struct 2019-04-21 20:47:27 +09:00
Marten Seemann
450d777a51 use the timer granularity as a minimum for the loss detection timer 2019-04-16 11:34:49 +09:00
Marten Seemann
2c27cc0090 rename the reordering threshold constant in the sent packet handler 2019-04-16 11:32:01 +09:00
Marten Seemann
9dc29effdf rename loss delay variable in sent packet handler
That's how it's called in the WG draft pseudo code.
2019-04-16 11:25:58 +09:00
Marten Seemann
b5336be518 rename retransmittable to ack-eliciting 2019-04-12 13:25:39 +09:00
Marten Seemann
4f6d0e651a implement HTTP/3 2019-04-11 09:06:10 +09:00
Marten Seemann
7f9861bf7e reset the send mode after receiving an ACK when already in PTO mode 2019-04-09 10:24:45 +09:00
Marten Seemann
6be9c7bfcd use the full pacing rate, also when not in slow start 2019-04-08 13:38:12 +09:00
Marten Seemann
2976a3ee19 fix pacing rate
The pacing rate needs to be calculated for the next packet to be sent,
not for the next byte to be sent.
2019-04-07 13:11:36 +09:00
Marten Seemann
907071221c Merge pull request #1846 from lucas-clemente/fix-crypto-setup-race-condition
fix race condition when accessing the encryption level in crypto setup
2019-04-02 00:23:53 +09:00
Marten Seemann
9ffbd662c1 fix race condition when accessing the encryption level in crypto setup 2019-04-02 00:13:22 +09:00
Marten Seemann
66615797e7 Merge pull request #1840 from lucas-clemente/invalid-max-streams-values
error on invalid maximum stream number values
2019-04-01 05:15:52 +02:00
Marten Seemann
e9f7f87063 remove two stray TODOs from the crypto setup 2019-04-01 12:04:19 +09:00
Marten Seemann
7b02b87026 reject MAX_STREAMS frames with too large stream counts 2019-04-01 11:57:23 +09:00
Marten Seemann
a6d1917417 make sure the same session ticket key is used if none is configured 2019-04-01 11:45:20 +09:00
Marten Seemann
2adf923ee6 process the NewSessionTicket TLS message 2019-04-01 11:45:20 +09:00
Marten Seemann
da4b3e3176 pass a conn to qtls that returns the remote address 2019-04-01 11:45:20 +09:00
Marten Seemann
b2723d6d13 make the ClientSessionCache work with qtls 2019-04-01 11:45:16 +09:00
Marten Seemann
9ddf9129cf move generation of qtls.Config to a separate file, add tests 2019-04-01 11:41:06 +09:00
Marten Seemann
358fce241a Merge pull request #1841 from lucas-clemente/vnp-quic-bit
set the QUIC bit in Version Negotiation packets
2019-03-31 18:29:26 +02:00