Marten Seemann
6b87198c10
use cryptographic random for determining skipped packet numbers
2020-12-15 17:46:41 +07:00
Marten Seemann
486738981f
Merge pull request #2905 from lucas-clemente/improve-packet-number-generator
...
various improvements to the packet number generator
2020-12-15 10:15:31 +07:00
Marten Seemann
4c0f0c47eb
Merge pull request #2930 from lucas-clemente/handshake-idle-timeout
...
introduce a quic.Config.HandshakeIdleTimeout, remove HandshakeTimeout
2020-12-15 08:35:44 +07:00
Marten Seemann
be476d90e0
Merge pull request #2936 from lucas-clemente/initial-conn-ids
...
allow up to 20 byte for the initial connection IDs
2020-12-14 23:39:51 +07:00
Marten Seemann
a769e8221b
Merge pull request #2932 from lucas-clemente/undecryptable-packets-allocation
...
reduce memory footprint of undecryptable packet handling
2020-12-14 23:36:03 +07:00
Marten Seemann
4f84c1b85a
Merge pull request #2934 from lucas-clemente/use-buffer-for-retries
...
use a buffer from the pool for composing Retry packets
2020-12-14 23:35:29 +07:00
Marten Seemann
f410eadb2c
Merge pull request #2935 from lucas-clemente/release-buffer-on-connection-close
...
release the packet buffer after sending a CONNECTION_CLOSE in the server
2020-12-14 23:31:46 +07:00
Marten Seemann
019850efd6
use a buffer from the pool for composing Retry packets
2020-12-14 11:55:42 +07:00
Marten Seemann
fb995161e7
release the packet buffer after sending a CONNECTION_CLOSE in the server
2020-12-14 11:51:09 +07:00
Marten Seemann
d226f70cd7
allow up to 20 byte for the initial connection IDs
2020-12-14 11:32:43 +07:00
Marten Seemann
c8626d89e5
assert that no undecryptable packets are queueud after the handshake
2020-12-11 12:17:04 +07:00
Marten Seemann
02139a4743
delete the slice of undecrytable packets when the handshake completes
2020-12-11 12:13:21 +07:00
Marten Seemann
736af5698a
don't preallocate a slice for undecryptable packets
...
Under normal conditions, we don't expect to receive any undecryptable
packets. We expect to receive a few when there's packet loss and / or
reordering during the handshake, but even in that case the number will
most likely be smaller than protocol.MaxUndecryptablePackets.
2020-12-11 12:12:17 +07:00
Marten Seemann
595f6f814a
introduce a quic.Config.HandshakeIdleTimeout, remove HandshakeTimeout
2020-12-08 16:12:39 +07:00
Marten Seemann
deacefdd34
Merge pull request #2891 from lucas-clemente/move-integration-tests-to-github-actions
...
move integration tests to GitHub Actions, disable Travis
2020-12-08 16:02:48 +07:00
Marten Seemann
02bdce9c05
move integration tests to GitHub Actions, disable Travis
2020-12-08 15:17:17 +07:00
Marten Seemann
431dff2172
reduce the number of skipped packet numbers for long connections
2020-12-06 12:54:39 +07:00
Marten Seemann
416d88990b
only skip packet numbers in the application data packet number space
2020-12-06 12:54:39 +07:00
Marten Seemann
e8e6c7b47e
use non-cryptographic random to generate skipped packet numbers
2020-12-06 12:54:39 +07:00
Marten Seemann
325bc1694d
Merge pull request #2927 from lucas-clemente/avoid-syscall
...
use golang.org/x/sys/unix instead of syscall
2020-12-06 12:19:23 +07:00
Marten Seemann
2525abb2c5
Merge pull request #2921 from lucas-clemente/qlog-connection-closed
...
add support for the connection_closed qlog event
2020-12-06 12:14:38 +07:00
Marten Seemann
f59cd928f8
use golang.org/x/sys/unix instead of syscall
2020-12-06 12:06:15 +07:00
Marten Seemann
2bf6c6aea4
add support for the connection_closed qlog event
2020-12-06 12:01:54 +07:00
Marten Seemann
2a52a9f9f0
Merge pull request #2863 from lucas-clemente/qlog-token-logging
...
qlog tokens in NEW_TOKEN frames, Retry packets and Initial packets
2020-12-06 11:44:02 +07:00
Marten Seemann
b83e156e9f
log tokens in NEW_TOKEN frames, Retry packets and Initial packets
2020-12-06 11:26:37 +07:00
Marten Seemann
b623a10b54
Merge pull request #2758 from lucas-clemente/qlog-packet-type
...
qlog the packet_type as part of the packet header, not the event itself
2020-12-06 11:20:03 +07:00
Marten Seemann
a7ddb348d4
Merge pull request #2736 from lucas-clemente/qlog-ndjson
...
use the new, streaming-friendly NDJSON-based qlog encoding
2020-12-06 11:19:39 +07:00
Marten Seemann
dd93d9640c
use the new, streaming-friendly NDJSON-based qlog encoding
2020-12-06 11:04:13 +07:00
Marten Seemann
4f557317a0
qlog the packet_type as part of the packet header, not the event itself
2020-12-06 10:51:21 +07:00
Marten Seemann
5a0ce24265
Merge pull request #2909 from lucas-clemente/qlog-generic-event
...
add a generic Debug() function to the connection tracer
2020-12-06 09:50:25 +07:00
Marten Seemann
df38b0a874
Merge pull request #2911 from lucas-clemente/replace-unnecessary-time-now-call
...
remove unnecessary call to time.Now() when sending a packet
2020-12-06 09:46:03 +07:00
Marten Seemann
ff1f433c36
add a generic Log() function to the connection tracer
2020-12-06 09:33:38 +07:00
Marten Seemann
ca671ac325
remove unnecessary call to time.Now() when sending a packet
2020-12-06 09:25:19 +07:00
Marten Seemann
5048006fc1
Merge pull request #2913 from lucas-clemente/remove-quictrace
...
remove support for quic-trace
2020-12-06 09:23:06 +07:00
Marten Seemann
eae8ad2fbb
Merge pull request #2887 from lucas-clemente/reduce-num-ack-ranges
...
reduce the maximum number of ACK ranges
2020-12-05 23:18:43 +07:00
Marten Seemann
02b700804f
remove support for quic-trace
2020-12-05 23:13:45 +07:00
Marten Seemann
6148ea9a46
Merge pull request #2914 from lucas-clemente/check-go-mod-tidy
...
check that go.mod is tidied
2020-12-05 21:16:21 +07:00
Marten Seemann
1ade038211
Merge pull request #2899 from lucas-clemente/dont-allocate-for-acked-packets
...
don't allocate for acked packets
2020-12-05 21:08:44 +07:00
Marten Seemann
1beb6f9649
Merge pull request #2898 from lucas-clemente/dont-allocate-for-lost-packets
...
avoid allocating when detecting lost packets
2020-12-05 21:05:45 +07:00
Marten Seemann
31b05bc249
Merge pull request #2892 from lucas-clemente/optimize-packet-handler-map-map-keys
...
use the string optimization for map keys in the packet handler map
2020-12-05 21:05:09 +07:00
Marten Seemann
5ff2222e38
Merge pull request #2890 from lucas-clemente/optimize-incoming-streams-map-map-access
...
use a single map in the incoming streams map
2020-12-05 21:04:15 +07:00
Marten Seemann
d1bc0c20b9
Merge pull request #2923 from lucas-clemente/receive-buffer-warning
...
improve the warning about the UDP receive buffer size
2020-12-04 10:37:51 +07:00
Marten Seemann
afe287e1e0
Merge pull request #2897 from lucas-clemente/immediately-delete-stateless-reset-tokens
...
immediately remove reset tokens when retiring a connection ID
2020-12-04 10:14:28 +07:00
Marten Seemann
18bcfce177
Merge pull request #2888 from lucas-clemente/cross-compile-test
...
cross compile quic-go for all platforms / architectures
2020-12-04 10:13:22 +07:00
Marten Seemann
db5e6f61e5
cross compile quic-go for all platforms / architectures
2020-12-04 09:36:01 +07:00
Marten Seemann
1db0bd4ac5
Merge pull request #2917 from lucas-clemente/add-gitignore
...
add common temporary file patterns to .gitignore
2020-12-04 09:24:40 +07:00
Marten Seemann
29f48d8d70
Merge pull request #2906 from lucas-clemente/chrome-compatibility-mode
...
disable key updates when using HTTP/3 to avoid breaking Chrome 87
2020-12-04 09:23:07 +07:00
Marten Seemann
d35cce1aa3
Merge pull request #2903 from lucas-clemente/fix-packet-number-decoding
...
fix decoding of packet numbers in different packet number spaces
2020-12-04 09:20:22 +07:00
Marten Seemann
baa0e425b7
Merge pull request #2912 from lucas-clemente/fix-sent-packet-qlog-order
...
log sent packet before logging its congestion / loss recovery effects
2020-12-04 09:19:56 +07:00
Marten Seemann
be40ef18ba
Merge pull request #2925 from lucas-clemente/fix-http3-server-getconfigforclient-nil
...
fix a crash in the http3.Server when GetConfigForClient returns nil
2020-12-04 09:17:10 +07:00