Commit Graph

4940 Commits

Author SHA1 Message Date
Marten Seemann
d5a30225ce use a uint8 to represent the key phase bit 2020-10-06 15:27:56 +07:00
Marten Seemann
93e3873141 qlog the key phase bit 2020-10-06 15:05:26 +07:00
Marten Seemann
c75da7965b Merge pull request #2729 from lucas-clemente/exhaustive-linter
add the exhaustive linter, replace panics by return values in logging stringers
2020-10-05 13:59:04 +07:00
Marten Seemann
8417b67f83 replace panics in qlog and metrics type stringers 2020-10-05 13:47:58 +07:00
Marten Seemann
55a07c34ee add the exhaustive linter 2020-10-05 13:47:57 +07:00
Marten Seemann
2781606ded refactor the switch statement for parsing transport parameters 2020-10-05 13:17:06 +07:00
Marten Seemann
cc21f7c648 remove unused protocol.PacketNumberLenInvalid 2020-10-05 13:17:06 +07:00
Marten Seemann
bbd9fa4862 remove the EncryptionUnspecified enum value 2020-10-05 13:17:06 +07:00
Marten Seemann
ebe051b2cc Merge pull request #2805 from lucas-clemente/improve-crypto-error-string
include the error code in the string for CRYPTO_ERRORs
2020-09-26 17:54:17 +07:00
Marten Seemann
c92b0379cf Merge pull request #2804 from lucas-clemente/check-quic-transport-parameter-extension
fail the handshake if the quic_transport_parameter extension is missing
2020-09-26 17:53:51 +07:00
Marten Seemann
02274b6cb5 Merge pull request #2803 from lucas-clemente/fix-retry-logging
fix logging of received Retry packets
2020-09-26 17:53:04 +07:00
Marten Seemann
e915472213 Merge pull request #2802 from lucas-clemente/fix-crypto-setup-deadlock
fix deadlock in crypto setup when it is closed while handling a message
2020-09-26 17:51:39 +07:00
Marten Seemann
77f7476bf7 include the error code in the string for CRYPTO_ERRORs 2020-09-25 20:23:05 +07:00
Marten Seemann
98c437e98e fail the handshake if the quic_transport_parameter extension is missing 2020-09-25 17:11:22 +07:00
Marten Seemann
e0cfbd86d5 fix logging of received Retry packets 2020-09-25 15:23:40 +07:00
Marten Seemann
7999b7699a Merge pull request #2760 from lucas-clemente/key-update-tests
make the key update integration test more rigorous
2020-09-25 14:08:30 +07:00
Marten Seemann
9ce5426da0 fix deadlock in crypto setup when it is closed while handling a message 2020-09-25 14:06:32 +07:00
Marten Seemann
77d80f2632 check that keys are actually updated in the key update integration test 2020-09-23 12:31:54 +07:00
Marten Seemann
93e733a860 Merge pull request #2782 from lucas-clemente/interop-keyupdate-testcase
add support for the new keyupdate interop runner test case
2020-09-22 20:38:19 +07:00
Marten Seemann
d44f454e95 Merge pull request #2798 from egonelbre/fix
remove unneeded mutex in the client
2020-09-22 20:24:19 +07:00
Marten Seemann
05c994c0db add support for the new keyupdate test case 2020-09-22 19:56:25 +07:00
Marten Seemann
a063500d73 use a package-level variable to set the key update frequency 2020-09-22 19:55:52 +07:00
Marten Seemann
72d81f6951 Merge pull request #2787 from lucas-clemente/early-key-drops
correctly handle key updates within the 3 PTO period
2020-09-22 19:54:14 +07:00
Egon Elbre
60bec77f0a remove unnecessary locking
Fixes #2717
2020-09-22 15:43:32 +03:00
Marten Seemann
e94db952b7 correctly handle key updates within the 3 PTO period
We need to:
* stop the timer to drop the previous generation
* correctly log that the N-1 keys are dropped immediately when keys are
updated to N+1
2020-09-22 19:28:46 +07:00
Marten Seemann
27448c1fa5 Merge pull request #2788 from lucas-clemente/ecn-capable-conn
introduce an ECNCapablePacketConn interface to determine ECN support
2020-09-22 17:58:57 +07:00
Marten Seemann
d0acd8dd16 Merge pull request #2794 from lucas-clemente/interop-runner-use-certs
use certificates from /certs directory for the server
2020-09-21 17:27:22 +07:00
Marten Seemann
ec59ad56b5 Merge pull request #2790 from lucas-clemente/coverage-reports
use Ginkgo option to combine coverage reports
2020-09-21 12:54:22 +07:00
Marten Seemann
5bedf30e3a use certificates from /certs directory for the server 2020-09-21 12:48:39 +07:00
Marten Seemann
7bacb1492e Merge pull request #2793 from lucas-clemente/remove-interop-ecn-test
remove support for the ECN test case
2020-09-21 12:39:49 +07:00
Marten Seemann
960fd8b882 remove support for the ECN test case 2020-09-21 12:06:11 +07:00
Marten Seemann
84405e1755 use Ginkgo option to combine coverage reports 2020-09-18 12:22:07 +07:00
Marten Seemann
06e0db8ef4 Merge pull request #2781 from lucas-clemente/check-peer-key-update
check that the peer updated its keys when acknowledging a key update
2020-09-17 23:04:16 +07:00
Marten Seemann
d0f45cc990 Merge pull request #2783 from lucas-clemente/update-golang-ci-lint-action
use golangci-lint-action@v2 to run golangci-lint
2020-09-17 23:03:02 +07:00
Marten Seemann
afd96e31a5 Merge pull request #2785 from lucas-clemente/github-actions-i386
run i386 unit tests on GitHub actions
2020-09-17 23:02:43 +07:00
Marten Seemann
6ecbc4186e Merge pull request #2786 from lucas-clemente/fix-flaky-packet-number-skipping-test
fix flaky packet number skipping test
2020-09-17 23:02:25 +07:00
Marten Seemann
833027b065 introduce an ECNCapablePacketConn interface to determine ECN support 2020-09-15 14:41:06 +07:00
Marten Seemann
9d4b4f6bf0 check that the peer updated its keys when acknowledging a key update 2020-09-15 13:37:48 +07:00
Marten Seemann
272a2c88e6 Merge pull request #2741 from lucas-clemente/read-ecn
read ECN bits and send ECN counters in ACK frames
2020-09-15 11:09:19 +07:00
Marten Seemann
5eaab73043 fix flaky packet number skipping test 2020-09-15 10:58:12 +07:00
Marten Seemann
be7536f2fc add support for the ECN interop runner test case 2020-09-15 10:51:23 +07:00
Marten Seemann
ea3d32394d read the ECN bits 2020-09-15 10:51:22 +07:00
Marten Seemann
0a035d7565 run i386 unit tests on GitHub actions 2020-09-15 10:47:15 +07:00
Marten Seemann
1c163dc1e2 use golangci-lint-action@v2 to run golangci-lint 2020-09-15 09:08:33 +07:00
Marten Seemann
876ab1d531 introduce a function to distinguish between IPv4 and IPv6 addresses 2020-09-14 17:01:34 +07:00
Marten Seemann
fa4f0a9e7a keep track of ECN counts on received packets 2020-09-14 17:01:34 +07:00
Marten Seemann
13fa0bcdd1 implement writing of ACK frames containing ECN counts 2020-09-14 17:01:34 +07:00
Marten Seemann
1914e5f100 Merge pull request #2771 from lucas-clemente/aead-limits
implement the limit of unsuccessful decryptions for the AEADs
2020-09-14 16:53:11 +07:00
Marten Seemann
45246dad22 count number of failed decryptions, error when lifetime-limit is reached 2020-09-14 14:07:56 +07:00
Marten Seemann
3a4de205b0 add the AEAD_LIMIT_REACHED error code 2020-09-14 14:07:55 +07:00