buzz-pair: panics on wss:// relays — rustls CryptoProvider never installed
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 92/100
Línea de trabajo
Comienza con crates/buzz-pairing-cli/Cargo.toml y el punto de entrada principal; después, compara la configuración de rustls en crates/buzz-cli/src/lib.rs y su comentario sobre la dependencia. Verifica que la configuración del provider coincida con la de los crates hermanos; luego ejecuta los comandos documentados de source y target contra un relay wss:// y confirma que el handshake se completa sin un panic.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- Rust
- Estrellas
- 33.7k
- Forks
- 4.4k
- Merge medio
- 2 d 13 h
- PR fusionados (30 d)
- 185
Preparar el entorno
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de block/buzz
-
Desktop crashes on launch: undefined is not an object (evaluating 'e.participantPubkeys.map')Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
block/buzz#7880 · 2 comentarios · 2 reacciones ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
block/buzz#7824 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
Los mantenedores suelen responder en 1 día
Todos los issues de block/buzz
Issues similares
-
type/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
stackabletech/kafka-operator#1033 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug good first issue needs testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 3 días
-
docs: release notes v3.7.0–v3.8.0 footer links to README/CHANGELOG are broken after docs reorgAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
farion1231/cc-switch#7744 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
datafusion
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
apache/iceberg-rust#3297 ·
Los mantenedores suelen responder en 1 día