Benjamin Saunders
be801edd10
Fix incomplete stream state reset on 0-RTT rejection
2019-02-05 06:51:12 +01:00
Dirkjan Ochtman
47bc2886c2
Improve reason descriptions for TLS errors
2019-01-30 02:14:32 -08:00
Dirkjan Ochtman
eb01d30be0
Turn HeaderCrypto into a trait
2019-01-30 02:14:32 -08:00
Dirkjan Ochtman
891db4c51d
Privatize some parts of the Crypto API
2019-01-30 02:14:32 -08:00
Dirkjan Ochtman
d2796a2926
Move early_data_accepted() handling into CryptoSession API
2019-01-30 02:14:32 -08:00
Dirkjan Ochtman
2e0ee41aea
Replace TLSError with TransportError in CryptoSession interface
2019-01-30 02:14:32 -08:00
Dirkjan Ochtman
ee19ea7c8c
Only extract early Crypto once
2019-01-30 02:14:32 -08:00
Dirkjan Ochtman
e3347954e4
Hide 0-RTT Crypto creation behind CryptoSession interface
2019-01-30 02:14:32 -08:00
Benjamin Saunders
c4fe6b38fa
Fix packet number used as timestamp
2019-01-30 07:06:07 +01:00
Benjamin Saunders
ecaecab5d0
Style tweak
2019-01-30 07:06:07 +01:00
Benjamin Saunders
cad3da1b09
Strengthen flow control tests
2019-01-29 07:22:37 +01:00
Benjamin Saunders
aea40cfafe
Fix Frame::Stream type accessor
2019-01-29 07:22:37 +01:00
Benjamin Saunders
15de1a933a
Add some useful testing options to the example client
2019-01-29 07:22:37 +01:00
Benjamin Saunders
316f965f99
Test rebinding in interop tool
2019-01-29 07:22:37 +01:00
Benjamin Saunders
cff075c785
Prioritize retransmitted stream/handshake data
2019-01-29 07:22:37 +01:00
Benjamin Saunders
32369976be
Improve logging
2019-01-29 07:22:37 +01:00
Benjamin Saunders
f65264c270
Improve logging
2019-01-27 07:19:47 +01:00
Benjamin Saunders
2039d7b928
Handle interop testing vs. IP addrs
2019-01-27 07:19:47 +01:00
Benjamin Saunders
e98e5622fc
Report StreamReadable when reading is unblocked, not every frame
2019-01-27 07:19:47 +01:00
Benjamin Saunders
f623b76b60
Simplify finished stream reporting
2019-01-27 07:19:47 +01:00
Benjamin Saunders
6e9621c9d7
Test zero-length CIDs
2019-01-27 07:19:47 +01:00
Benjamin Saunders
97d093ff17
Add missing cleanup
...
This was harmless, but best to be consistent.
2019-01-27 07:19:47 +01:00
Benjamin Saunders
eba8048a58
Unblock streams on STOP_SENDING
2019-01-27 07:19:47 +01:00
Benjamin Saunders
56a6629c18
MAX_STREAM_DATA can open streams
2019-01-27 07:19:47 +01:00
Benjamin Saunders
1f2c0e87c1
Centralize stream activity handling
2019-01-27 07:19:47 +01:00
Benjamin Saunders
5b5d07e92e
Improve ALPN documentation
2019-01-27 07:19:47 +01:00
Benjamin Saunders
b8e6ff127c
Tweak builder method naming
...
Most builder methods are setters, so this prefix doesn't carry its weight.
2019-01-27 07:19:47 +01:00
Benjamin Saunders
bf456e4792
Don't panic on non-unique Arc in ServerConfigBuilder
...
Copy-on-write semantics are appropriate here.
2019-01-27 07:19:47 +01:00
Benjamin Saunders
06b4873257
Isolate per-endpoint and per-connection configuration
...
This makes it easier to speak different application protocols on
different connections using the same endpoint
2019-01-27 07:19:47 +01:00
Benjamin Saunders
222c2d88c6
Implicit stream opening
...
A stream ID that is used out of order results in all streams of that
type with lower-numbered stream IDs also being opened. This allows
applications to assign meaning to incoming streams based on the order
in which they're opened.
2019-01-24 08:31:21 +01:00
Benjamin Saunders
cd4607d7d8
Don't panic on missing client transport parameters
2019-01-24 07:33:29 +01:00
Dirkjan Ochtman
8d3abded71
Add helper method to determine side from TlsSession variant
2019-01-23 21:46:48 -08:00
Dirkjan Ochtman
48414a07f7
Add trait and impl for CryptoServerConfig
2019-01-23 21:46:48 -08:00
Dirkjan Ochtman
4e527d9925
Add trait and impl for CryptoClientConfig
2019-01-23 21:46:48 -08:00
Dirkjan Ochtman
4f4b8e6696
Extend the CryptoSession interface some more
2019-01-23 21:46:48 -08:00
Dirkjan Ochtman
9e48a0977a
Use trait to abstract over TlsSession type
2019-01-23 21:46:48 -08:00
Dirkjan Ochtman
b144b9a86b
Hide creation of Crypto in TlsSession
2019-01-23 21:46:48 -08:00
Dirkjan Ochtman
afe712f328
Move TransportParameters parsing into TlsSession
2019-01-23 21:46:48 -08:00
Benjamin Saunders
088c45e26a
Remove identity conversions
2019-01-23 14:34:28 +01:00
Benjamin Saunders
e85c320e7d
Improve configuration error checking
2019-01-23 14:34:28 +01:00
Benjamin Saunders
1f35a803d8
Draft 18 recovery fixes
2019-01-23 14:34:28 +01:00
Benjamin Saunders
1dad005637
Draft 18 preferred_address
2019-01-23 08:35:23 +01:00
Benjamin Saunders
bd3ec80990
Validate max_ack_delay parameter
2019-01-23 08:35:23 +01:00
Benjamin Saunders
008e197030
Rich transport errors
...
This folds some of our logging into the reason field for easier
debugging
2019-01-23 08:35:23 +01:00
Benjamin Saunders
25d61416e9
Remove redundant logging
2019-01-23 08:35:23 +01:00
Benjamin Saunders
6f7ac12c9a
Remove redundant error check
2019-01-23 08:35:23 +01:00
Benjamin Saunders
ebf9decfb2
Don't reject longer-than-necessary frame type encodings
...
The draft now describes this as optional, and it's less work to be
less picky.
2019-01-23 08:35:23 +01:00
Benjamin Saunders
64ac5fde0d
Only validate 0-RTT transport parameters if 0-RTT is accepted
2019-01-23 08:35:23 +01:00
Benjamin Saunders
aab4ff41cb
Fix panic on Debug for weird TLS alerts
2019-01-23 08:35:23 +01:00
Benjamin Saunders
8037e5e7e3
Track latest received packet per packet number space
...
Fixes rare subtle errors in ACK delay accounting and simplifies the
logic.
2019-01-23 08:35:23 +01:00