Commit Graph

4431 Commits

Author SHA1 Message Date
Marten Seemann
816019b94e add an optimized implementation of HKDF-Expand-Label
The standard library uses cryptobyte.Builder in hkdfExpandLabel. This
costs quite a bit of performance. Using an optimized implementation
speeds up the initialization of the AEAD used for the Initial encryption
level by ~15%.
2020-04-09 08:16:23 +07:00
Marten Seemann
0e608bfb08 Merge pull request #2476 from lucas-clemente/go-1.13
make sure that quic-go builds with Go 1.13 and Go 1.14
2020-04-09 08:12:03 +07:00
Marten Seemann
3ac2fb3161 make quic-go build with both Go 1.13 and 1.14 2020-04-09 07:51:18 +07:00
Marten Seemann
8e76881bc4 Merge pull request #2477 from lucas-clemente/fix-corrupted-scid
update the source connection ID if the session was created from an invalid Initial
2020-04-09 00:45:15 +07:00
Marten Seemann
732305e3da Merge pull request #2470 from lucas-clemente/dropped-packet-logging
improve qlogging of dropped packets
2020-04-09 00:44:51 +07:00
Marten Seemann
0f2508c795 Merge pull request #2465 from lucas-clemente/qlog-ordering
make sure that qlog events are logged in order
2020-04-09 00:44:13 +07:00
Marten Seemann
efaa60b1ee Merge pull request #2473 from lucas-clemente/run-integration-tests-with-qlog-on-ci
run integration tests with qlog enabled on CircleCI
2020-04-08 23:05:55 +07:00
Marten Seemann
969abdd8d5 update the source connection ID when we created a session for an invalid Initial 2020-04-08 22:12:41 +07:00
Marten Seemann
a02fb1fa6f qlog dropped 0-RTT packets (on the client side) 2020-04-08 22:10:47 +07:00
Marten Seemann
1655768d57 qlog packets that are dropped due to mismatching source connection ID 2020-04-08 22:10:46 +07:00
Marten Seemann
3bede6ddf5 qlog coalesced packets dropped due to wrong destination connection ID 2020-04-08 22:08:29 +07:00
Marten Seemann
e5ebb32d01 Merge pull request #2471 from lucas-clemente/fix-transport-parameter-qlogging
qlog transport parameters before performing any validity checks on them
2020-04-08 22:08:12 +07:00
Marten Seemann
2997fa4196 run integration tests with qlog enabled on CircleCI 2020-04-08 22:05:38 +07:00
Marten Seemann
ec552ab2ba Merge pull request #2472 from lucas-clemente/dont-export-qlog-on-version-negotiation
don't trigger the qlog export when receiving a Version Negotiation packet
2020-04-08 22:05:13 +07:00
Marten Seemann
44eb324101 don't export the qlog file when receiving a Version Negotiation packet 2020-04-08 21:11:27 +07:00
Marten Seemann
fa18a1642a qlog transport parameters before performing any validity checks on them 2020-04-08 21:04:52 +07:00
Marten Seemann
bb2a05af0a Merge pull request #2474 from lucas-clemente/validate-preferred-address-conn-id-len
validate connection ID length in preferred_address transport parameter
2020-04-08 21:04:06 +07:00
Marten Seemann
a9bae761f5 Merge pull request #2469 from lucas-clemente/fix-received-packet-size-logging
fix logging of the size of received packets
2020-04-08 20:59:29 +07:00
Marten Seemann
667207bef8 Merge pull request #2475 from lucas-clemente/fix-client-hello-conversion
fix conversion of qtls.ClientHelloInfo to tls.ClientHelloInfo
2020-04-08 20:58:37 +07:00
Marten Seemann
96ac90e6be validate connection ID length in preferred_address transport parameter 2020-04-08 17:13:35 +07:00
Marten Seemann
8fd2674ce4 fix conversion of qtls.ClientHelloInfo in GetCertificate 2020-04-08 16:19:45 +07:00
Marten Seemann
66d50b4289 fix conversion of qtls.ClientHelloInfo in GetConfigForClient 2020-04-08 15:56:30 +07:00
Marten Seemann
ddab69ca9e fix logging of the size of received packets 2020-04-07 16:45:15 +07:00
Marten Seemann
799d80197f Merge pull request #2459 from lucas-clemente/interop-dont-fail-on-qlog-creating
don't fail interop tests when creating the qlog fails
2020-04-06 19:24:54 +07:00
Marten Seemann
927c5b2a41 Merge pull request #2461 from lucas-clemente/qlog-fix-retry-logging
don't qlog a packet number for Retry packets
2020-04-06 18:42:20 +07:00
Marten Seemann
0a9dd87dcf Merge pull request #2458 from lucas-clemente/qlog-no-metrics-update-for-non-ack-eliciting
don't log a metrics_update when sending a non-ack-eliciting packet
2020-04-06 18:42:09 +07:00
Marten Seemann
7923587e7e Merge pull request #2466 from lucas-clemente/qlog-fix-reference-time
fix precision of reference_time field in qlog
2020-04-06 18:41:56 +07:00
Marten Seemann
27359777d9 fix precision of reference_time field in qlog 2020-04-05 16:46:59 +07:00
Marten Seemann
72068deaf6 make sure that qlog events are logged in order 2020-04-05 11:56:09 +07:00
Marten Seemann
b55cda8e04 don't fail interop tests when creating the qlog fails 2020-04-04 15:18:03 +07:00
Marten Seemann
d6edcc38c0 don't qlog a packet number for Retry packets 2020-04-04 15:05:34 +07:00
Marten Seemann
a983c40cdd don't log a metrics_update when sending a non-ack-eliciting packet 2020-04-04 13:45:25 +07:00
Marten Seemann
383dab3ce7 Merge pull request #2460 from lucas-clemente/fix-lint-errors
fix linter errors
2020-04-04 13:45:01 +07:00
Marten Seemann
fc9b5905b2 don't run goconst on qlog/ 2020-04-04 13:17:58 +07:00
Marten Seemann
92c0f81bf4 improve error handling in sentPacketHandler 2020-04-04 13:00:39 +07:00
Marten Seemann
0c070bd9e6 Merge pull request #2445 from lucas-clemente/qlog-received-packet-before-frames
qlog the packet_received event before any frame-specific events
2020-04-03 11:01:34 +07:00
Marten Seemann
c810f95632 Merge pull request #2449 from lucas-clemente/qlog-loss-timer
implement the qlog loss timer events
2020-04-02 16:35:51 +07:00
Marten Seemann
c9829da9b8 Merge pull request #2443 from lucas-clemente/http3-buffering
use a buffered writer for http3 requests and responses
2020-04-02 15:51:56 +07:00
Marten Seemann
5365ac2c47 Merge pull request #2457 from lucas-clemente/anti-deadlock-timer
correctly set anti-deadlock timer after the Initial space was dropped
2020-04-02 15:51:16 +07:00
Marten Seemann
d368117b13 qlog changes to the loss timer 2020-04-02 15:50:40 +07:00
Marten Seemann
5450ecdc7a Merge pull request #2451 from lucas-clemente/qlog-incremental-metrics-updateds
qlog a metrics update when sending a packet
2020-04-02 15:49:08 +07:00
Marten Seemann
bcffb77ad4 use a buffered writer for the http3 request writer 2020-04-02 15:15:29 +07:00
Marten Seemann
683230372e use a buffered writer for the http3 response writer 2020-04-02 15:15:29 +07:00
Marten Seemann
3e2c27e4cd qlog updated metrics when sending a packet 2020-04-02 15:05:46 +07:00
Marten Seemann
9182a901d5 only export changed metrics in the metrics_updated event 2020-04-02 15:05:05 +07:00
Marten Seemann
c4c372744a correctly set anti-deadlock timer after the Initial space was dropped 2020-04-02 15:04:08 +07:00
Marten Seemann
c10af76a4a Merge pull request #2455 from lucas-clemente/loss-before-ack
notify the congestion controller of losses first
2020-04-02 14:38:39 +07:00
Marten Seemann
4c0c24e06a Merge pull request #2450 from lucas-clemente/qlog-sent-packets-before-events
qlog sending of packets before logging packet-related events
2020-04-02 14:38:07 +07:00
Marten Seemann
c02106945f Merge pull request #2444 from lucas-clemente/qlog-relative-time
use the relative_time when logging qlog events
2020-04-02 14:37:36 +07:00
Marten Seemann
7b903ea0c4 Merge pull request #2448 from lucas-clemente/qlog-transport-error
improve qlogging of transport errors
2020-04-02 14:37:06 +07:00