Commit Graph

4887 Commits

Author SHA1 Message Date
Marten Seemann
ce5ddc050c add a flag to disable conn ID generation and the check for retired conn IDs 2020-07-09 10:40:56 +07:00
Luke Tucker
3c1e597858 don't block sendQueue.Send() if the runloop already exited.
This can lead to a deadlock where session.shutdown() never exits
because it is blocked on a Send() but the sendQueue has exited due to
a write error.
2020-07-08 09:41:22 -04:00
Marten Seemann
953f3472cf Merge pull request #2657 from lucas-clemente/fix-pto-count-on-dropping-packet-number-space
reset the PTO count before setting the timer when dropping a PN space
2020-07-08 15:38:38 +07:00
Marten Seemann
2def5abe6f Merge pull request #2651 from lucas-clemente/enforce-conn-id-retirement-packet-conn-id
enforce that a connection ID is not retired in a packet that uses that connection ID
2020-07-08 14:57:57 +07:00
Marten Seemann
33fc464bac use PROTOCOL_VIOLATION for invalid RETIRE_CONNECTION_ID frames 2020-07-08 12:24:15 +07:00
Marten Seemann
25db2166dd enforce that a conn ID is not retired in a packet that uses that conn ID 2020-07-08 12:06:57 +07:00
Marten Seemann
5227fef1a3 Merge pull request #2652 from lucas-clemente/fix-retiring-of-active-conn-id
don't retire the conn ID that's in use when receiving a retransmission
2020-07-08 12:05:15 +07:00
Marten Seemann
743ba962aa reset the PTO count before setting the timer when dropping a PN space 2020-07-08 11:51:56 +07:00
Marten Seemann
84bf12bfda Merge pull request #2649 from lucas-clemente/fix-flaky-cancelation-test
fix flaky cancelation integration test
2020-07-07 22:23:27 +07:00
Marten Seemann
37b072492f Merge pull request #2648 from lucas-clemente/fix-qlog-nil-writecloser
fix crash when the qlog callbacks returns a nil io.WriteCloser
2020-07-07 19:03:39 +07:00
Marten Seemann
7c1e5da245 Merge pull request #2645 from lucas-clemente/fix-flaky-server-test
fix flaky server test on Travis
2020-07-07 19:03:17 +07:00
Marten Seemann
34f0c93e88 don't retire the conn ID that's in use when receiving a retransmission 2020-07-06 17:54:00 +07:00
Marten Seemann
b5a3ff028d fix flaky cancellation integration test 2020-07-06 15:28:29 +07:00
Marten Seemann
6dcc88536d fix crash when the qlog callbacks returns a nil io.WriteCloser 2020-07-06 15:03:48 +07:00
Marten Seemann
d4720e43c7 fix a typo in the logging package test suite 2020-07-06 13:24:47 +07:00
Marten Seemann
084e4feb9b fix flaky server test on Travis 2020-07-06 11:21:08 +07:00
Marten Seemann
05f9428b34 Merge pull request #2643 from lucas-clemente/logging-types
introduce type aliases in the logging package
2020-07-06 09:53:15 +07:00
Marten Seemann
ed120f670c add logging aliases for frames, create a logging.STREAM and CRYPTO frame 2020-07-06 09:21:32 +07:00
Marten Seemann
fea17a671b introduce type aliases for internal types in the logging package 2020-07-06 08:47:42 +07:00
Marten Seemann
d4dc08b208 move all stringifation of qlog events to the qlog package 2020-07-06 08:26:37 +07:00
Marten Seemann
673a9f40e4 Merge pull request #2644 from lucas-clemente/rename-frame-fields
rename frame fields to the names used in the draft
2020-07-06 08:25:51 +07:00
Marten Seemann
838dd6e81a rename StreamFrame.FinBit to Fin 2020-07-02 16:41:43 +07:00
Marten Seemann
865332015c rename ResetStreamFrame.ByteOffset to FinalSize 2020-07-02 16:41:43 +07:00
Marten Seemann
cc340b2887 rename StreamDataBlockedFrame.DataLimit to MaximumStreamData 2020-07-02 16:41:43 +07:00
Marten Seemann
fa07078d81 rename DataBlockedFrame.DataLimit to MaximumData 2020-07-02 16:41:43 +07:00
Marten Seemann
5466de6565 rename MaxStreamDataFrame.ByteOffset to MaximumStreamData 2020-07-02 16:41:43 +07:00
Marten Seemann
f4519cfd32 rename MaxDataFrame.ByteOffset to MaximumData 2020-07-02 16:41:43 +07:00
Marten Seemann
00f8028e52 Merge pull request #2638 from lucas-clemente/logging-tracer
split the qlog package into a logging and a qlog package, use a tracer interface in the quic.Config
2020-07-01 17:09:47 +07:00
Marten Seemann
ac606222e0 replace the GetLogWriter quic.Config option by a Tracer interface 2020-07-01 16:57:03 +07:00
Marten Seemann
4121ea84f4 rename the logging.Tracer to ConnectionTracer 2020-07-01 16:57:01 +07:00
Marten Seemann
7f6eca84da replace the logging.Export() method by a Close() method 2020-07-01 16:54:44 +07:00
Marten Seemann
7fdace490c rename qlogger (member) variables to tracer 2020-07-01 16:53:45 +07:00
Marten Seemann
78ba619a0b split the qlog package into a logging and a qlog package 2020-07-01 16:49:24 +07:00
Marten Seemann
7c42d7941a Merge pull request #2642 from lucas-clemente/fix-http-request-body-read-with-eof
fix HTTP request writing if the Request.Body reads data and returns EOF
2020-07-01 15:49:37 +07:00
Marten Seemann
b8f36f35d5 fix HTTP request writing if the Request.Body reads data and returns EOF 2020-07-01 15:31:24 +07:00
Marten Seemann
5eb2bb8b4c Merge pull request #2640 from lucas-clemente/rewrite-version-negotiation-handling
handle Version Negotiation packets in the session
2020-07-01 15:24:19 +07:00
Marten Seemann
cabfada038 Merge pull request #2634 from lucas-clemente/increase-initial-packet-size
increase the packet size of the client's Initial packet
2020-07-01 15:18:31 +07:00
Marten Seemann
0ea581473e Merge pull request #2637 from lucas-clemente/server-assertion
introduce an assertion in the server
2020-07-01 15:18:17 +07:00
Marten Seemann
a98071b97e Merge pull request #2631 from lucas-clemente/simplify-session-ticket-interface
use the new qtls interface for (re)storing app data with a session state
2020-07-01 14:25:05 +07:00
Marten Seemann
06ad477b9b handle Version Negotiation packets in the session 2020-07-01 14:19:45 +07:00
Marten Seemann
6b42c7a045 Merge pull request #2626 from lucas-clemente/dont-buffer-http-request
remove buffering of HTTP requests
2020-07-01 14:09:20 +07:00
Marten Seemann
7bcb25f18d introduce an assertion in the server 2020-07-01 14:02:14 +07:00
Marten Seemann
2e46110d60 increase the packet size of the client's Initial packet 2020-07-01 14:01:06 +07:00
Marten Seemann
07d4fd0991 use the new qtls interface for (re)storing app data with a session state
Application data is now retrieved and restored via two callbacks on the
qtls.Config. This allows us the get rid of the rather complex wrapping
of the qtls.ClientSessionCache. Furthermore, it makes sure that we only
restore the application data when qtls decides to actually use the
ticket.
2020-07-01 14:00:08 +07:00
Marten Seemann
f926945ae5 Merge pull request #2632 from lucas-clemente/remove-superfluous-0rtt-logging
remove superfluous parameters logged when not doing 0-RTT
2020-07-01 13:55:37 +07:00
Marten Seemann
eb57da6c11 Merge pull request #2636 from lucas-clemente/fix-bandwidth-estimate-for-short-rtts
return an infinite bandwidth if the RTT is zero
2020-07-01 13:54:45 +07:00
Marten Seemann
f65154b01e Merge pull request #2628 from lucas-clemente/drop-go-1.13
drop support for Go 1.13
2020-07-01 13:53:56 +07:00
Marten Seemann
a20c5f8db0 return an infinite bandwidth if the RTT is zero 2020-06-28 14:55:47 +07:00
Marten Seemann
3e454ad2f7 remove superfluous parameters logged when not doing 0-RTT 2020-06-27 14:33:11 +07:00
Marten Seemann
e3a5c31bac add an integration test for streaming HTTP messages in a request 2020-06-27 11:43:00 +07:00