Benjamin Saunders
45ec778d5a
Warn about platform dual-stack socket behavior variances
...
This has bitten at least 3 users.
2020-10-15 19:55:18 -07:00
Dirkjan Ochtman
d5b47f601d
Unwrap unused results from invalid config values
2020-10-12 12:13:50 -07:00
kwantam
81d326a0f6
export_keying_material to its own test
2020-09-29 09:35:14 +02:00
kwantam
b2fa08adbe
ExportKeyingMaterialError zst
2020-09-29 09:35:14 +02:00
kwantam
037f1a6666
respond to @ralith's review
2020-09-29 09:35:14 +02:00
kwantam
3601881e7b
fix tests on stable rustc
2020-09-29 09:35:14 +02:00
kwantam
ee6f7d01f2
pin all crates with rustls as transitive dep
...
this is necessary for export_keying_material to work;
can be undone once rustls pushes a new version of the crates.
2020-09-29 09:35:14 +02:00
kwantam
bc1c1a7e0e
quinn-proto: merge ExportKeyingMaterial trait into Session
2020-09-29 09:35:14 +02:00
kwantam
363b3539ac
quinn: test export_keying_material
2020-09-29 09:35:14 +02:00
kwantam
8c8fb0815c
plumb export_keying_material from quinn-proto to quinn
2020-09-29 09:35:14 +02:00
Benjamin Saunders
d72bc0fc6f
Remove obsolete mention of connection driver
2020-09-25 13:43:41 +02:00
ssebo
c0eaab79bb
fix iOS setsockopt invalid params
2020-09-12 11:03:35 +02:00
DelusionalOptimist
751d660343
Fixed typo in quinn/examples/connection.rs
2020-09-09 16:42:35 +02:00
Dirkjan Ochtman
f212256435
Clean up warnings/errors
2020-09-03 09:17:32 -07:00
Imbris
35db51eb1a
Reexport ReadUnordered
2020-08-23 20:41:33 +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
Dirkjan Ochtman
5a4d18f837
Upgrade to rustls-0.18
2020-07-05 23:05:33 +02:00
Benjamin Saunders
a1e8c56cb0
Update initial salt, retry integrity key/nonce, and versions
2020-06-30 08:57:14 +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
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
Dirkjan Ochtman
e391c5d05b
Remove redundant pattern matching
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
Benjamin Saunders
605a5a5f19
Style tweak
2020-06-01 11:52:34 +02:00
Benjamin Saunders
df390ddf07
Remove transport-layer implicit reset on stop
...
Defers responsibility for closing send streams to the
application. This simplifies the stream lifecycle, because we no
longer need to track whether a stop was observed in a write error and
potentially free stream state after returning one. Fixes a stream
state leak for applications which don't necessarily observe write
errors.
2020-06-01 11:52:34 +02:00
Benjamin Saunders
fe10e89409
Return a read error on ordered-after-unordered reads
2020-05-29 16:04:52 +02:00
Jean-Christophe BEGUE
58a3c057c4
Stopped event for SendStream
2020-05-29 15:22:26 +02:00
Dirkjan Ochtman
01bb2f1162
Clarify documentation on setting up mTLS ( fixes #772 )
2020-05-27 18:53:52 -07:00
Benjamin Saunders
ca689d33d6
Update version numbers for draft 28
2020-05-25 06:22:35 +02:00
Benjamin Saunders
d92a567034
Return UnknownStream from Connection::reset for closed/reset streams
...
Improves consistency with other stream interfaces. H3 logic was
updated to ignore errors to preserve existing behavior, but future
work might want to insert some unwraps there if static correctness
guarantees are available.
2020-05-23 19:08:46 +02:00
Benjamin Saunders
cd63774c0b
Don't reference a hidden interface in documentation
2020-05-23 19:08:46 +02:00
Benjamin Saunders
eea76d2a90
Proactively discard data on stopped streams
...
Previously, flow control credit would not be issued for data received
on stopped streams unless the application continued reading them
indefinitely. This produced a flow control leak in the high level API,
causing applications which dropped streams with unread data to
eventually grind to a halt.
Discarding data immediately should also improve performance when data
is being received on stopped streams, and allows us to discard stream
state earlier.
2020-05-21 09:28:42 +02:00
Benjamin Saunders
7053c6a802
Wake connection driver on read to issue flow control credit
2020-05-20 12:52:34 +02:00
Benjamin Saunders
54f0ab1b14
Clarifying comments
2020-05-12 20:59:13 +02:00
Benjamin Saunders
6786b8a1bb
Include ReadError in ReadToEndError::Read display
...
By treating the read error as a component of, rather than an
incidental ancestor to, the enclosing error we reduce the odds of
unhelpful diagnostics.
2020-05-11 13:53:23 -07:00
Benjamin Saunders
30b42c5bcf
Don't use a larger receive buffer than necessary
2020-05-11 22:29:36 +02:00
Benjamin Saunders
0247c7d644
Improve endpoint construction docs
2020-05-11 15:40:32 +02:00
Benjamin Saunders
6f9e20cf64
Allow a custom ClientConfig without allocating a default
2020-05-11 15:40:32 +02:00
Benjamin Saunders
b727b7b605
Clarify soundness requirements for cmsg helpers
2020-05-11 10:21:13 +02:00
Benjamin Saunders
6ac08773a6
Update libc
2020-05-08 07:09:25 +02:00
Dirkjan Ochtman
eeac018bd9
Update license to proper SPDX expression
...
From the Cargo docs:
"Previously multiple licenses could be separated with a /,
but that usage is deprecated."
https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields
2020-05-04 09:14:22 -07:00
stammw
34c9f45802
H3: HttpBody server integration in SendResponse
2020-05-04 17:59:05 +02:00
Dirkjan Ochtman
682c5863d5
Introduce separate StreamEvent enum
2020-04-28 13:06:10 -07:00
Dirkjan Ochtman
f6904d6140
Apply suggestions from clippy
2020-04-25 09:43:13 -07:00
Jesse Lucas
11a7c77992
Add usage documentation to quinn/examples/server.rs
2020-04-25 18:06:04 +02:00
Benjamin Saunders
ddc8d432e6
Fix broken doc link
2020-04-22 06:58:01 +02:00
Benjamin Saunders
92042be56d
Bump versions
2020-03-31 12:51:41 -07:00