Marten Seemann
e188a6deb5
Merge pull request #2370 from lucas-clemente/fix-flaky-half-rtt-data-test
...
fix flaky 0.5-RTT data test
2020-02-24 13:48:30 +07:00
Marten Seemann
aa9a5a4e5f
add a lint script to verify that Ginkgo is not imported
2020-02-23 09:50:12 +07:00
Marten Seemann
215ca4c155
remove stray GinkgoRecover() in http3.Server
2020-02-23 09:43:40 +07:00
Lorenzo Saino
8db2288382
Make http3.client.Close() succeed if session was not started
...
Invoking http3.client.Close() before client.dial() is invoked
causes a segmentation fault. That occurs because, in this
circumstance, invoking client.Close() results in invoking
client.session.CloseWithError(...) while client.session is nil.
This commit changes the behavior of
http3.client.Close() to return nil if client.session
is nil and adds an associated test case.
2020-02-23 00:21:19 +00:00
Marten Seemann
d8d622ee99
fix flaky 0.5-RTT data test
2020-02-22 16:17:34 +07:00
Marten Seemann
b658f92060
use the golang/x/crypto ChaCha20 implementation
...
https://go-review.googlesource.com/c/crypto/+/206638 added the
SetCounter method required for QUIC's header protection.
2020-02-22 10:53:41 +07:00
Marten Seemann
9ee6efd506
change the transport parameter format to varint
2020-02-22 09:36:02 +07:00
Marten Seemann
c1cb3e64dc
fix logging of coalesced packets
...
Coalesced packets that just have a single part shouldn't be logged as
coalesced packets.
2020-02-21 17:09:03 +07:00
Marten Seemann
f5d88d3edd
Merge pull request #2359 from lucas-clemente/simplify-ack-range-pruning
...
simplify ACK range pruning
2020-02-21 16:00:14 +07:00
Marten Seemann
a5fc72047e
simplify pruning of old ACK ranges
2020-02-21 15:46:58 +07:00
Marten Seemann
f317a471bb
use a single constructor for SentPacketHandler and ReceivedPacketHandler
2020-02-21 15:45:24 +07:00
Marten Seemann
e9cdb29ef9
Merge pull request #2362 from lucas-clemente/client-amplification-protection
...
implement the client side for the amplification protection
2020-02-21 15:34:21 +07:00
Marten Seemann
e97e3040ed
make sure the client sends packets to unblock the server
2020-02-21 12:29:11 +07:00
Marten Seemann
d20c1bfaed
remove unused parameter from SentPacketHandler.ReceivedAck
2020-02-21 10:05:17 +07:00
Marten Seemann
73937e8753
Merge pull request #2349 from lucas-clemente/coalesced-packets
...
implement sending of coalesced packets
2020-02-20 16:53:33 +07:00
Marten Seemann
ad7327845c
Merge pull request #2358 from lucas-clemente/drop-0rtt-keys
...
drop 0-RTT read keys after 3 PTO
2020-02-20 16:47:14 +07:00
Marten Seemann
23059d5a68
Merge pull request #2280 from lucas-clemente/zero-rtt-queue
...
queue 0-RTT for 100ms to allow the corresponding Initial to arrive
2020-02-20 16:44:03 +07:00
Marten Seemann
7a532326ec
don't pack ACK frames in the second part of a coalesced packet
...
This prevents a possible overflow of the maximum packet size if the ACK
frames ends up being really large.
2020-02-20 16:42:58 +07:00
Marten Seemann
db7fc0eb02
simplify packing of Initial and Handshake packets
2020-02-20 16:42:58 +07:00
Marten Seemann
29b784e782
rename packet packing functions in the packet packer
2020-02-20 16:42:58 +07:00
Marten Seemann
5aad7cae5d
send coalesced packets
2020-02-20 16:42:56 +07:00
Marten Seemann
244e1ae8e7
Merge pull request #2353 from lucas-clemente/qlog-connection-started-event
...
add support for the connection_started event
2020-02-20 16:27:22 +07:00
Marten Seemann
d642bf9098
simplify content storage in packed packets
...
It's not necessary to store both the packetBuffer and the slice
containing the raw data in the packet.
2020-02-20 16:25:54 +07:00
Marten Seemann
88fc6b9a87
Merge pull request #2332 from phuslu/http-context-key
...
Add LocalAddr/ContextKey to http3 request context
2020-02-20 16:24:50 +07:00
Marten Seemann
077504f557
refactor sealing of packets
2020-02-20 16:19:08 +07:00
Marten Seemann
a4b4d52063
refactor packing of packets before and after the handshake is confirmed
2020-02-20 16:19:08 +07:00
Marten Seemann
d08c2145a4
drop 0-RTT read keys after 3 PTO
2020-02-18 17:51:05 +07:00
Marten Seemann
e01995041e
Merge pull request #2357 from lucas-clemente/loss-timer
...
fix early retransmit loss timer
2020-02-18 16:45:12 +07:00
Marten Seemann
1692adb142
fix unit tests for the early retransmit timer
2020-02-18 12:04:27 +07:00
zverevm
4f7b0b1675
Do not ignore loss timer.
2020-02-17 12:36:42 +01:00
Marten Seemann
9899be3a06
Merge pull request #2348 from lucas-clemente/send-all-packets-before-closing
...
make sure that all packets in the send queue are sent before closing
2020-02-17 17:18:25 +07:00
Marten Seemann
14a5cc8ab4
add support for the connection_started event
2020-02-17 15:52:06 +07:00
Marten Seemann
93e724434b
make sure that all packets in the send queue are sent before closing
2020-02-17 13:41:00 +07:00
Marten Seemann
81cf5ba409
Merge pull request #2352 from lucas-clemente/tls-conn-localaddr
...
set the LocalAddr that is used in the tls.ClientHelloInfo.Conn
2020-02-17 13:24:36 +07:00
Marten Seemann
f034e8ba19
set the LocalAddr that is used in the tls.ClientHelloInfo.Conn
2020-02-16 14:10:30 +07:00
Marten Seemann
643f0b4c67
drop incoming packets when the server's receive queue is full
2020-02-15 16:43:00 +07:00
Marten Seemann
9b71878d53
release packet buffers when deleting a 0-RTT queue
2020-02-15 15:44:09 +07:00
Marten Seemann
ba095dd3ff
delete 0-RTT queues if no Initial is received within 100ms
2020-02-15 15:44:09 +07:00
Marten Seemann
2b7133a6e2
implement a queue for 0-RTT packets
2020-02-15 15:44:08 +07:00
Marten Seemann
abf55af7e9
Merge pull request #2345 from lucas-clemente/interop-qlog
...
export qlogs from the interop runner
2020-02-13 15:28:54 +07:00
Marten Seemann
577e9cf118
Merge pull request #2346 from lucas-clemente/fix-example-client-keylogfile
...
fix keylog creation in the example client
2020-02-13 15:23:46 +07:00
Marten Seemann
d6e4b100e8
fix keylog creation in the example client
2020-02-12 15:38:50 +07:00
Marten Seemann
5aaab80698
export qlog files if the QLOGDIR env is set in interop client and server
2020-02-12 12:03:51 +07:00
Marten Seemann
89728126cc
move function to create the TLS key log file to a separate file
2020-02-12 11:48:31 +07:00
Marten Seemann
dd035c2f12
Merge pull request #2323 from lucas-clemente/qlog
...
add basic support for qlog
2020-02-12 10:53:14 +07:00
Marten Seemann
a3fe9445cc
set the packet_size on the packet_received and packet_sent event
2020-02-12 10:42:38 +07:00
Marten Seemann
708189c9a2
sort the events before exporting
2020-02-12 10:42:38 +07:00
Marten Seemann
5a7f743733
qlog lost packets
2020-02-12 10:42:38 +07:00
Marten Seemann
f13ca7e791
qlog loss recovery metrics
2020-02-12 10:42:38 +07:00
Marten Seemann
a58bcb747b
qlog received Retry packets
2020-02-12 10:42:38 +07:00