Commit Graph

2954 Commits

Author SHA1 Message Date
Marten Seemann
5102294991 use separate chans to signal handshake events and handshake completion 2018-10-26 16:11:25 +07:00
Marten Seemann
5fc2e12038 make the outgoing streams map work with stream 0
Stream 0 is now a valid stream ID used for application data, so the
streams map must be able to (block on) opening this stream.
2018-10-26 16:11:25 +07:00
Marten Seemann
08008b680e make the incoming streams map work with stream 0
Stream 0 is now a valid stream ID used for application data, so the
streams map must be able to accept this stream.
2018-10-26 16:11:25 +07:00
Marten Seemann
3516780264 change the label and the context of HKDF-Expand-Label
This now uses the draft-14 test vectors from the QUIC WG wiki.
2018-10-26 16:11:25 +07:00
Marten Seemann
99c5d0df25 rename qhkdfExpand to hkdfExpandLabel, add hash parameter 2018-10-26 16:11:25 +07:00
Marten Seemann
454a01b2a0 introduce the IETF QUIC encryption levels 2018-10-26 16:11:25 +07:00
Marten Seemann
d2a52a1433 implement parsing, writing and logging of CRYPTO frames 2018-10-26 16:11:25 +07:00
Marten Seemann
a97536913b Merge pull request #1553 from lucas-clemente/unique-transport-parameters
check that every transport parameter is sent at most once
2018-10-25 10:15:44 +07:00
Marten Seemann
f507197d99 Merge pull request #1550 from lucas-clemente/fix-1530
only allow a single retry
2018-10-25 07:42:39 +07:00
Marten Seemann
a7f94d89b6 only allow a single retry 2018-10-24 23:48:33 +07:00
Marten Seemann
74952a4331 check that every transport parameter is sent at most once 2018-10-24 23:33:37 +07:00
Marten Seemann
cfc8a904d5 Merge pull request #1544 from lucas-clemente/optimize-timers
optimize stream deadline timers
2018-10-20 10:50:14 +09:00
Marten Seemann
e0a7b50edf use a time.Timer for write deadlines 2018-10-20 10:12:03 +09:00
Marten Seemann
d9edacf711 use a time.Timer for read deadlines 2018-10-18 18:01:03 +01:00
Marten Seemann
93c7eb94ce Merge pull request #1533 from lucas-clemente/split-packet-packers
split packet packers
2018-10-15 11:27:33 +02:00
Marten Seemann
9a8fc494da Merge pull request #1541 from lucas-clemente/fix-pn-gen
actually skip packet numbers
2018-10-15 11:26:29 +02:00
Marten Seemann
fbc3041e4d add logging for skipped packet numbers 2018-10-14 21:39:18 +01:00
Marten Seemann
b2aec3403e actually generate gaps in packet number space 2018-10-14 20:20:15 +02:00
Marten Seemann
788dbeb686 be more explicit about ignoring errors in the packet number generator 2018-10-14 20:15:50 +02:00
Marten Seemann
5df98dc389 split the packet packer into two structs, for gQUIC and for IETF QUIC 2018-10-09 23:05:23 +01:00
Marten Seemann
225106b58c Merge pull request #1540 from lucas-clemente/packet-packer-tests
improve the packet packer tests
2018-10-09 10:30:24 +02:00
Lucas Clemente
05abe81c50 Merge pull request #1538 from ludweeg/ludweeg/assignOp
simplify `x = x <op> ...` to `x <op>= ...`
2018-10-09 09:59:06 +02:00
Marten Seemann
b000c32796 use a mock sealing manager in the packet packer tests 2018-10-06 06:49:37 +02:00
Marten Seemann
c90b4d91d1 rename some variables in the packet packer tests 2018-10-06 06:49:37 +02:00
ludweeg
8ff3bf8ca6 simplify x = x <op> ... to x <op>= ... 2018-10-06 01:59:45 +03:00
Marten Seemann
085a777e05 Merge pull request #1537 from lucas-clemente/improve-client-hostname-handling
use tls.Config.ServerName for the passing the hostname around
2018-10-04 13:04:20 +02:00
Marten Seemann
c1f55ba910 use tls.Config.ServerName for the passing the hostname around 2018-10-02 14:47:18 -07:00
Marten Seemann
91b0f15046 Merge pull request #1532 from lucas-clemente/more-packet-packer-refactoring
simplify the packet packer
2018-10-02 09:30:09 -07:00
Marten Seemann
562043a26c Merge pull request #1536 from lucas-clemente/quiet-example-client
add a quiet flag to the example client
2018-10-02 09:22:33 -07:00
Marten Seemann
69d3929ae0 add a quiet flag to the example client 2018-10-01 19:33:06 -07:00
Marten Seemann
25847cfc30 handle the crypto stream separately in the packet packer 2018-10-01 11:25:57 -07:00
Marten Seemann
f68621485f simplify splitting of STREAM frames for retransmissions 2018-09-28 22:56:45 -06:00
Marten Seemann
06db39836b move queueing of control frames to the framer 2018-09-28 21:04:57 -06:00
Marten Seemann
9f5bfbe292 handle the transport parameters in the packet packer 2018-09-28 15:21:29 -06:00
Marten Seemann
caf8da9adc Merge pull request #1531 from lucas-clemente/packet-packer-refactoring
simplify packing of packets
2018-09-28 10:29:12 -06:00
Marten Seemann
7034481d9e get ACK and STOP_WAITING frames in the packet packer 2018-09-28 09:51:05 -06:00
Marten Seemann
c476eaf019 move determining the maximum packet size to a separate function 2018-09-28 09:28:45 -06:00
Marten Seemann
641ab6390f append STREAM frames to the slice of frames when packing a packet 2018-09-28 09:28:45 -06:00
Marten Seemann
2a23a82da6 Merge pull request #1528 from lucas-clemente/fix-1523
merge ACK and ACK_ECN into a single frame
2018-09-28 08:32:43 -06:00
Marten Seemann
5e0dfc4398 Merge pull request #1527 from lucas-clemente/stop-listener-in-server-tests
stop the listener in the server unit tests
2018-09-28 08:31:27 -06:00
Marten Seemann
a519b3dbc5 Merge pull request #1526 from lucas-clemente/dont-send-packets-after-closing
don't try to send packets after closing the session
2018-09-28 07:57:49 -06:00
Marten Seemann
4696564288 Merge pull request #1525 from lucas-clemente/fix-receiving-transport-params
don't send a packet after receiving the transport parameters
2018-09-28 07:56:41 -06:00
Marten Seemann
41808516c8 merge ACK and ACK_ECN into a single frame 2018-09-27 12:11:52 -06:00
Marten Seemann
2d10796bc2 stop the listener in the server unit tests 2018-09-27 11:55:39 -06:00
Marten Seemann
fdb9d2d495 don't try to send packets after closing the session 2018-09-27 09:18:02 -06:00
Marten Seemann
87c22187a9 don't send a packet after receiving the transport parameters 2018-09-27 09:16:51 -06:00
Marten Seemann
d227c4edf7 Merge pull request #1524 from lucas-clemente/fix-ack-after-congestion-limited
don't try to send an ACK immediately after becoming congestion limited
2018-09-25 22:55:43 -06:00
Marten Seemann
7b9d3a6217 don't try to send an ACK immediately after becoming congestion limited 2018-09-24 18:54:47 -06:00
Marten Seemann
1f9b59693c Merge pull request #1522 from lucas-clemente/hkdf
remove dependency on mint for HKDF
2018-09-20 14:13:51 -04:00
Marten Seemann
a1bea2c3af implement HKDF expansion 2018-09-20 13:54:16 -04:00