Skip to content

Commit 73d1896

Browse files
committed
Bump 0.0.10
Enable opt-in Gateway reachability for BIP 77 The [BIP 77 Draft](bitcoin/bips#1483) imagines clients reach one another over a "mailbox" store-and-forward server through OHTTP Relays. In order for Relays to reach those mailbox servers without being pre-defined, this release includes support for an opt-in mechanism based on RFC 9540's Oblivious Gateway discovery mechanism augmented with an `allowed_purposes` parameter that may specify the BIP 77 mailbox as a specific service. This was activated by implementing probing functionality that caches `allowed_purposes` responses to prevent this Relay from being party to denial of service attacks where a client might spam requests to Gateways that do not support an allowed purpose.
1 parent c1a4bfd commit 73d1896

File tree

3 files changed

+37
-2
lines changed

3 files changed

+37
-2
lines changed

CHANGELOG.md

+35
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,40 @@
11
# ohttp-relay Changelog
22

3+
## 0.0.10
4+
5+
### Enable opt-in Gateway reachability for BIP 77
6+
7+
The [BIP 77 Draft](https://github.com/bitcoin/bips/pull/1483) imagines clients reach one another
8+
over a "mailbox" store-and-forward server through OHTTP Relays. In order for Relays to reach those
9+
mailbox servers without being pre-defined, this release includes support for an opt-in mechanism
10+
based on [RFC 9540](https://www.rfc-editor.org/rfc/rfc9540.html)'s Oblivious Gateway discovery
11+
mechanism augmented with an `allowed_purposes` parameter that may specify the BIP 77 mailbox as a
12+
specific service.
13+
14+
This was activated by implementing probing functionality that caches `allowed_purposes` responses
15+
to prevent this Relay from being party to denial of service attacks where a client might spam
16+
requests to Gateways that do not support an allowed purpose.
17+
18+
- RFC 9540 was implemented in [#47](https://github.com/payjoin/ohttp-relay/pull/47)
19+
- RFC 9458 behavior was corrected in [#46](https://github.com/payjoin/ohttp-relay/pull/46)
20+
- Internal abstractions and ergonomics were improved in [#50](https://github.com/payjoin/ohttp-relay/pull/50), [#57](https://github.com/payjoin/ohttp-relay/pull/57), [#59](https://github.com/payjoin/ohttp-relay/pull/59), [#60](https://github.com/payjoin/ohttp-relay/pull/60), [#62](https://github.com/payjoin/ohttp-relay/pull/62), and [#63](https://github.com/payjoin/ohttp-relay/pull/63).
21+
- Gateway opt-in was introduced in [#58](https://github.com/payjoin/ohttp-relay/pull/58)
22+
23+
### Gateway Probing and BIP77 Support
24+
- Added gateway probing functionality with caching mechanism for improved performance [#46](https://github.com/payjoin/ohttp-relay/pull/46)
25+
Implemented BIP77 purpose string detection in allowed purposes response #47
26+
Added ALPN-encoded format parsing for gateway allowed purposes #50
27+
28+
- https://github.com/payjoin/ohttp-relay/pull/46
29+
- https://github.com/payjoin/ohttp-relay/pull/47
30+
- https://github.com/payjoin/ohttp-relay/pull/50
31+
- https://github.com/payjoin/ohttp-relay/pull/57
32+
- https://github.com/payjoin/ohttp-relay/pull/58
33+
- https://github.com/payjoin/ohttp-relay/pull/59
34+
- https://github.com/payjoin/ohttp-relay/pull/60
35+
- https://github.com/payjoin/ohttp-relay/pull/62
36+
- https://github.com/payjoin/ohttp-relay/pull/63
37+
338
## 0.0.9
439

540
- Add `_test-util` feature to allow testing with `listen_tcp_on_free_port`

Cargo.lock

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "ohttp-relay"
3-
version = "0.0.9"
3+
version = "0.0.10"
44
authors = ["Dan Gould <d@ngould.dev>"]
55
description = "Relay Oblivious HTTP requests to protect IP metadata"
66
repository = "https://github.com/payjoin/ohttp-relay"

0 commit comments

Comments
 (0)