Skip to content

Commit

Permalink
Fix panic in example due to unset default crypto provider
Browse files Browse the repository at this point in the history
  • Loading branch information
Ralith authored and djc committed May 24, 2024
1 parent 9229c37 commit 772c269
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions quinn/examples/insecure_connection.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,12 @@ async fn run_server(addr: SocketAddr) {
}

async fn run_client(server_addr: SocketAddr) -> Result<(), Box<dyn Error + Send + Sync + 'static>> {
let provider = rustls::crypto::CryptoProvider::get_default().unwrap();
let mut endpoint = Endpoint::client("127.0.0.1:0".parse().unwrap())?;

endpoint.set_default_client_config(ClientConfig::new(Arc::new(QuicClientConfig::try_from(
rustls::ClientConfig::builder()
.dangerous()
.with_custom_certificate_verifier(SkipServerVerification::new(provider.clone()))
.with_custom_certificate_verifier(SkipServerVerification::new())
.with_no_client_auth(),
)?)));

Expand All @@ -64,8 +63,8 @@ async fn run_client(server_addr: SocketAddr) -> Result<(), Box<dyn Error + Send
struct SkipServerVerification(Arc<rustls::crypto::CryptoProvider>);

impl SkipServerVerification {
fn new(provider: Arc<rustls::crypto::CryptoProvider>) -> Arc<Self> {
Arc::new(Self(provider))
fn new() -> Arc<Self> {
Arc::new(Self(Arc::new(rustls::crypto::ring::default_provider())))
}
}

Expand Down

0 comments on commit 772c269

Please sign in to comment.