Commit Graph

3815 Commits

Author SHA1 Message Date
Marten Seemann
81be522bf3 identify connections by their local addr when adding to the multiplexer 2019-09-04 06:39:27 +07:00
Marten Seemann
d689f9a392 Merge pull request #2098 from lucas-clemente/fix-crypto-setup-close-deadlock
fix deadlock when the crypto setup is closed while qtls writes messages
2019-09-01 11:17:42 +07:00
Marten Seemann
bcac555574 Merge pull request #2096 from lucas-clemente/stream-retransmissions
handle retransmissions for STREAM frames at each stream
2019-08-31 17:59:19 +07:00
Marten Seemann
3550aea322 Merge pull request #2099 from lucas-clemente/stateless-reset-size
rework stateless reset size
2019-08-31 17:40:09 +07:00
Marten Seemann
94ab4e8d24 cancel retransmissions for streams that were reset 2019-08-31 17:37:20 +07:00
Marten Seemann
f49451ce3c queue lost STREAM frames in the stream's retransmission queue 2019-08-31 17:36:16 +07:00
Marten Seemann
3525a51ada add an OnAcked callback to ackhandler.Frames 2019-08-31 17:34:54 +07:00
Marten Seemann
0edb3f2b93 return ackhandler.Frames from sendStream.popStreamFrame 2019-08-31 17:34:54 +07:00
Marten Seemann
e622207822 assemble ackhandler.Frames, not wire.Frames, when packing a packet 2019-08-31 17:34:54 +07:00
Marten Seemann
93d5d15e3b implement a STREAM frame retransmission queue in the sendStream 2019-08-31 17:34:54 +07:00
Marten Seemann
dd6e8a7424 Merge pull request #2095 from lucas-clemente/frame-retransmisions
retransmit frames, not packets
2019-08-31 17:34:10 +07:00
Marten Seemann
ab65e39c3b Merge pull request #2091 from lucas-clemente/request-cancelation
implement HTTP request cancelations
2019-08-31 17:32:25 +07:00
Marten Seemann
1a6d2ad0bd Merge pull request #2090 from lucas-clemente/h3-alpn-handling
rework H3 ALPN handling
2019-08-31 17:32:12 +07:00
Marten Seemann
b8c89bc905 Merge pull request #2092 from lucas-clemente/max-ack-delay-overflow
handle negative max_ack_delay values in the transport parameters
2019-08-31 17:13:40 +07:00
Marten Seemann
0063b1e945 Merge pull request #2061 from lucas-clemente/fix-ack-delay-with-non-monotonic-clock
make sure that the ACK delay time is always a positive value
2019-08-31 17:10:28 +07:00
Marten Seemann
7cd671bb8e Merge pull request #2100 from lucas-clemente/increase-early-data-handshake-timeout
increase the handshake timeout in the early data integration test
2019-08-31 17:04:35 +07:00
Marten Seemann
e35d845335 Merge pull request #2101 from lucas-clemente/stop-sending-error-code
copy error code from the STOP_SENDING frame to the RESET_STREAM frame
2019-08-31 17:04:08 +07:00
Marten Seemann
2836442a65 copy error code from the STOP_SENDING frame to the RESET_STREAM frame 2019-08-31 12:51:02 +07:00
Marten Seemann
709c0dbb7e increase the handshake timeout in the early data integration test 2019-08-31 12:41:42 +07:00
Marten Seemann
d02fd5178a adjust the minimum size for stateless resets to the new header format 2019-08-31 12:33:53 +07:00
Marten Seemann
96db15c836 accept smaller stateless resets 2019-08-31 12:31:41 +07:00
Marten Seemann
e224768e46 fix deadlock when the crypto setup is closed while qtls writes messages 2019-08-31 11:59:44 +07:00
Marten Seemann
1d392b4276 retransmit frames instead of packets 2019-08-29 15:00:10 +07:00
Marten Seemann
515c21dd1d simplify splitting of STREAM frames 2019-08-29 11:15:59 +07:00
Marten Seemann
5fa38a83fa remove tracking of which packet is retransmission of which other packet 2019-08-26 14:38:37 +07:00
Marten Seemann
a3d6f08074 move the ackhandler.Packet to the ackhandler interface file 2019-08-26 09:55:42 +07:00
Marten Seemann
2329d0e21e handle negative max_ack_delay values in the transport parameters 2019-08-25 16:15:34 +07:00
Marten Seemann
f1d14ecdea Merge pull request #2042 from lucas-clemente/token-cache
implement a store for address validation tokes
2019-08-25 14:02:16 +07:00
Marten Seemann
48f5a18b2c Merge pull request #2081 from lucas-clemente/send-queue
implement a send queue to send packet asynchronously
2019-08-24 16:46:32 +07:00
Marten Seemann
00c19f7241 implement a send queue to send packet asynchronously 2019-08-24 15:25:38 +07:00
Marten Seemann
328dd2c848 set the H3 ALPN on tls.Configs returned by GetConfigForClient 2019-08-24 15:23:37 +07:00
Marten Seemann
fd30146de5 replace the list of ALPN instead of appending to it in http3 2019-08-24 15:22:36 +07:00
Marten Seemann
e3e2851c24 add an integration test for HTTP request cancelations 2019-08-24 15:16:10 +07:00
Marten Seemann
f4621e280e remove stray TODO in the HTTP/3 client 2019-08-24 10:41:41 +07:00
Marten Seemann
0a298f2aef implement client-side request cancelations 2019-08-24 09:47:49 +07:00
Marten Seemann
4247c2f06d Merge pull request #2087 from lucas-clemente/fuzz-frames
fuzz the frame parser
2019-08-24 09:05:33 +07:00
Marten Seemann
1ff6c04bdd add .gitignore entries for fuzzing 2019-08-24 08:54:56 +07:00
Marten Seemann
20557738a0 fuzz the frame parser 2019-08-24 08:54:56 +07:00
Marten Seemann
d77368af36 Merge pull request #2083 from lucas-clemente/simplify-largest-acked-tracking
simplify ackhandler.Packet
2019-08-24 08:29:05 +07:00
Marten Seemann
fcc34357dc Merge pull request #2078 from lucas-clemente/speed-up-header-encryption
speed up header encryption / decryption
2019-08-24 08:28:19 +07:00
Marten Seemann
53b32337df Merge pull request #2079 from lucas-clemente/speed-up-aead-overhead
speed up updatableAEAD.Overhead()
2019-08-23 23:19:59 +07:00
Marten Seemann
f0a62c05df Merge pull request #2085 from lucas-clemente/harden-http3
check the size of HTTP3 HEADERS frames before allocating
2019-08-23 23:18:54 +07:00
Marten Seemann
f7035b7b6a Merge pull request #2077 from lucas-clemente/speed-up-is-ack-eliciting
simplify (and speed up) IsFrameAckEliciting
2019-08-23 23:00:28 +07:00
Marten Seemann
c41b68033c Merge pull request #2080 from lucas-clemente/inline-varintlen
make sure that VarIntLen can be inlined
2019-08-23 22:59:51 +07:00
Marten Seemann
fcb8eda7ef Merge pull request #2084 from lucas-clemente/fix-http-body-closing
fix closing of http.Response and http.Request bodies
2019-08-23 22:24:01 +07:00
Marten Seemann
6a7b9c6412 Merge pull request #2086 from lucas-clemente/fix-conn-close-length
fix length calculcation for CONNECTION_CLOSE frames
2019-08-23 22:05:52 +07:00
Marten Seemann
21b2ede9cd Merge pull request #2082 from lucas-clemente/packet-number-parsing
replace WriteUintN and ReadUintN by explicit functions
2019-08-23 22:05:23 +07:00
Marten Seemann
0dbfefc1f6 fix length calculcation for CONNECTION_CLOSE frames 2019-08-22 12:20:13 +07:00
Marten Seemann
363de010ca reject http3 responses that exceeded the header size limit 2019-08-22 12:08:02 +07:00
Marten Seemann
9294652ecc reject http3 requests that exceeded the header size limit 2019-08-22 10:23:51 +07:00