Marten Seemann
ea14ce5724
Merge pull request #3134 from lucas-clemente/trace-acked-packets
...
make it possible to trace acknowledged packets
2021-04-02 17:33:19 +07:00
Marten Seemann
0c42736286
Merge pull request #3108 from lucas-clemente/avoid-packet-type-confusion
...
avoid type confusion between protocol.PacketType and logging.PacketType
2021-04-02 17:28:21 +07:00
Marten Seemann
8c388e0aaf
Merge pull request #3112 from lucas-clemente/fix-timeout-error-logging
...
fix duplicate logging of errors when the first error was a timeout error
2021-04-02 17:24:45 +07:00
Marten Seemann
6f00937e42
Merge pull request #3136 from lucas-clemente/improve-packetization-test
...
use a tracer to make the packetization test more useful
2021-04-02 17:22:29 +07:00
Marten Seemann
bd2dfd5107
Merge pull request #3118 from lucas-clemente/improve-timeout-error-string
...
improve string representation of timeout errors
2021-04-02 17:22:17 +07:00
Marten Seemann
905a66cc84
use a tracer to make the packetization test more useful
2021-04-02 17:04:01 +07:00
Marten Seemann
3376a9fa9f
Merge pull request #3105 from lucas-clemente/fix-flaky-timeout-test
...
fix flaky timeout test
2021-04-02 16:54:37 +07:00
Marten Seemann
c4073fba8a
simplify detection of acknowledgements for skipped packets
2021-04-02 11:37:08 +07:00
Marten Seemann
875692ea10
add a function to trace acknowledged packets
2021-04-02 11:37:07 +07:00
Ari Mattila
e098ccd2b3
fix calculation of the time for the next keep alive
2021-03-26 16:28:13 +07:00
Marten Seemann
afbb2b7b6a
improve string representation of timeout errors
2021-03-23 14:37:49 +08:00
Marten Seemann
04074fbea3
remove special treatment of timeout error when logging
2021-03-22 14:29:07 +08:00
Marten Seemann
154b55b50a
introduce a qerr.Err{Idle,Handshake}Timeout
2021-03-22 14:22:36 +08:00
Marten Seemann
e9b4f9ba07
avoid type confusion between protocol.PacketType and logging.PacketType
...
The enums have completely different meanings. protocol.PacketType only
defines long header types, whereas logging.PacketType defines all
different types of QUIC packets (including short header packets).
2021-03-21 12:56:52 +08:00
Marten Seemann
f71997597c
use a tracer to determine the idle timeout period in the integration test
2021-03-20 12:17:59 +08:00
Marten Seemann
45a432f100
save sent and received packets in the tracer used in integration tests
2021-03-20 11:57:55 +08:00
Marten Seemann
81d16a9903
Merge pull request #3098 from lucas-clemente/zero-rtt-conn-id-len-test
...
add a 0-RTT test with different connecton ID lengths
2021-03-19 18:52:07 +08:00
Marten Seemann
f25ec1b62c
add a 0-RTT test case using non-zero length connection IDs
2021-03-19 18:23:15 +08:00
Marten Seemann
749bbe4187
Merge pull request #3099 from lucas-clemente/fix-focus-detection-in-pre-commit
...
only run Ginkgo focus detection in staged files in pre-commit hook
2021-03-19 18:13:50 +08:00
Marten Seemann
28ba9c4f16
Merge pull request #3095 from lucas-clemente/fix-integration-test-debug-flag
...
fix evalution of DEBUG flag in integration test workflow
2021-03-19 18:13:35 +08:00
Marten Seemann
33a47fe661
remove superfluous function parameter in the 0-RTT integration tests
2021-03-19 18:09:36 +08:00
Marten Seemann
3b20133e84
Merge pull request #3096 from lucas-clemente/allow-zero-rtt-on-initial-window-increase
...
allow 0-RTT when flow control windows are increased
2021-03-19 17:52:52 +08:00
Marten Seemann
0b547e9657
Merge pull request #3097 from lucas-clemente/improve-0rtt-rejection-test
...
improve the 0-RTT rejection integration test
2021-03-19 17:52:22 +08:00
Marten Seemann
64f015fab4
only run Ginkgo focus detection in staged files in pre-commit hook
...
If a change is not staged (and therefore won't be committed), we don't care.
2021-03-19 14:46:21 +08:00
Marten Seemann
cc59aa0d2e
fix evalution of DEBUG flag in integration test workflow
2021-03-19 10:49:45 +08:00
Marten Seemann
d9c16ea5f1
improve the 0-RTT rejection integration test
2021-03-17 19:12:17 +08:00
Marten Seemann
31ac5ca60d
allow 0-RTT when the server's connection receive limit is increased
2021-03-17 18:53:54 +08:00
Marten Seemann
6c3876d6b3
allow 0-RTT when the server's stream receive limit is increased
2021-03-17 18:46:11 +08:00
Marten Seemann
522cad0ba8
Merge pull request #3089 from lucas-clemente/rename-flow-control-configs
...
rename config values for flow control limits
2021-03-17 17:49:18 +08:00
Marten Seemann
e5a83e1409
Merge pull request #3086 from lucas-clemente/accept-0rtt-on-stream-limit-increase
...
allow 0-RTT resumption if the server's stream limit was increased
2021-03-16 23:15:55 +08:00
Marten Seemann
7ea53e6c2c
rename the Config values for Max{Stream, Connection}ReceiveWindow
2021-03-16 23:15:18 +08:00
Marten Seemann
354bbb0e2e
rename the Config values for Initial{Stream, Connection}ReceiveWindow
2021-03-16 23:15:18 +08:00
Marten Seemann
f51eff48e9
Merge pull request #3093 from lucas-clemente/improve-packet-info
...
cache the serialized OOB in the conn, not in the packet info
2021-03-16 22:18:25 +08:00
Marten Seemann
74730c0083
Merge pull request #3094 from lucas-clemente/pktinfo-codepoint
...
use code points from x/sys/unix for PKTINFO syscalls
2021-03-16 22:18:02 +08:00
Marten Seemann
5073e300a6
Merge pull request #3092 from lucas-clemente/version-negotiation-failure-logging
...
make it possible to detect version negotiation failures in logging, fix qlogging of those
2021-03-16 22:17:34 +08:00
Marten Seemann
59eb3ed2fb
Merge pull request #3083 from lucas-clemente/configure-initial-flow-control-window
...
make the initial stream / connection flow control windows configurable
2021-03-16 22:17:08 +08:00
Marten Seemann
1d2756f9f7
Merge pull request #3085 from lucas-clemente/client-hold-tp-until-handshake-completion
...
only apply server's transport parameters after handshake completion
2021-03-16 22:16:46 +08:00
Marten Seemann
213304b597
Merge pull request #3087 from lucas-clemente/fix-update-send-window-doc
...
fix documentation for baseFlowController.UpdateSendWindow
2021-03-16 22:16:23 +08:00
Marten Seemann
8f42b1e45d
Merge pull request #3091 from lucas-clemente/http3-response-content-length
...
set the Content-Length for HTTP/3 responses
2021-03-16 22:16:09 +08:00
Marten Seemann
6102a9b308
Merge pull request #3088 from lucas-clemente/update-flow-control-for-0rtt-streams
...
update the flow control windows of streams opened in 0-RTT
2021-03-16 22:15:53 +08:00
Marten Seemann
4f94be16ee
use code points from x/sys/unix
2021-03-16 14:43:35 +08:00
Marten Seemann
162cb16b31
cache the serialized OOB in the conn, not in the packet info
...
We're allocating a lot of packetInfo structs during the lifetime of a
connection. It's better to keep that struct as small as possible.
2021-03-16 14:04:15 +08:00
Marten Seemann
1186a3ed79
fix file name for the oobConn tests
2021-03-16 13:52:46 +08:00
Marten Seemann
e9ea484aa4
Merge pull request #3067 from rs/packetinfo
...
Use the correct source IP when binding multiple IPs
2021-03-16 10:05:17 +08:00
Olivier Poitrey
eb6bdfdfc1
Use the correct source IP when binding multiple IPs
...
When the server is listening on multiple interfaces or interfaces with
multiple IPs, the outgoing datagrams are sometime delivered with the
wrong source IP address.
In order to fix that, each quic connection needs to extract the
destination IP (and optionally interface id) of the received datagrams,
and set it as source IP (and interface) on the sent datagrams.
On most platforms, this can be done using ancillary data with recvmsg()
and sendmsg(). Some of the machinery for this is already there for ECN,
this change extends it to read the destination IP info and write it to
the outgoing packets.
Fix #1736
2021-03-16 00:50:05 +01:00
Marten Seemann
d468a79339
fix qlogging of version mismatches on the connection_closed event
2021-03-15 13:36:49 +08:00
Marten Seemann
5208845191
introduce a logging.CloseReason for version negotiation errors
2021-03-15 13:36:45 +08:00
Marten Seemann
29f02e1bda
set the Content-Length for HTTP/3 responses
2021-03-15 13:09:09 +08:00
Marten Seemann
7cd4dea764
update the flow control windows of streams opened in 0-RTT
...
The server might have increased the initial flow control window. We need
to make sure to inform all streams opened during during the 0-RTT
period.
2021-03-12 15:09:50 +08:00
Marten Seemann
c27f5a55b3
rename sendStream.handleMaxStreamDataFrame to updateSendWindow
2021-03-12 13:36:23 +08:00