Marten Seemann
ba095dd3ff
delete 0-RTT queues if no Initial is received within 100ms
2020-02-15 15:44:09 +07:00
Marten Seemann
2b7133a6e2
implement a queue for 0-RTT packets
2020-02-15 15:44:08 +07:00
Marten Seemann
abf55af7e9
Merge pull request #2345 from lucas-clemente/interop-qlog
...
export qlogs from the interop runner
2020-02-13 15:28:54 +07:00
Marten Seemann
577e9cf118
Merge pull request #2346 from lucas-clemente/fix-example-client-keylogfile
...
fix keylog creation in the example client
2020-02-13 15:23:46 +07:00
Marten Seemann
d6e4b100e8
fix keylog creation in the example client
2020-02-12 15:38:50 +07:00
Marten Seemann
5aaab80698
export qlog files if the QLOGDIR env is set in interop client and server
2020-02-12 12:03:51 +07:00
Marten Seemann
89728126cc
move function to create the TLS key log file to a separate file
2020-02-12 11:48:31 +07:00
Marten Seemann
dd035c2f12
Merge pull request #2323 from lucas-clemente/qlog
...
add basic support for qlog
2020-02-12 10:53:14 +07:00
Marten Seemann
a3fe9445cc
set the packet_size on the packet_received and packet_sent event
2020-02-12 10:42:38 +07:00
Marten Seemann
708189c9a2
sort the events before exporting
2020-02-12 10:42:38 +07:00
Marten Seemann
5a7f743733
qlog lost packets
2020-02-12 10:42:38 +07:00
Marten Seemann
f13ca7e791
qlog loss recovery metrics
2020-02-12 10:42:38 +07:00
Marten Seemann
a58bcb747b
qlog received Retry packets
2020-02-12 10:42:38 +07:00
Marten Seemann
b1a3e7a00b
add a -qlog flag to the example client and server
2020-02-12 10:42:38 +07:00
Marten Seemann
b031615db5
export a qlog when the session's run loop stops
2020-02-12 10:42:37 +07:00
Marten Seemann
391a419142
add the packet_received event
2020-02-12 10:36:28 +07:00
Marten Seemann
4d92dd05f9
add the packet_sent event
2020-02-12 10:36:28 +07:00
Marten Seemann
4763719051
implement marshalling of the trace
2020-02-12 10:36:27 +07:00
Marten Seemann
bfd745106c
determine the packet type from the QUIC header
2020-02-12 10:35:55 +07:00
Marten Seemann
e6d55ac467
implement marshalling of events
2020-02-12 10:35:55 +07:00
Marten Seemann
572ef44cf2
use GoJay to marshal JSON
...
GoJay doesn't use reflection to marshal JSON. This allows dramatically
faster encoding, as well as saving a large number of allocations.
2020-02-12 10:35:54 +07:00
Marten Seemann
2e59206a1e
implement marshalling of packet headers
2020-02-12 10:35:19 +07:00
Marten Seemann
60183f4fec
implement marshalling of frames
2020-02-12 10:35:19 +07:00
Marten Seemann
df5890ffab
Merge pull request #2340 from lucas-clemente/rtt-session-ticket-server
...
save the RTT in the session ticket and use it (on the server side)
2020-02-12 10:32:30 +07:00
Marten Seemann
cab9caaed5
Merge pull request #2342 from lucas-clemente/example-client-keylog
...
add a command line option to the example client to export a key log file
2020-02-12 00:49:48 +07:00
Marten Seemann
d498fc9463
Merge pull request #2343 from lucas-clemente/interop-key-log-file
...
use the SSLKEYLOGFILE env variable in the interop client and server
2020-02-12 00:49:24 +07:00
Marten Seemann
efde8443f1
use the SSLKEYLOGFILE env variable in the interop client and server
2020-02-11 17:37:16 +07:00
Marten Seemann
b412ed6d30
add a command line option to the example client to export a key log file
2020-02-11 13:22:11 +07:00
Marten Seemann
9ac52c5a0c
Merge pull request #2339 from lucas-clemente/config-clone
...
add a Clone() function to the Config
2020-02-11 13:14:44 +07:00
Marten Seemann
72c2f9464c
add a Clone() function to the Config
2020-02-11 13:03:19 +07:00
Marten Seemann
85abf5fc53
save the RTT in the session ticket and use it when accepting 0-RTT
2020-02-10 17:42:10 +07:00
Marten Seemann
8cde4ab638
refactor how session tickets are sent
...
Previously, RunHandshake() would send the session tickets. Now, the
session initiates the sending of the session ticket. This simplifies the
setup a bit, and it will make it possible to include the RTT estimate in
the session ticket without accessing the RTTStats concurrently.
2020-02-10 17:42:09 +07:00
Marten Seemann
3e32a693ad
introduce a marshaling format for data saved in the session ticket
2020-02-10 18:02:45 +08:00
Marten Seemann
a8fc893ec4
Merge pull request #2338 from lucas-clemente/delete-0rtt-session-tickets
...
delete session tickets after using them for 0-RTT
2020-02-10 12:01:42 +08:00
Marten Seemann
362192862a
Merge pull request #2334 from lucas-clemente/rtt-session-ticket
...
save the RTT along the session ticket and use it on resumed connections
2020-02-09 18:19:56 +01:00
Marten Seemann
70d8c0fbef
delete session tickets after using them for 0-RTT
2020-02-09 18:40:08 +08:00
Marten Seemann
182a25d2b9
don't use ASN.1 for marshalling data for the session ticket
2020-02-08 21:42:11 +01:00
Marten Seemann
69ab66ba82
save the RTT along the session ticket and use it on resumed connections
2020-02-08 21:42:11 +01:00
Marten Seemann
8ad95ce2d3
Merge pull request #2299 from lucas-clemente/server-run-loop
...
introduce a run loop in the server
2020-02-04 07:56:36 +01:00
Marten Seemann
93693349f3
collapse packetHandlerManager.Add and AddIfNotTaken into one function
2020-02-03 17:34:07 +01:00
Marten Seemann
634169b061
don't return a stateless reset token when adding a new connection ID
...
Both server and client didn't make use of the token. It was only used by
the connIDGenerator.
2020-02-03 17:31:47 +01:00
Marten Seemann
44c1092ed7
send Retry, Version Negotiation and SERVER_BUSY packets asynchronously
...
Now that there's only a single run loop in the server, we should make
sure to process incoming packets as quickly as possible. This especially
means not blocking on conn.Write().
2020-02-03 17:31:47 +01:00
Marten Seemann
7f0dc56d70
introduce a server run loop for handling packets
2020-02-03 17:31:47 +01:00
Marten Seemann
cf71bdd05a
use a MockPacketHandlerManager in all server tests
2020-02-03 17:31:47 +01:00
Marten Seemann
a576f26c83
Merge pull request #2333 from lucas-clemente/configure-cipher-suites
...
make the TLS cipher suites configurable
2020-02-03 17:22:02 +01:00
Marten Seemann
f91dfda8c3
make the TLS cipher suites configurable
2020-02-01 15:58:40 +07:00
Marten Seemann
54b38cac0f
Merge pull request #2331 from lucas-clemente/chacha20-bug-workaround
...
add a workaround for the ChaCha20 bug
2020-01-31 15:32:28 +07:00
Marten Seemann
5893e1ec28
add a workaround for the ChaCha20 bug
2020-01-31 12:19:58 +07:00
Marten Seemann
894530336c
Merge pull request #2330 from lucas-clemente/reject-0rtt-on-alpn-mismatch
...
reject 0-RTT on ALPN mismatch
2020-01-31 11:24:49 +07:00
Marten Seemann
8476b9c7e6
reject 0-RTT when the ALPN changed
2020-01-30 13:12:42 +07:00