Files
buzz/crates/buzz-pairing-cli/Cargo.toml
Bartok b9e851d7be fix(buzz-pair): install rustls ring CryptoProvider before WSS (#7998)
## Summary

- `buzz-pair` panics on any `wss://` relay (including the documented
default `wss://relay.damus.io`) because no rustls `CryptoProvider` is
installed. `ws://` is unaffected.
- Sibling binaries already install ring explicitly
(`crates/buzz-cli/src/lib.rs`) and take a direct `rustls` dep with the
`ring` feature so a unified release build can still select a provider.
- This applies the same two-line pattern to `buzz-pairing-cli`: direct
`rustls` dep (`ring` + `std`) and `install_default()` at the top of
`main()`, before any connection.

Fixes #7927.

## Test plan

- [x] Diff matches the established `buzz-cli` install pattern (same dep
features, same `let _ =` swallow on double-install).
- [x] `cargo build -p buzz-pairing-cli` and `buzz-pair source --relay
wss://relay.damus.io` reaches "Waiting for target" without the rustls
panic.
- [x] `buzz-pair test-vectors` still exits 0 (no WSS, install is a
no-op).

---------

Signed-off-by: Bartok9 <259807879+Bartok9@users.noreply.github.com>
2026-10-06 14:50:21 -07:00

33 lines
1.1 KiB
TOML

[package]
name = "buzz-pairing-cli"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
description = "CLI tool for NIP-AB device pairing interop testing"
[[bin]]
name = "buzz-pair"
path = "src/main.rs"
[dependencies]
buzz-core = { workspace = true }
nostr = { workspace = true }
tokio = { workspace = true }
tokio-tungstenite = { workspace = true }
futures-util = { workspace = true }
serde_json = { workspace = true }
url = { workspace = true }
hex = { workspace = true }
clap = { version = "4", features = ["derive", "env"] }
thiserror = { workspace = true }
zeroize = { workspace = true }
# Explicit rustls dep with ring provider — required to install the process-level
# CryptoProvider at startup. Without this, `buzz-pair` panics on any `wss://`
# relay (including the default `wss://relay.damus.io`) when a multi-package
# release build unifies both ring and aws-lc-rs features. See crates/buzz-cli.
rustls = { version = "0.23", default-features = false, features = ["ring", "std"] }