Commit Graph

4922 Commits

Author SHA1 Message Date
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
Marten Seemann
ba9f98d83a Merge pull request #2770 from lucas-clemente/key-update-error
use the KEY_UPDATE_ERROR
2020-09-14 14:01:43 +07:00
Marten Seemann
891c129024 Merge pull request #2769 from lucas-clemente/fix-dropping-of-key-phase-0
fix dropping of key phase 0
2020-09-14 14:00:37 +07:00
Marten Seemann
e9906b4d2b Merge pull request #2768 from lucas-clemente/reduce-handshake-drop-timeout
reduce the handshake timeout to two minutes in the handshake drop tests
2020-09-14 14:00:31 +07:00
Marten Seemann
654ec69f7c Merge pull request #2777 from lucas-clemente/fix-tls-handshake-message-handling
fix handling of multiple handshake messages in the case of errors
2020-09-14 13:59:22 +07:00
Marten Seemann
5045d5bb70 Merge pull request #2775 from lucas-clemente/more-linters
enable more linters, update golangci-lint to v1.31
2020-09-14 13:55:24 +07:00
Marten Seemann
bd0c8fca75 Merge pull request #2774 from lucas-clemente/increase-stream-deadline-test
increase the threshold for the receive stream deadline test
2020-09-14 13:55:05 +07:00
Marten Seemann
0abeffa75f Merge pull request #2779 from lucas-clemente/bytes-in-flight-assertion
add an assertion that bytes_in_flight never becomes negative
2020-09-14 13:54:34 +07:00
Marten Seemann
8ad6ef0c45 Merge pull request #2778 from lucas-clemente/fix-handshake-fuzz-race
fix race condition in handshake fuzz code
2020-09-14 13:54:19 +07:00
Marten Seemann
3ef77b0c1a add an assertion that bytes_in_flight never becomes negative 2020-09-14 10:32:32 +07:00
Marten Seemann
779c917450 fix race condition in handshake fuzz code 2020-09-13 23:15:36 +07:00
Marten Seemann
c9bfde9ac0 fix handling of multiple handshake messages in the case of errors
When receiving a handshake message after another handshake messages that
doesn't cause any action from the TLS stack (i.e. Certificate and
CertificateVerify), the handshake would run into a deadlock if the first
of these handshake messages caused an error in the TLS stack.

We need to make sure that we wait until a message has been fully
processed before proceeding with the handshake.
2020-09-13 20:13:57 +07:00
Marten Seemann
8bf5c782e3 Merge pull request #2746 from lucas-clemente/handshake-fuzz-tls-config
use more tls.Config options in the handshake fuzzer
2020-09-12 12:17:37 +07:00
Marten Seemann
382c923a67 use more tls.Config options in the handshake fuzzer 2020-09-12 11:55:09 +07:00
Marten Seemann
adadc06181 Merge pull request #2743 from lucas-clemente/handshake-fuzz-session-resumption
run two handshakes in the handshake fuzzer
2020-09-12 11:54:25 +07:00
Marten Seemann
4414060017 update golangci-lint to v1.31 2020-09-12 11:41:04 +07:00
Marten Seemann
5d24d3b68f enable the exportloopref linter 2020-09-12 11:38:52 +07:00
Marten Seemann
f886be4cce enable the gofmt linter 2020-09-12 11:26:37 +07:00
Marten Seemann
b944882337 enable the asciicheck linter 2020-09-12 11:23:19 +07:00