Commit Graph

4858 Commits

Author SHA1 Message Date
Marten Seemann
12c9427f43 save dummy packets in the packet history when skipping packet numbers 2020-09-11 11:01:30 +07:00
Marten Seemann
0044a69d73 also pass non-ack-eliciting packets to packet history (but don't save) 2020-09-11 11:01:29 +07:00
Marten Seemann
74f2610349 Merge pull request #2750 from lucas-clemente/rtt-measurement-for-lost-packets
delete unacknowledged packets from the packet history after 3 PTOs
2020-09-11 10:58:31 +07:00
Marten Seemann
8f4257a883 delete unacknowledged packets from the packet history after 3 PTOs 2020-09-10 18:51:05 +07:00
klzgrad
c81eeb8bb8 add support for the HTTP CONNECT method (#2761) 2020-09-10 18:05:55 +07:00
Marten Seemann
c5a132f158 Merge pull request #2762 from lucas-clemente/drop-old-keys-after-confirmed-key-update
don't drop keys for key phase N before receiving a N+1-protected packet
2020-09-10 11:35:39 +07:00
Marten Seemann
854940cecc don't drop keys for key phase N before receiving a N+1-protected packet 2020-09-10 11:11:59 +07:00
Marten Seemann
8c348c2d59 Merge pull request #2756 from lucas-clemente/handle-aead-errors
close session on errors unpacking errors other than decryption errors
2020-09-10 10:24:01 +07:00
Marten Seemann
67decc5df9 Merge pull request #2765 from lucas-clemente/log-key-retirements
log when an old 1-RTT key is retired
2020-09-10 10:23:02 +07:00
Marten Seemann
a528c4c4da close session on errors unpacking errors other than decryption errors 2020-09-09 23:59:24 +07:00
Marten Seemann
ca0f0a8ac2 Merge pull request #2757 from lucas-clemente/key-phase-error-on-successful-decryption
only return an invalid first key phase error for decryptable packets
2020-09-09 23:58:59 +07:00
Marten Seemann
074f5a202e log when old 1-RTT keys are dropped 2020-09-09 23:53:47 +07:00
Marten Seemann
dbaacd49bd add a logging event for dropping 1-RTT keys 2020-09-09 23:53:47 +07:00
Marten Seemann
9e1d65f4c9 Merge pull request #2764 from lucas-clemente/fix-local-key-update-logging
fix logging of locally initiated key updates
2020-09-09 23:52:52 +07:00
Marten Seemann
8e9ca5a186 Merge pull request #2744 from lucas-clemente/improve-timeout-test
test that both endpoints time out in the timeout integration test
2020-09-09 23:51:05 +07:00
Marten Seemann
a44c4f517f Merge pull request #2747 from lucas-clemente/simplify-sent-packet-history
refactor RTT measurements to simplify the sentPacketHistory
2020-09-09 23:50:26 +07:00
Marten Seemann
ade2882ef4 fix logging of locally initiated key updates 2020-09-09 23:22:10 +07:00
Marten Seemann
d89a446243 Merge pull request #2752 from lucas-clemente/fix-0rtt-packets-dropping
fix dropping of 0-RTT packets
2020-09-09 23:20:03 +07:00
Marten Seemann
6e1c756ec2 Merge pull request #2763 from lucas-clemente/always-qlog-1rtt-key-generation
always qlog the generation of 1-RTT key updates
2020-09-09 23:17:56 +07:00
Marten Seemann
391ebbe2db Merge pull request #2766 from lucas-clemente/move-logging-packet-header
move the PacketHeader struct from logging to qlog package
2020-09-09 23:17:15 +07:00
Marten Seemann
86124bbd32 Merge pull request #2751 from lucas-clemente/encryption-level-uint8
use a uint8 for the EncryptionLevel
2020-09-09 23:14:59 +07:00
Marten Seemann
e0824e3163 move the logging mock implementations to a separate package 2020-09-09 15:15:49 +07:00
Marten Seemann
bccf857b5d always qlog the generation of 1-RTT key updates 2020-09-09 13:37:30 +07:00
Marten Seemann
704bd78445 move the PacketHeader struct from logging to qlog package 2020-09-09 13:17:59 +07:00
Marten Seemann
34c325919c only return an invalid first key phase error for decryptable packets 2020-09-07 21:12:54 +07:00
Marten Seemann
ad40c9cc83 fix dropping of 0-RTT packets 2020-09-07 16:00:16 +07:00
Marten Seemann
dc3d5618fc use a uint8 for the EncryptionLevel 2020-09-07 14:36:18 +07:00
Marten Seemann
c7af1dc045 refactor RTT measurements to simplify the sentPacketHistory 2020-09-06 14:16:11 +07:00
Marten Seemann
980c840359 test that both endpoints time out in the timeout integration test 2020-09-05 18:10:44 +07:00
Marten Seemann
bed802aee5 Merge pull request #2739 from lucas-clemente/fix-handshake-fuzzer-enclevel
make sure to only pass handshake messages that keys are available for
2020-09-04 21:28:12 +07:00
Marten Seemann
561ac68d33 Merge pull request #2740 from lucas-clemente/fix-handshake-fuzz-double-close
only close the handshake fuzz runner once
2020-09-04 21:27:55 +07:00
Marten Seemann
8251b3614f only close the handshake fuzz runner once 2020-09-04 11:40:49 +07:00
Marten Seemann
3f40b2f19a make sure to only pass handshake messages that keys are available for 2020-09-04 10:46:05 +07:00
Marten Seemann
cd78ea9020 Merge pull request #2738 from lucas-clemente/fix-handshake-fuzzer
generate a self-signed certificate for the handshake fuzzer
2020-09-03 11:25:57 +07:00
Marten Seemann
b3c28ef2ea generate a self-signed certificate for the handshake fuzzer 2020-09-03 10:52:52 +07:00
Marten Seemann
eaf5f47308 Merge pull request #2734 from lucas-clemente/err-deadline-exceeded
use the os.ErrDeadlineExceeded for stream deadline errors on Go 1.15
2020-09-03 09:08:35 +07:00
Marten Seemann
3f7fb9c6c8 Merge pull request #2732 from lucas-clemente/github-actions-unit-tests
use GitHub Actions to run unit tests
2020-09-03 09:06:01 +07:00
Marten Seemann
576ea41ef9 Merge pull request #2733 from lucas-clemente/fuzz-handshake
add a basic fuzzer for the handshake
2020-09-02 10:41:38 +07:00
Marten Seemann
7f4b8a5914 add a basic fuzzer for the handshake 2020-09-02 10:22:01 +07:00
Marten Seemann
fefdea3420 use the os.ErrDeadlineExceeded for stream deadline errors on Go 1.15 2020-08-31 14:50:07 +07:00
Marten Seemann
97b0b6d5c7 use GitHub Actions to run unit tests, disable AppVeyor 2020-08-28 20:14:44 +07:00
Marten Seemann
b21822ffc7 make it easier to test the timer in the zeroRTTQueue 2020-08-28 18:03:51 +07:00
Marten Seemann
7c204d4d9e Merge pull request #2731 from lucas-clemente/fuzzing-helper
export seed corpus files using the SHA1 of the content as the filename
2020-08-25 15:26:20 +07:00
Marten Seemann
a1c4daa212 use fuzzing helper functions to generate transport parameter seed corpus 2020-08-25 15:06:01 +07:00
Marten Seemann
5090dd6199 use the fuzzing helper functions to generate the frames seed corpus 2020-08-25 15:06:01 +07:00
Marten Seemann
745e51ac4f use the fuzzing helper functions to generate the header seed corpus 2020-08-25 15:06:01 +07:00
Marten Seemann
9a8e39327b implement a function to export a corpus file
The file name of that file is calculated to be the SHA1 sum of the contents.
2020-08-25 15:06:00 +07:00
Marten Seemann
274b898ad3 Merge pull request #2730 from lucas-clemente/token-fuzzing
add a fuzz target for the token generator
2020-08-25 13:58:14 +07:00
Marten Seemann
8b96db3a84 add a fuzz target for the token generator 2020-08-23 17:06:18 +07:00
Marten Seemann
556bf18dbf inject a random source into the token protector 2020-08-23 17:06:17 +07:00