Dirkjan Ochtman
ea7aa02091
Move conn_ready() around to improve readability
2019-01-18 09:09:29 +01:00
Dirkjan Ochtman
5ee5d5d5ee
Improve ordering of items in quinn crate root
2019-01-18 09:09:29 +01:00
Dirkjan Ochtman
c5c591f5b9
Reflow comments in quinn crate root
2019-01-18 09:09:29 +01:00
Dirkjan Ochtman
ab68eacfd5
Move ConnectionHandle into endpoint module
2019-01-18 09:09:29 +01:00
Dirkjan Ochtman
536cbe4c50
Use Index/IndexMut to abstract use of ConnectionHandle
2019-01-18 09:09:29 +01:00
Dirkjan Ochtman
f95e89e3bd
Improve naming of ConnectionHandle variable bindings
2019-01-18 09:09:29 +01:00
Benjamin Saunders
e73fadaa6f
Support user-supplied DER certificates in the server example
...
This is the type we generate and cache by default, so it's weird not
to handle it.
2019-01-18 08:08:19 +01:00
Benjamin Saunders
2b96ccee36
Typo fix
2019-01-18 08:08:19 +01:00
Benjamin Saunders
5e75853bdd
Add a missing STREAM_STATE_ERROR, correct PROTOCOL_VIOLATIONs
2019-01-18 08:08:19 +01:00
Benjamin Saunders
44bdb84a8a
Discard queued 0-RTT frames on 0-RTT rejected.
2019-01-17 09:36:30 +01:00
Benjamin Saunders
87761b8569
Don't send RESET_STREAM or STOP_SENDING in 0-RTT
...
It's unreasonable to forbid applications from abandoning 0-RTT
streams, so we should handle this case gracefully.
2019-01-17 09:36:30 +01:00
Benjamin Saunders
95430342c4
STOP_STREAM opens remotely initiated bidirectional streams
2019-01-17 09:36:30 +01:00
Benjamin Saunders
35255ad25d
Locally initiated streams are implicitly known to the application
2019-01-17 09:36:30 +01:00
Benjamin Saunders
f833af202b
More concise transport error description phrasing
2019-01-17 09:36:30 +01:00
Benjamin Saunders
accd11b893
Replace failure with err-derive
...
This makes our error types more standard and removes a foreign trait
from our public API.
2019-01-17 09:36:30 +01:00
Benjamin Saunders
24d061dba3
Test flow control
...
Validates 04c16794
2019-01-16 20:22:51 -08:00
Benjamin Saunders
1b8d418abe
Delete unnecessary address change in test
...
This was a workaround for the bug fixed in 2f16dc7a
2019-01-16 20:22:51 -08:00
Dirkjan Ochtman
dadb0b486f
Use *ring* for header protection ( fixes #196 )
2019-01-16 10:16:52 +01:00
Benjamin Saunders
e4c51baf64
Factor out common stream read code
2019-01-16 08:22:03 +01:00
Benjamin Saunders
04c167942e
Fix flow control leak on RESET_STREAM and process resets eagerly
...
We weren't issuing additional flow control credit to account for the
bytes that the peer thinks it's sent but which we haven't read yet. As
part of this change, we've gone from keeping data on reset streams
around until it's read and issuing credit as that proceeds to
discarding data on reset streams immediately and issuing credit for
all outstanding data on the stream, whether or not we've received and
buffered it.
2019-01-16 08:22:03 +01:00
Benjamin Saunders
e75c33e180
Detect another FINAL_OFFSET_ERROR case
2019-01-16 08:22:03 +01:00
Benjamin Saunders
b6502a13a8
Don't let Handshake packets validate 1-RTT migration
2019-01-16 08:22:03 +01:00
Benjamin Saunders
d5aecaeb16
Don't forget about new streams if more than one arises at once
2019-01-16 08:22:03 +01:00
Benjamin Saunders
f31bb03cc0
Delete obsolete commented code
2019-01-14 22:56:07 -08:00
Benjamin Saunders
fce220ca34
Handle EINTR
2019-01-14 22:56:07 -08:00
Benjamin Saunders
074a5f6206
Cleanup
2019-01-14 22:56:07 -08:00
Benjamin Saunders
ebf865e384
Sanity-check post-0-RTT transport parameters
2019-01-14 22:56:07 -08:00
Benjamin Saunders
17efaa89a5
Remove redundant field
2019-01-14 22:56:07 -08:00
Benjamin Saunders
0947109f83
Extract builders module
2019-01-14 22:56:07 -08:00
Benjamin Saunders
b7129bc034
Remove unused dependency
2019-01-14 22:56:07 -08:00
Benjamin Saunders
42685091d0
Improve documentation
2019-01-14 22:56:07 -08:00
Benjamin Saunders
b58d1e829d
Clarify window semantics
2019-01-12 10:04:42 -08:00
Benjamin Saunders
86967a8089
Tweak diagnostics
2019-01-12 10:04:42 -08:00
Benjamin Saunders
6ffabd73ae
Reject new CRYPTO data at illegal encryption levels
2019-01-12 10:04:42 -08:00
Benjamin Saunders
1e403dc290
Reject illegal 0-RTT frames
2019-01-12 10:04:42 -08:00
Benjamin Saunders
8feebb589a
Test 0-RTT rejection
2019-01-12 10:04:42 -08:00
Benjamin Saunders
a4bf8bc169
Strengthen 0-RTT test
2019-01-12 10:04:42 -08:00
Dirkjan Ochtman
ec794de8ba
Don't allocate for Initial header's token
2019-01-12 09:23:24 -08:00
Dirkjan Ochtman
e1c0db70b3
Split coalesced packets during first phase of decode
2019-01-12 09:23:24 -08:00
Dirkjan Ochtman
1d33165971
Transform InvariantHeader into PlainHeader
...
This lets us avoid decoding parts of the header twice, and gives us
early access to all parts of the header that are unencrypted.
2019-01-12 09:23:24 -08:00
Dirkjan Ochtman
dd824c8f8b
Make ordering of header fields consistent
2019-01-12 09:23:24 -08:00
est31
0cf4d3a86f
Update to ring 0.14
...
Also updates the crates that depend on ring to newer versions
2019-01-12 07:09:49 +01:00
Benjamin Saunders
df96c82e95
Handle rejected 0-RTT
2019-01-12 03:21:00 +01:00
Benjamin Saunders
0a4365397a
Remove dead code
2019-01-12 03:21:00 +01:00
Benjamin Saunders
fdad4b1cde
Fix redundant server-side set_params call
2019-01-12 03:21:00 +01:00
Benjamin Saunders
a78fba03f4
Add missing timer cleanup
2019-01-12 03:21:00 +01:00
Benjamin Saunders
097006d297
Implement 0-RTT data
2019-01-12 03:21:00 +01:00
Benjamin Saunders
5169eb48e7
Move Option from PacketSpace to its internal keys
...
This allows spaces to operate without keys, as needed by 0-RTT.
2019-01-12 03:21:00 +01:00
Benjamin Saunders
3e3afd91df
Fix misleading log message
2019-01-12 03:21:00 +01:00
Benjamin Saunders
f11e5a4d83
Remove unneeded extern crate invocations
2019-01-11 09:01:29 +01:00