Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

buzz-pair: panics on wss:// relays — rustls CryptoProvider never installed

Aperta Adatta ai principianti
#7,927 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
92/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
rust
Ambito
cli, security

Direzione di ricerca

Inizia da crates/buzz-pairing-cli/Cargo.toml e dal punto di ingresso principale, quindi confronta la configurazione di rustls in crates/buzz-cli/src/lib.rs e il relativo commento sulla dipendenza. Verifica che la configurazione del provider corrisponda a quella dei crate affini, quindi esegui i comandi documentati di source e target contro un relay wss:// e conferma che l’handshake venga completato senza panic.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

buzz-pair panics on any wss:// relay because no rustls CryptoProvider is installed. Since the subcommand defaults to wss://relay.damus.io, the documented quick-start fails out of the box.

Repro
cargo build --release -p buzz-pairing-cli
./target/release/buzz-pair source --relay wss://relay.damus.io
Actual

The QR URI prints, then:

Waiting for target to scan QR code...

thread 'main' panicked at rustls-0.23.42/src/crypto/mod.rs:249:14:
Could not automatically determine the process-level CryptoProvider from Rustls crate features.
Call CryptoProvider::install_default() before this point to select a provider manually, or make
sure exactly one of the 'aws-lc-rs' and 'ring' features is enabled.

ws:// URLs are unaffected, so it reproduces only against TLS relays — i.e. every real one.

Cause

The sibling binaries install the provider explicitly; buzz-pairing-cli does not. Compare crates/buzz-cli/src/lib.rs:

let _ = rustls::crypto::ring::default_provider().install_default();

and the comment on buzz-cli's own rustls dependency explaining why a direct dep with the ring feature is needed (feature unification across the workspace otherwise leaves rustls unable to pick a provider).

Fix

Same two changes as the sibling crates — add to crates/buzz-pairing-cli/Cargo.toml:

rustls = { version = "0.23", default-features = false, features = ["ring", "std"] }

and at the top of main():

let _ = rustls::crypto::ring::default_provider().install_default();

Verified locally: after this, source/target complete a full handshake over wss://.

Environment
  • Commit 4cd82f5 (main, 2026-09-13)
  • macOS 26.6.2, arm64, toolchain via hermit
Lingua principale
Rust
Stelle
33.7k
Fork
4.4k
Merge medio
2g 13h
PR unite (30g)
185

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di block/buzz

Tutte le issue di block/buzz

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.