Compare commits

..

4 Commits

Author SHA1 Message Date
a2e1407578 Update Rustls dependencies
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-17 19:08:38 +01:00
f727ed284f Ran cargo fmt 2024-01-17 18:52:47 +01:00
ddbdb66dee Update tokio-tungstenite on the backend 2024-01-17 18:52:25 +01:00
5242abaf8f Ran cargo update 2024-01-17 18:47:07 +01:00
4 changed files with 568 additions and 516 deletions

1063
rust/Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -30,6 +30,6 @@ semver = "1.0.21"
[dev-dependencies]
#reqwest = { version = "0.11.11", default-features = false, features = ["json", "rustls-tls"] }
tokio-tungstenite = "0.20.1"
tokio-tungstenite = "0.21.0"
serde_urlencoded = "0.7.1"
futures = "0.3.30"

View File

@@ -24,11 +24,12 @@ num = "0.4.1"
num-traits = "0.2.17"
num-derive = "0.4.1"
textwrap = "0.16.0"
tokio-tungstenite = { version = "0.20.1", features = ["__rustls-tls", "rustls-tls-native-roots"] }
tokio-tungstenite = { version = "0.21.0", features = ["__rustls-tls", "rustls-tls-native-roots"] }
serde_urlencoded = "0.7.1"
futures = "0.3.30"
serde_json = "1.0.110"
hostname = "0.3.1"
rustls = "0.21.9"
rustls = "0.22.0"
hyper-rustls = { version = "0.24.2", features = ["rustls-native-certs"] }
reqwest = { version = "0.11", features = ["json", "rustls-tls"], default-features = false }
reqwest = { version = "0.11", features = ["json", "rustls-tls"], default-features = false }
rustls-native-certs = {version = "0.7.0"}

View File

@@ -2,7 +2,6 @@ use crate::cli_args::cli_args;
use crate::server;
use futures::stream::{SplitSink, SplitStream};
use futures::{SinkExt, StreamExt};
use hyper_rustls::ConfigBuilderExt;
use sea_battle_backend::data::*;
use sea_battle_backend::human_player_ws::{ClientMessage, ServerMessage};
use sea_battle_backend::server::{
@@ -127,13 +126,18 @@ impl Client {
let (socket, _) = if ws_url.starts_with("wss") {
// Perform a connection over TLS
let mut roots = rustls::RootCertStore::empty();
for cert in rustls_native_certs::load_native_certs()? {
roots.add(cert).unwrap();
}
let config = rustls::ClientConfig::builder()
.with_safe_defaults()
.with_native_roots()
.with_root_certificates(roots)
.with_no_client_auth();
let connector = tokio_tungstenite::Connector::Rustls(Arc::new(config));
tokio_tungstenite::connect_async_tls_with_config(ws_url, None, false,Some(connector)).await?
tokio_tungstenite::connect_async_tls_with_config(ws_url, None, false, Some(connector))
.await?
} else {
// Perform an unsecure connection
tokio_tungstenite::connect_async(ws_url).await?