Commit Graph

111 Commits

Author SHA1 Message Date
Anthony Ramine
87969c1f29 Implement the extended CONNECT protocol from RFC 8441 (#565) 2021-11-24 10:05:10 +01:00
Sean McArthur
ce81583cf1 v0.3.7 2021-10-22 10:49:46 -07:00
Anthony Ramine
f52d5e6290 Replace HTTP/2.0 by HTTP/2 😅
The protocol is named HTTP/2.
2021-10-20 11:10:25 -07:00
Sean McArthur
8520f06f93 v0.3.6 2021-09-30 12:18:30 -07:00
Sean McArthur
953112944a v0.3.5 2021-09-29 13:40:13 -07:00
Anthony Ramine
465f0337f8 Refactor errors internals (#556)
h2::Error now knows whether protocol errors happened because the user
sent them, because it was received from the remote peer, or because
the library itself emitted an error because it detected a protocol
violation.

It also keeps track of whether it came from a RST_STREAM or GO_AWAY
frame, and in the case of the latter, it includes the additional
debug data if any.

Fixes #530
2021-09-28 09:04:35 -07:00
Sean McArthur
5072292320 v0.3.4 2021-08-20 15:47:50 -07:00
Anthony Ramine
a6b414458f v0.3.3 2021-04-29 09:18:12 -07:00
DavidKorczynski
9c7f47af95 Initial oss-fuzz integration. (#529)
Signed-off-by: davkor <david@adalogics.com>
2021-04-16 14:58:07 -07:00
Sean McArthur
2c53d60098 v0.3.2 2021-03-24 17:34:52 -07:00
Sean McArthur
7a5b574d8e v0.3.1 2021-02-26 12:36:26 -08:00
Josh Soref
bcaaaf6dd9 Spelling fixes in comments (#508) 2021-02-25 08:59:18 -08:00
Sean McArthur
676a068fd4 Prepare for 0.3.x changes 2020-10-23 08:29:04 -07:00
Sean McArthur
3bb01aafae v0.2.7 2020-10-23 08:14:51 -07:00
Sean McArthur
e3a358d696 v0.2.6 2020-07-13 16:56:04 -07:00
David Barsky
d3b9f1e36a feat(lib): switch from log to tracing (#475) 2020-07-07 15:55:24 -07:00
Sean McArthur
ecb31135cb v0.2.5 2020-05-06 13:19:56 -07:00
Sean McArthur
25b2741d2f v0.2.4 2020-03-30 15:23:38 -07:00
Sean McArthur
7e1e923542 v0.2.3 2020-03-25 10:23:31 -07:00
Sean McArthur
f7718b5b19 v0.2.2 2020-03-03 12:27:26 -08:00
Sean McArthur
012dfc6991 v0.2.1 2019-12-06 12:24:07 -08:00
Sean McArthur
13e0f17a03 v0.2.0 2019-12-03 12:06:13 -08:00
Sean McArthur
86e53054a6 Change ReserveCapacity to expanded FlowControl type (#423)
- Adds `FlowControl::available_capacity` method.
- Adds `FlowControl::used_capacity` method.
2019-10-08 11:28:15 -07:00
Sean McArthur
eef0ee52f0 v0.2.0-alpha.3 2019-10-01 08:37:56 -07:00
Sean McArthur
b534a7888a v0.2.0-alpha.2 2019-09-20 14:05:06 -07:00
Sean McArthur
8e81d84910 v0.2.0-alpha.1 2019-09-04 11:08:05 -07:00
Sean McArthur
2d90efee17 Prune futures-* dependencies 2019-08-30 14:53:49 -07:00
Gurwinder Singh
85b1f669c0 chore: async_await is stable on nightly 2019-08-21 11:10:03 -07:00
Gurwinder Singh
c8fefd49f1 Update lib to std-future 2019-08-16 18:47:47 -07:00
Gurwinder Singh
f4dec6efa4 chore: 2018 edition clean up (#386) 2019-07-25 10:30:52 -07:00
Jakub Beránek
db6b841e67 Update crate to Rust 2018 (#383) 2019-07-23 10:18:43 -07:00
Sean McArthur
4dde4157d5 v0.1.25 (#382) 2019-06-28 13:17:26 -07:00
Sean McArthur
c616ac4611 v0.1.24 2019-06-17 14:37:12 -07:00
Eliza Weisman
0e9fbe4a90 Log protocol error causes at debug (#371)
Currently, there are many cases where `h2` will fail a connection or
stream with a PROTOCOL_ERROR, without recording why the protocol error
occurred. Since protocol errors may result from a bug in `h2` or from a
misbehaving peer, it is important to be able to debug the cause of
protocol errors.

This branch adds a log line to almost all cases where a protocol error
occurs. I've tried to make the new log lines consistent with the
existing logging, and in some cases, changed existing log lines to make
them internally consistent with other log lines in that module. All
receive-side errors that would send a reset are now logged at the debug
level, using a formatting based on the format used in `framed_read`.

Signed-off-by: Eliza Weisman <eliza@buoyant.io>
2019-06-17 14:14:40 -07:00
Sean McArthur
8974fcd9ff v0.1.23 2019-06-04 19:53:01 -07:00
Sean McArthur
a5a2ee7f7a v0.1.22 2019-06-03 11:26:59 -07:00
Sean McArthur
ad5a40c682 v0.1.21 2019-05-30 10:49:40 -07:00
Sean McArthur
90d346bad8 v0.1.20 2019-05-16 14:14:40 -07:00
Sean McArthur
30f125dfc3 v0.1.19 2019-05-15 14:09:09 -07:00
Sean McArthur
dddef4ccbe v0.1.18 2019-04-09 12:29:22 -07:00
Sean McArthur
8e809c3e0c v0.1.17 2019-03-12 18:59:36 -07:00
Sean McArthur
e3a73f726e Add user PING support (#346)
- Add `share::PingPong`, which can send `Ping`s, and poll for the `Pong`
  from the peer.
2019-02-18 15:59:11 -08:00
Sean McArthur
74f040f5bf v0.1.16 (#344) 2019-01-24 10:37:47 -08:00
Carl Lerche
78c39d8e65 Bump version to v0.1.15 (#339) 2019-01-13 09:53:19 -08:00
Sean McArthur
61adb3570e v0.1.14 2018-12-05 10:05:46 -08:00
Carl Lerche
80b4ec5073 Bump version to v0.1.13 (#324) 2018-10-16 14:41:23 -07:00
Sean McArthur
d464c6bfff set deny(warnings) only when cfg(test) (#307)
This should fix building the docs on docs.rs.
2018-08-15 11:05:16 -07:00
Sean McArthur
3b57049792 v0.1.12 2018-08-08 16:05:27 -07:00
Eliza Weisman
78ab6167c4 v0.1.11 2018-07-31 11:44:01 -07:00
Eliza Weisman
f3806d5144 Add stream_id accessors to public API types (#292)
Problem:

Applications may want to access the underlying h2 stream ID for
diagnostics, etc. Stream IDs were not previously exposed in public APIs.

Solution:

Added a new public `share::StreamId` type, which has a more restricted 
API than the internal `frame::StreamId` type. The public API types 
`SendStream`, `RecvStream`, `ReleaseCapacity`, 
`client::ResponseFuture`, and `server::SendResponse` now all have 
`stream_id` methods which return the stream ID of the corresponding 
stream.

Closes #289.

Signed-off-by: Eliza Weisman <eliza@buoyant.io>
2018-07-12 21:01:57 -07:00