Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

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

Đã đóng Phù hợp với người mới
#7,927 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@Bartok9 đang làm issue này rồi.

Từ ngày 30/9/2026.

  • #7998 của @Bartok9 — đang mở

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
92/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
rust
Lĩnh vực
cli, security

Hướng nghiên cứu

Bắt đầu với crates/buzz-pairing-cli/Cargo.toml và điểm vào chính, sau đó so sánh cấu hình rustls trong crates/buzz-cli/src/lib.rs với comment về dependency của nó. Xác minh rằng cấu hình provider khớp với các crate cùng nhóm, rồi chạy các lệnh source và target đã được ghi rõ đối với một relay wss:// và xác nhận handshake hoàn tất mà không xảy ra panic.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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
Ngôn ngữ chính
Rust
Star
36.2k
Fork
4.8k
Merge trung bình
1 ngày 11 giờ
Pull request đã merge (30 ngày)
249

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của block/buzz

Tất cả issue của block/buzz

Issue tương tự

Thêm issue về Rust

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.