From 225aeebe7d7d13cde6bf804c30cd052720edec0c Mon Sep 17 00:00:00 2001 From: parazyd Date: Mon, 27 May 2024 16:24:18 +0200 Subject: [PATCH] net: Install default CryptoProvider for TLS connections --- README.md | 4 ++-- src/net/p2p.rs | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index dc2ecbe8a..55c654970 100644 --- a/README.md +++ b/README.md @@ -99,8 +99,8 @@ to happen from time to time. As a workaround, we can configure an older nightly version, which was known to work: ```shell -% rustup toolchain install nightly-2024-02-01 -% rustup target add wasm32-unknown-unknown --toolchain nightly-2024-02-01 +% rustup toolchain install nightly-2024-04-05 +% rustup target add wasm32-unknown-unknown --toolchain nightly-2024-04-05 ``` Now we can use that toolchain in `make` directly: diff --git a/src/net/p2p.rs b/src/net/p2p.rs index 42c18d2dc..9e3ab583a 100644 --- a/src/net/p2p.rs +++ b/src/net/p2p.rs @@ -19,6 +19,7 @@ use std::sync::Arc; use futures::{stream::FuturesUnordered, TryFutureExt}; +use futures_rustls::rustls::crypto::{ring, CryptoProvider}; use log::{debug, error, info, warn}; use smol::{lock::Mutex, stream::StreamExt}; use url::Url; @@ -81,6 +82,9 @@ impl P2p { pub async fn new(settings: Settings, executor: ExecutorPtr) -> P2pPtr { let settings = Arc::new(settings); + // Register a CryptoProvider for rustls + CryptoProvider::install_default(ring::default_provider()).unwrap(); + let self_ = Arc::new(Self { executor, hosts: Hosts::new(settings.clone()),