Dirkjan Ochtman
69200e921f
Add PathData::new() associated function
2020-07-06 13:49:59 -07:00
Dirkjan Ochtman
d4153d9f0e
Add more abstractions for PTO calculations
2020-07-06 13:49:59 -07:00
Dirkjan Ochtman
e4246703e1
More abstract method for RTT calculations
2020-07-06 13:49:59 -07:00
Dirkjan Ochtman
7d1df2a682
Always try ECN on a new path
2020-07-06 13:49:59 -07:00
Demi M. Obenour
6018f20055
Don’t try to run code coverage on PRs
...
It won’t work, as those builds don’t have access to the CodeCov API
token.
2020-07-06 09:46:18 +02:00
Alexander Jackson
80653da2ca
Add documentation links to improve navigation
...
Add documentation links and references to some of the main parts of the API so
that relevant structs, enums and methods can be navigated to more quickly. This
reduces the need for the search bar and thus makes it easier to find related
content wherever it is mentioned.
2020-07-06 09:46:06 +02:00
Benjamin Saunders
3339bc8f27
Correct default initial RTT
2020-07-06 07:45:27 +02:00
Dirkjan Ochtman
5a4d18f837
Upgrade to rustls-0.18
2020-07-05 23:05:33 +02:00
Benjamin Saunders
81e6c26c68
Deduplicate RTT fallback logic
2020-07-05 20:48:57 +02:00
Benjamin Saunders
da09436105
Update PTO computation to match current recovery draft
2020-07-05 20:48:57 +02:00
Benjamin Saunders
b612577c7c
Update RTT estimation to match recovery draft
2020-07-05 20:48:57 +02:00
Benjamin Saunders
70cf90389e
Respect initial RTT in RttEstimator
2020-07-05 20:48:57 +02:00
Alexander Jackson
5e62c3ffc2
Fix some broken documentation in quinn-h3
...
Fix some broken documentation links in quinn-h3 and clear up some ambiguity.
`SendRequest` does not yield a `SendData`, and only the `send_response()`
method on `server::Sender` will return one.
2020-06-30 20:19:27 +02:00
Alexander Jackson
e342cc974e
Fix some broken documentation links in quinn-proto
...
Fix some broken documentation links in quinn-proto and correctly direct them to
the enum variant they are referencing. These were raised by `cargo doc`.
2020-06-30 20:19:27 +02:00
Benjamin Saunders
48597c8f76
Use TRANSPORT_PARAMETER_ERRORs for CID authentication
2020-06-30 08:57:14 +02:00
Benjamin Saunders
58ac32d055
Rename SERVER_BUSY to CONNECTION_REFUSED
2020-06-30 08:57:14 +02:00
Benjamin Saunders
68922c07ea
Draft 29 PTO logic
2020-06-30 08:57:14 +02:00
Benjamin Saunders
8ca2f04bf9
Track in-flight bytes per packet space
2020-06-30 08:57:14 +02:00
Benjamin Saunders
57160897fe
Update names to match current pseudocode
2020-06-30 08:57:14 +02:00
Benjamin Saunders
f2c4d35535
Clarify read_crypto logic
2020-06-30 08:57:14 +02:00
Benjamin Saunders
a1e8c56cb0
Update initial salt, retry integrity key/nonce, and versions
2020-06-30 08:57:14 +02:00
Benjamin Saunders
7e023e3cd8
Document state predicates
2020-06-29 09:16:49 +02:00
Benjamin Saunders
df7645047a
Test rejection of client connections missing a required certificate
2020-06-29 09:16:49 +02:00
Benjamin Saunders
bedcb42863
Detect spurious migrations
...
Defends against off-path forwarding attacks by sending PATH_CHALLENGE
on the previous path when migrating.
2020-06-29 09:14:58 +02:00
Benjamin Saunders
5d95eef10a
Split up poll_transmit
...
Pull common packet construction logic out into a separate pair of
functions for ease of reuse.
2020-06-29 09:14:58 +02:00
Charles Hall
66f3c04814
add a way to get a static id for a quic connection
...
Since remote IP addresses can change, it's useful to have an independent
ID for a connection that is always the same.
quinn_proto::ConnectionHandle provides a mechanism for this, but
quinn::Connection has an Arc internally whose internal pointer can be
used as a unique identifier since acquiring the ConnectionHandle would
require locking a mutex.
2020-06-25 22:35:28 +02:00
Charles Hall
73fb027357
expose StreamId information from Send/RecvStream
...
If nothing else, this should make it easier to track goings-on in
streams in client code since they'll be able to easily distinguish
between streams via StreamId::index().
2020-06-25 22:35:28 +02:00
Dirkjan Ochtman
5484d37c76
Migrate to directories-next
...
directories is no longer being maintained and the final released version
causes a dependency conflict (cfg-if, versus tracing).
2020-06-22 14:46:13 +02:00
dependabot-preview[bot]
541448f79b
Update ct-logs requirement from 0.6 to 0.7
...
Updates the requirements on [ct-logs](https://github.com/ctz/ct-logs ) to permit the latest version.
- [Release notes](https://github.com/ctz/ct-logs/releases )
- [Commits](https://github.com/ctz/ct-logs/compare/v/0.6.0...v/0.7.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com >
2020-06-21 21:47:49 -07:00
Jean-Christophe BEGUE
b5c8a218ad
H3: Name pin projections as required by 0.4.21
2020-06-14 22:17:53 +02:00
Jean-Christophe BEGUE
0c6a27c37a
H3: ignore any number of unknown settings
2020-06-14 22:17:53 +02:00
Benjamin Saunders
1be312a7cc
Replace space accessors with indexing
...
Improves ergonomics and simplifies borrowing.
2020-06-13 22:14:30 +02:00
Benjamin Saunders
73c779bac7
Update interop endpoints
2020-06-10 14:07:30 -07:00
Benjamin Saunders
c2c8e12ae6
Style tweak
2020-06-07 14:42:16 +02:00
Benjamin Saunders
dbce6b2a4b
Remove unnecessary reexport
2020-06-07 14:42:16 +02:00
Benjamin Saunders
563069e18c
Signal ALPN/SNI availability during handshake
...
Allows processing of 0-RTT data sensitive to ALPN/SNI.
2020-06-07 14:42:16 +02:00
Benjamin Saunders
128c1b2a5e
Decouple ClientHello data from peer identity
...
These are determined at different times for incoming connections, so
bundling them together was fairly ugly.
2020-06-07 14:42:16 +02:00
Benjamin Saunders
bfa8782485
Encapsulate coupling of connection driver and Connecting future
2020-06-07 14:42:16 +02:00
Benjamin Saunders
7aa54a7dd3
Separate ECN counters per space
2020-06-06 12:42:08 -07:00
Jean-Christophe BEGUE
4945573fda
H3: make the h3 client default port 443
2020-06-05 13:06:07 -07:00
Jean-Christophe BEGUE
448ba9a061
H3: Check request authority for client
2020-06-05 20:32:18 +02:00
Jean-Christophe BEGUE
2444a60220
H3: trace arriving requests
2020-06-05 20:32:18 +02:00
Jean-Christophe BEGUE
94d5de1709
H3: Check authority validity for server
...
As defined in https://github.com/quicwg/base-drafts/pull/3475/files
and an empty message aborts the commit.
2020-06-05 20:32:18 +02:00
Jean-Christophe BEGUE
cf0801c8fd
H3: reject request when headers are invalid
2020-06-05 20:32:18 +02:00
Dirkjan Ochtman
055ed17544
Allow clippy::eval_order_dependence lint
2020-06-04 22:36:09 +02:00
Dirkjan Ochtman
e391c5d05b
Remove redundant pattern matching
2020-06-04 22:36:09 +02:00
Dirkjan Ochtman
73dd1ee6c2
Implement BitOrAssign instead of AddAssign for Retransmits
2020-06-04 22:36:09 +02:00
Dirkjan Ochtman
73fbb9bdee
tracing-subscriber 0.2.5 is required since 77aeb5544
2020-06-04 22:36:09 +02:00
Dirkjan Ochtman
11b678ca4a
Fix warnings about must-use value of mem::replace()
2020-06-04 22:36:09 +02:00
Benjamin Saunders
9c8696b7f5
Ensure version negotiation grease is valid
2020-06-04 10:17:52 +02:00