Marten Seemann
b5336be518
rename retransmittable to ack-eliciting
2019-04-12 13:25:39 +09:00
Marten Seemann
4f6d0e651a
implement HTTP/3
2019-04-11 09:06:10 +09:00
Marten Seemann
7f9861bf7e
reset the send mode after receiving an ACK when already in PTO mode
2019-04-09 10:24:45 +09:00
Marten Seemann
6be9c7bfcd
use the full pacing rate, also when not in slow start
2019-04-08 13:38:12 +09:00
Marten Seemann
2976a3ee19
fix pacing rate
...
The pacing rate needs to be calculated for the next packet to be sent,
not for the next byte to be sent.
2019-04-07 13:11:36 +09:00
Marten Seemann
907071221c
Merge pull request #1846 from lucas-clemente/fix-crypto-setup-race-condition
...
fix race condition when accessing the encryption level in crypto setup
2019-04-02 00:23:53 +09:00
Marten Seemann
9ffbd662c1
fix race condition when accessing the encryption level in crypto setup
2019-04-02 00:13:22 +09:00
Marten Seemann
66615797e7
Merge pull request #1840 from lucas-clemente/invalid-max-streams-values
...
error on invalid maximum stream number values
2019-04-01 05:15:52 +02:00
Marten Seemann
e9f7f87063
remove two stray TODOs from the crypto setup
2019-04-01 12:04:19 +09:00
Marten Seemann
7b02b87026
reject MAX_STREAMS frames with too large stream counts
2019-04-01 11:57:23 +09:00
Marten Seemann
a6d1917417
make sure the same session ticket key is used if none is configured
2019-04-01 11:45:20 +09:00
Marten Seemann
2adf923ee6
process the NewSessionTicket TLS message
2019-04-01 11:45:20 +09:00
Marten Seemann
da4b3e3176
pass a conn to qtls that returns the remote address
2019-04-01 11:45:20 +09:00
Marten Seemann
b2723d6d13
make the ClientSessionCache work with qtls
2019-04-01 11:45:16 +09:00
Marten Seemann
9ddf9129cf
move generation of qtls.Config to a separate file, add tests
2019-04-01 11:41:06 +09:00
Marten Seemann
358fce241a
Merge pull request #1841 from lucas-clemente/vnp-quic-bit
...
set the QUIC bit in Version Negotiation packets
2019-03-31 18:29:26 +02:00
Marten Seemann
09574a6653
expose the tls.ConnectionState
2019-03-31 23:56:24 +09:00
Marten Seemann
352ac45e32
set the QUIC bit in Version Negotiation packets
2019-03-29 09:20:41 +01:00
Marten Seemann
d44c81de7a
remove verification of version negotiation
2019-03-23 11:26:20 +01:00
Marten Seemann
3264d7c583
fix logging of transport parameters without stateless reset tokens
2019-03-19 16:58:08 +09:00
Marten Seemann
f103919bf1
fix handling of HelloRetryRequests
2019-03-14 16:47:09 +09:00
Marten Seemann
e4bd715728
Merge pull request #1814 from lucas-clemente/stateless-resets
...
implement sending of stateless resets
2019-03-08 18:54:13 +09:00
Marten Seemann
6cf20310fe
use an array for the stateless reset token in the transport parameters
2019-03-08 18:09:37 +09:00
Marten Seemann
79cd3235f8
log the stateless reset token in the transport parameters
2019-03-08 18:08:09 +09:00
Marten Seemann
5b27076a4c
return the local TLS error, but don't send it on the wire
2019-03-08 18:02:43 +09:00
Marten Seemann
ae12852e4c
add a message to crypto errors
...
The string representation varies depending on the message:
* if there's no message, the TLS alert is used
* if there's a message, it is used instead
2019-03-08 18:02:43 +09:00
Marten Seemann
373db3c153
send the correct error code for crypto errors
2019-03-08 18:02:43 +09:00
Marten Seemann
f9a21275a4
use the string representation of the TLS alert for crypto errors
2019-03-08 18:02:43 +09:00
Marten Seemann
e5303df419
implement a string representation for crypto error
2019-03-08 18:02:36 +09:00
Marten Seemann
ab47ba1021
fix error string representation for errors without a message
2019-03-08 17:35:25 +09:00
Marten Seemann
662041649f
use the error names from the draft
2019-03-06 13:45:05 +09:00
Marten Seemann
9c09e84765
use IETF QUIC transport error codes
2019-03-06 13:43:18 +09:00
Marten Seemann
896d2da380
Merge pull request #1805 from lucas-clemente/return-timeout-errors
...
consistently return timeout errors after timeouts
2019-03-05 17:31:48 +09:00
Marten Seemann
9ed1a2e3e1
add integration test that we return timeout errors after an idle timeout
2019-03-05 16:22:48 +09:00
Marten Seemann
5e34cb1d71
run go generate ./...
2019-03-05 13:42:56 +09:00
Marten Seemann
59e9142426
retrieve the TLS alert from qtls when the handshake fails
2019-03-02 08:56:42 +09:00
Marten Seemann
fbe8844006
remove some unneccessary type conversions
2019-02-27 19:30:55 +09:00
Marten Seemann
4ae5e1908c
Merge pull request #1794 from lucas-clemente/coalesced-packets
...
move coalesced packet handling to the session
2019-02-27 09:20:16 +08:00
Marten Seemann
6c726ccba3
change the idle timeout transport parameter to milliseconds
2019-02-23 10:37:08 +08:00
Marten Seemann
df34e4496e
identify version negotiation packets without parsing the header
2019-02-23 10:24:42 +08:00
Marten Seemann
14426dfa12
implement a function to parse the destination connection ID of a packet
2019-02-23 10:24:42 +08:00
Marten Seemann
28ed85b9c6
move cutting of coalesced packets to the wire package
2019-02-23 10:24:42 +08:00
Marten Seemann
d82a60c835
copy the GetConfigForClient callback when creating the qtls.Config
2019-02-22 14:34:28 +08:00
Marten Seemann
791b90d4d5
copy the GetCertificate callback when creating the qtls.Config
2019-02-22 14:04:49 +08:00
Marten Seemann
500717066e
use (a modified version of) the standard library TLS implementation
2019-02-22 13:33:56 +08:00
Marten Seemann
f6642ff948
use separate packet number spaces for sending packets
...
Packet numbers now start at 0 for every packet number spaces.
Furthermore, an ACK frame now only acknowledges packets in the packet
number space it was sent in.
2019-02-11 20:13:05 +08:00
Marten Seemann
b35c161f2e
don't ignore reordered ACKs
2019-02-11 20:13:05 +08:00
Marten Seemann
631947ad7d
use shorter variable name in the sent packet handler
2019-02-11 20:13:05 +08:00
Marten Seemann
c7f1fce88a
set the default value for the ack_delay_exponent, if it is not sent
2019-02-08 13:50:49 +08:00
Marten Seemann
7dc4be2ce9
Merge pull request #1779 from lucas-clemente/remove-tls-received-extensions-error
...
remove the error return value when receiving TLS extensions
2019-02-07 20:51:57 +08:00